# AMF Public Evidence Projection Contract v0.1 Status: working contract for the first AMF v0.18 public evidence projection. This contract is separate from the AMF Reference Architecture. It governs how canonical historical AMF evidence may be transformed into a public, read-only, machine-readable projection. ## Canonical relation ```text CANONICAL HISTORICAL EVIDENCE | | deterministic / read-only derivation v PUBLIC EVIDENCE PROJECTION | +-- never authoritative over its sources ``` ## Invariants 1. **NON-AUTHORITY** — The public projection never supersedes the canonical ledger, receipts, identities, measurements, registries, or historical artifacts. 2. **TRACEABILITY** — Every published scientific claim must resolve to one or more exact canonical source objects. 3. **READ-ONLY** — Generating a projection must not mutate historical AMF state or artifacts. 4. **NO SILENT RE-ADJUDICATION** — Historical values and verdicts are preserved verbatim. A recorded `SUPPORTED`, `REFUTED`, or `INCONCLUSIVE` verdict is never semantically rewritten in the SOURCE layer. 5. **DISCLOSURE BOUNDARY** — Public verification of the executed experiment does not require disclosure of proprietary Scientist planning, candidate ranking, search-policy, operator-selection, or prioritization logic. 6. **REPRODUCIBILITY** — For the same canonical source bytes and the same projection-engine bytes, the scientific projection must be deterministic. Differences must be attributable to a changed source set or changed projection engine. ## Claim origins Scientific claims are classified as: - **SOURCE** — copied without semantic alteration from canonical historical evidence. - **DERIVED_CHECK** — deterministically recomputed from SOURCE claims only to verify consistency. A derived check never replaces the recorded SOURCE value. - **PRESENTATION** — non-scientific wording or UI labels. Presentation text is never authoritative. Origin metadata is required for scientific claims such as parent/child identities, hypothesis, operation, measurements, deltas, evidence role, falsification criteria, verdict, and research consequence. Pure structural fields such as schema or projection ID do not require origin metadata. Every object under `derived_checks` must explicitly record: ```text origin: DERIVED_CHECK ``` A container name such as `derived_checks` is not sufficient by itself to establish claim origin. ## Exact source locators `source_refs` must identify the exact scientific source object, not merely a large containing file when a more precise locator exists. For a Scientific Event Ledger event, the reference should include at least: ```text path event_key event_sha256 ``` `event_type` and `seq` may be included as non-authoritative navigation aids. For an object inside a JSON registry, the reference should include: ```text path json_pointer ``` The projection may additionally include a canonical-object SHA-256 for the referenced registry object. Small single-object files may be referenced by exact path, with their byte hash preserved in the source manifest. ## Projection identity Every materialized projection records: ```text source_set_sha256 projection_engine_id projection_engine_sha256 projection_sha256 ``` `source_set_sha256` is the SHA-256 of the canonical JSON source manifest containing the exact source member paths, byte lengths, and SHA-256 hashes used by the projection. `projection_engine_sha256` identifies the exact projection program bytes. `projection_sha256` is calculated over the canonical JSON representation of the complete projection with `projection.projection_sha256` set to `null`. ## Public / private boundary ### Public evidence The projection may expose the executed scientific chain needed to verify a claim, including: ```text observed deficit hypothesis tested parent / contemporary control selected authorized operation actually executed child realization identity measurement evidence role measurements recorded deltas falsification criteria historical verdict research consequence source receipts / hashes ``` ### Proprietary discovery mechanics The projection does not require disclosure of: ```text unselected candidate experiments candidate ranking planner_score expected-information-value heuristics priority weights search strategy operator-selection rules repair-locus heuristics internal Scientist policy state ``` ## v0.18 g01 canonicalization branch The first projection is bounded to: ```text run_id: 20260914T081215Z experiment: g01-canonicalize-historical-best-v017a21 parent: HISTORICAL_BEST_V017A21 hypothesis: g01-h5-representation-normalization transform: CANONICALIZE_TO_RECORDS_V1 ``` The public claim must use `g01`, not `G1`, to avoid confusion with `AMF-G1-4B-Experimental`. The branch is a research experiment, not the terminal v0.18 qualification outcome. The projection may report the historical `research_confirmed: true` state, but must not add a synthetic `global_qualification: false` field without an exact terminal qualification source binding. The principal public statement for this branch is: > Within AMF v0.18 g01, the representation intervention produced a distinct prediction-system realization while preserving the exact neural adapter and introducing `CANONICALIZE_TO_RECORDS_V1` as the input transformation. The recorded realization states `weights_modified: false`. The phrase “prediction-system realization” is preferred for this branch because the identity artifacts are typed as `PREDICTION_SYSTEM`; broader QIR identity belongs to the AMF architecture and terminal qualification layer. `transform_source_sha256` is described only as the **hash of the transform source used by this realization** unless the hashing scope is separately verified. ## Required fail-closed checks for v0.1 The first generator must fail if any of the following are false: ```text ledger hash chain validates parent and child adapter_tree_sha256 are identical parent and child adapter bytes / relpath are identical parent and child prediction-system content identities are distinct child lineage source is the expected parent child transform is CANONICALIZE_TO_RECORDS_V1 child records weights_modified = false child optimizer_steps = 0 child and parent confirmation measurements use the same confirmation dataset scientific evidence role is SEARCH_CONFIRM freeze receipt SHA-256 is bound into SEARCH_CONFIRM authority freeze timestamp < SEARCH_CONFIRM authority timestamp < both confirmation measurement timestamps confirmation measurement subject_identity_receipt_sha256 matches the exact parent/child subject identity SEARCH_CONFIRM evidence binding measurement_receipt_sha256 matches the exact measurement receipt EXPERIMENT_AUTHORIZED exists and agrees with the executed operation, parent, transform, and zero optimizer-step authorization EXPERIMENT_SUCCEEDED exists after authorization and agrees with the runtime operation and zero optimizer steps recorded adjudication in registry equals the ledger adjudication payload recomputed target/status/worst-family deltas equal the recorded SOURCE deltas recorded experiment verdict remains SUPPORTED recorded hypothesis verdict remains SUPPORTED child is recorded as research_confirmed ledger JSONL is non-empty and terminates with a final newline, matching the native v0.18 ledger reader invariant ``` ## Non-goals of v0.1 This contract does not define a universal `amf_realization.json` or `amf_experiment.json` format. It is intentionally scoped to one historical v0.18 experiment projection. Generalization should follow only after the same projection model survives substantially different operation loci such as LoRA continuation and substrate switch.