core/teaching/proposals/proposals.jsonl
Shay b24796386e feat(teaching): implement ADR-0094 — Proposal Source Provenance
Sealed ProposalSource type widening TeachingChainProposal and
PackMutationProposal schemas with typed (kind, source_id,
emitted_at_revision) provenance. Schema-only widening; no runtime
behavior changes. Unblocks ADR-0095 miner-sourced proposals.

- new teaching/source.py: frozen ProposalSource dataclass with sealed
  ProposalKind Literal["operator","miner","curriculum"], runtime
  invariants (operator → empty source_id; miner/curriculum → non-empty),
  serialize() ("operator" / "miner:<id>" / "curriculum:<id>"),
  as_dict/from_dict round-trip, ProposalSource.operator() helper
- TeachingChainProposal.source field added (proposals.py)
- PackMutationProposal.source field added (store.py)
- build_proposal() accepts optional source kwarg; default uses
  _default_operator_source() pinned at cached git HEAD SHA
- ProposalLog.current_state() now strictly requires source on every
  created event; raises ProposalError with migration pointer if missing;
  validates via ProposalSource.from_dict so malformed payloads reject
- teaching/migrate_proposals_source_field.py: deterministic one-shot
  migration script using PRE_MIGRATION_SENTINEL ("pre-adr-0094-migration")
  as the emitted_at_revision so re-runs across commits produce identical
  bytes
- migration applied to live proposals.jsonl: 11 created events gained
  source field; 33 non-created events untouched; idempotent verified
- 29 unit tests in test_proposal_source.py covering construction,
  serialization, exhaustive-match pattern with assert_never,
  migration determinism (3 idempotence/cross-run tests), strict-parse
  rejection, live-log loads
- 2 test fixes in test_epistemic_invariants.py for new required source param
- smoke 67/67, teaching 17/17, cognition 120/121 (1 pre-existing skip),
  runtime 19/19; cognition eval byte-identical 100/100/100/100
2026-05-21 18:11:09 -07:00

44 lines
15 KiB
JSON

{"event":"created","proposal":{"claim_domain":"factual","evidence":[{"epistemic_status":"coherent","polarity":"affirms","ref":"cause_truth_grounds_knowledge","source":"corpus"}],"operator_note":"","polarity":"affirms","proposal_id":"39d09297759f5bfa54e037d089a9fd11","proposed_chain":{"connective":"requires","intent":"cause","object":"knowledge","subject":"understanding"},"provenance":null,"replay_evidence":null,"review_state":"pending","source":{"emitted_at_revision":"pre-adr-0094-migration","kind":"operator","source_id":""},"source_candidate_id":"a199f13dba127a34cb8fa4bf28728020bec932e6b55c24c93ee1ef1be8d51063"}}
{"event":"replay","proposal_id":"39d09297759f5bfa54e037d089a9fd11","replay_evidence":{"baseline":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"candidate":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"regressed_metrics":[],"replay_equivalent":true}}
{"event":"created","proposal":{"claim_domain":"factual","evidence":[{"epistemic_status":"coherent","polarity":"affirms","ref":"cause_wisdom_orders_judgment","source":"corpus"}],"operator_note":"","polarity":"affirms","proposal_id":"944c6c5180819c9194765f32dbc31714","proposed_chain":{"connective":"requires","intent":"cause","object":"wisdom","subject":"judgment"},"provenance":null,"replay_evidence":null,"review_state":"pending","source":{"emitted_at_revision":"pre-adr-0094-migration","kind":"operator","source_id":""},"source_candidate_id":"1f1a1387a4cd1cecb27dc6fb37af0e3322afd8bc23b6abeb9c9c0e5e606cf91a"}}
{"event":"replay","proposal_id":"944c6c5180819c9194765f32dbc31714","replay_evidence":{"baseline":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"candidate":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"regressed_metrics":[],"replay_equivalent":true}}
{"event":"created","proposal":{"claim_domain":"factual","evidence":[{"epistemic_status":"coherent","polarity":"affirms","ref":"cause_truth_grounds_knowledge","source":"corpus"}],"operator_note":"","polarity":"affirms","proposal_id":"a5647f07a0227d1853f926d439603f28","proposed_chain":{"connective":"grounds","intent":"verification","object":"knowledge","subject":"evidence"},"provenance":null,"replay_evidence":null,"review_state":"pending","source":{"emitted_at_revision":"pre-adr-0094-migration","kind":"operator","source_id":""},"source_candidate_id":"b568e12273ddac1c0bf6e611ae331febcffc9f4df7a47df7f575416277d288f1"}}
{"event":"replay","proposal_id":"a5647f07a0227d1853f926d439603f28","replay_evidence":{"baseline":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"candidate":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"regressed_metrics":[],"replay_equivalent":true}}
{"event":"created","proposal":{"claim_domain":"factual","evidence":[{"epistemic_status":"coherent","polarity":"affirms","ref":"cause_knowledge_requires_evidence","source":"corpus"}],"operator_note":"","polarity":"affirms","proposal_id":"bb01f8acd6f5db144bdac21a6f754dc7","proposed_chain":{"connective":"requires","intent":"cause","object":"evidence","subject":"inference"},"provenance":null,"replay_evidence":null,"review_state":"pending","source":{"emitted_at_revision":"pre-adr-0094-migration","kind":"operator","source_id":""},"source_candidate_id":"a4e1560e3e65f32d2b77496d9fe819038a9c0df2d7c8112fa8aaf6347b7b7081"}}
{"event":"replay","proposal_id":"bb01f8acd6f5db144bdac21a6f754dc7","replay_evidence":{"baseline":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"candidate":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"regressed_metrics":[],"replay_equivalent":true}}
{"event":"transition","note":"Epistemology v1: understanding requires knowledge","proposal_id":"39d09297759f5bfa54e037d089a9fd11","to":"accepted"}
{"chain_id":"cause_understanding_requires_knowledge","event":"accepted_corpus_append","proposal_id":"39d09297759f5bfa54e037d089a9fd11","provenance":{"adr_id":"adr-0057","raw":"adr-0057:discovery_promoted:2026-05-18","review_date":"2026-05-18","source":"discovery_promoted"}}
{"event":"transition","note":"Epistemology v1: judgment requires wisdom","proposal_id":"944c6c5180819c9194765f32dbc31714","to":"accepted"}
{"chain_id":"cause_judgment_requires_wisdom","event":"accepted_corpus_append","proposal_id":"944c6c5180819c9194765f32dbc31714","provenance":{"adr_id":"adr-0057","raw":"adr-0057:discovery_promoted:2026-05-18","review_date":"2026-05-18","source":"discovery_promoted"}}
{"event":"transition","note":"Epistemology v1: evidence grounds knowledge","proposal_id":"a5647f07a0227d1853f926d439603f28","to":"accepted"}
{"chain_id":"verification_evidence_grounds_knowledge","event":"accepted_corpus_append","proposal_id":"a5647f07a0227d1853f926d439603f28","provenance":{"adr_id":"adr-0057","raw":"adr-0057:discovery_promoted:2026-05-18","review_date":"2026-05-18","source":"discovery_promoted"}}
{"event":"transition","note":"Epistemology v1: inference requires evidence","proposal_id":"bb01f8acd6f5db144bdac21a6f754dc7","to":"accepted"}
{"chain_id":"cause_inference_requires_evidence","event":"accepted_corpus_append","proposal_id":"bb01f8acd6f5db144bdac21a6f754dc7","provenance":{"adr_id":"adr-0057","raw":"adr-0057:discovery_promoted:2026-05-18","review_date":"2026-05-18","source":"discovery_promoted"}}
{"event":"created","proposal":{"claim_domain":"factual","evidence":[{"epistemic_status":"coherent","polarity":"affirms","ref":"cause_creation_reveals_meaning","source":"corpus"}],"operator_note":"","polarity":"affirms","proposal_id":"016252428267e4f339969524988c4794","proposed_chain":{"connective":"reveals","intent":"cause","object":"meaning","subject":"thought"},"provenance":null,"replay_evidence":null,"review_state":"pending","source":{"emitted_at_revision":"pre-adr-0094-migration","kind":"operator","source_id":""},"source_candidate_id":"17673a2f15c8da21cbfa35328e7c477d53ba6b401651f0245f22558d2dfdeae8"}}
{"event":"replay","proposal_id":"016252428267e4f339969524988c4794","replay_evidence":{"baseline":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"candidate":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"regressed_metrics":[],"replay_equivalent":true}}
{"event":"created","proposal":{"claim_domain":"factual","evidence":[{"epistemic_status":"coherent","polarity":"affirms","ref":"cause_truth_grounds_knowledge","source":"corpus"}],"operator_note":"","polarity":"affirms","proposal_id":"d3cd931dea69e06bd2c697276ae650d1","proposed_chain":{"connective":"reveals","intent":"cause","object":"understanding","subject":"question"},"provenance":null,"replay_evidence":null,"review_state":"pending","source":{"emitted_at_revision":"pre-adr-0094-migration","kind":"operator","source_id":""},"source_candidate_id":"f91d991bb80a7bb19811dafb1223a80613ded7ad4fcdf0ec0ff987f1a77bc50a"}}
{"event":"replay","proposal_id":"d3cd931dea69e06bd2c697276ae650d1","replay_evidence":{"baseline":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"candidate":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"regressed_metrics":[],"replay_equivalent":true}}
{"event":"created","proposal":{"claim_domain":"factual","evidence":[{"epistemic_status":"coherent","polarity":"affirms","ref":"cause_truth_grounds_knowledge","source":"corpus"}],"operator_note":"","polarity":"affirms","proposal_id":"ef0666a6ee15f7c595efae1d8e5ea028","proposed_chain":{"connective":"grounds","intent":"cause","object":"concept","subject":"definition"},"provenance":null,"replay_evidence":null,"review_state":"pending","source":{"emitted_at_revision":"pre-adr-0094-migration","kind":"operator","source_id":""},"source_candidate_id":"60f3b19f100b087dc80555b19de654d70190b7cc096310369fcc6d0b379d4659"}}
{"event":"replay","proposal_id":"ef0666a6ee15f7c595efae1d8e5ea028","replay_evidence":{"baseline":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"candidate":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"regressed_metrics":[],"replay_equivalent":true}}
{"event":"created","proposal":{"claim_domain":"factual","evidence":[{"epistemic_status":"coherent","polarity":"affirms","ref":"cause_truth_grounds_knowledge","source":"corpus"}],"operator_note":"","polarity":"affirms","proposal_id":"a19e8ffc0382c254a8d159cf95eb75aa","proposed_chain":{"connective":"grounds","intent":"cause","object":"understanding","subject":"meaning"},"provenance":null,"replay_evidence":null,"review_state":"pending","source":{"emitted_at_revision":"pre-adr-0094-migration","kind":"operator","source_id":""},"source_candidate_id":"7283546caaa0d273aad0b367bd5c556e29a6dffb8b41d66bcf7684a5dd290c58"}}
{"event":"replay","proposal_id":"a19e8ffc0382c254a8d159cf95eb75aa","replay_evidence":{"baseline":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"candidate":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"regressed_metrics":[],"replay_equivalent":true}}
{"event":"created","proposal":{"claim_domain":"factual","evidence":[{"epistemic_status":"coherent","polarity":"affirms","ref":"cause_light_reveals_truth","source":"corpus"}],"operator_note":"","polarity":"affirms","proposal_id":"b79daee7d266224225c6f45f91ec2434","proposed_chain":{"connective":"reveals","intent":"cause","object":"relation","subject":"analogy"},"provenance":null,"replay_evidence":null,"review_state":"pending","source":{"emitted_at_revision":"pre-adr-0094-migration","kind":"operator","source_id":""},"source_candidate_id":"b2239f20b5174439afc1e3dd0834af37cc8dc94df3e01bef0c1d1f013b5ed4a3"}}
{"event":"replay","proposal_id":"b79daee7d266224225c6f45f91ec2434","replay_evidence":{"baseline":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"candidate":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"regressed_metrics":[],"replay_equivalent":true}}
{"event":"created","proposal":{"claim_domain":"factual","evidence":[{"epistemic_status":"coherent","polarity":"affirms","ref":"verification_truth_requires_evidence","source":"corpus"}],"operator_note":"","polarity":"affirms","proposal_id":"1652a236fd525f1c5ba3dcd14f8c9b04","proposed_chain":{"connective":"requires","intent":"verification","object":"definition","subject":"concept"},"provenance":null,"replay_evidence":null,"review_state":"pending","source":{"emitted_at_revision":"pre-adr-0094-migration","kind":"operator","source_id":""},"source_candidate_id":"d44fe4f0edd15c215bd8989efa63ad4a7f718757119a60477bc7fc12c7aa07f3"}}
{"event":"replay","proposal_id":"1652a236fd525f1c5ba3dcd14f8c9b04","replay_evidence":{"baseline":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"candidate":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"regressed_metrics":[],"replay_equivalent":true}}
{"event":"created","proposal":{"claim_domain":"factual","evidence":[{"epistemic_status":"coherent","polarity":"affirms","ref":"verification_memory_requires_recall","source":"corpus"}],"operator_note":"","polarity":"affirms","proposal_id":"6ea18d4e5e5a04b8ec5ed6379e0b1140","proposed_chain":{"connective":"reveals","intent":"cause","object":"memory","subject":"recall"},"provenance":null,"replay_evidence":null,"review_state":"pending","source":{"emitted_at_revision":"pre-adr-0094-migration","kind":"operator","source_id":""},"source_candidate_id":"23075c87735406d9ef5da5c7e4027de6f89b459adc947d7a5750f767fd6ac441"}}
{"event":"replay","proposal_id":"6ea18d4e5e5a04b8ec5ed6379e0b1140","replay_evidence":{"baseline":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"candidate":{"intent_accuracy":1.0,"surface_groundedness":1.0,"term_capture_rate":0.9167,"versor_closure_rate":1.0},"regressed_metrics":[],"replay_equivalent":true}}
{"event":"transition","note":"Curriculum v2: thought reveals meaning (cognition-source cluster)","proposal_id":"016252428267e4f339969524988c4794","to":"accepted"}
{"chain_id":"cause_thought_reveals_meaning","event":"accepted_corpus_append","proposal_id":"016252428267e4f339969524988c4794","provenance":{"adr_id":"adr-0057","raw":"adr-0057:discovery_promoted:2026-05-18","review_date":"2026-05-18","source":"discovery_promoted"}}
{"event":"transition","note":"Curriculum v2: question reveals understanding (Socratic doctrine)","proposal_id":"d3cd931dea69e06bd2c697276ae650d1","to":"accepted"}
{"chain_id":"cause_question_reveals_understanding","event":"accepted_corpus_append","proposal_id":"d3cd931dea69e06bd2c697276ae650d1","provenance":{"adr_id":"adr-0057","raw":"adr-0057:discovery_promoted:2026-05-18","review_date":"2026-05-18","source":"discovery_promoted"}}
{"event":"transition","note":"Curriculum v2: definition grounds concept","proposal_id":"ef0666a6ee15f7c595efae1d8e5ea028","to":"accepted"}
{"chain_id":"cause_definition_grounds_concept","event":"accepted_corpus_append","proposal_id":"ef0666a6ee15f7c595efae1d8e5ea028","provenance":{"adr_id":"adr-0057","raw":"adr-0057:discovery_promoted:2026-05-18","review_date":"2026-05-18","source":"discovery_promoted"}}
{"event":"transition","note":"Curriculum v2: meaning grounds understanding","proposal_id":"a19e8ffc0382c254a8d159cf95eb75aa","to":"accepted"}
{"chain_id":"cause_meaning_grounds_understanding","event":"accepted_corpus_append","proposal_id":"a19e8ffc0382c254a8d159cf95eb75aa","provenance":{"adr_id":"adr-0057","raw":"adr-0057:discovery_promoted:2026-05-18","review_date":"2026-05-18","source":"discovery_promoted"}}
{"event":"transition","note":"Curriculum v2: analogy reveals relation","proposal_id":"b79daee7d266224225c6f45f91ec2434","to":"accepted"}
{"chain_id":"cause_analogy_reveals_relation","event":"accepted_corpus_append","proposal_id":"b79daee7d266224225c6f45f91ec2434","provenance":{"adr_id":"adr-0057","raw":"adr-0057:discovery_promoted:2026-05-18","review_date":"2026-05-18","source":"discovery_promoted"}}
{"event":"transition","note":"Curriculum v2: concept requires definition","proposal_id":"1652a236fd525f1c5ba3dcd14f8c9b04","to":"accepted"}
{"chain_id":"verification_concept_requires_definition","event":"accepted_corpus_append","proposal_id":"1652a236fd525f1c5ba3dcd14f8c9b04","provenance":{"adr_id":"adr-0057","raw":"adr-0057:discovery_promoted:2026-05-18","review_date":"2026-05-18","source":"discovery_promoted"}}
{"event":"transition","note":"Curriculum v2: recall reveals memory","proposal_id":"6ea18d4e5e5a04b8ec5ed6379e0b1140","to":"accepted"}
{"chain_id":"cause_recall_reveals_memory","event":"accepted_corpus_append","proposal_id":"6ea18d4e5e5a04b8ec5ed6379e0b1140","provenance":{"adr_id":"adr-0057","raw":"adr-0057:discovery_promoted:2026-05-18","review_date":"2026-05-18","source":"discovery_promoted"}}