PR12.1 — Reviewed External Observation → Neutral Evidence v1¶
Purpose¶
PR12.1 is the first governed transition from the generic PR12.0 external-observation layer into the existing PR2 epistemic layer.
PR12.0 admitted ExternalObservationEnvelope
|
v
exact materialization candidate
|
v
explicit HUMAN review
|
+----------------------+
| |
MATERIALIZE DO_NOT_MATERIALIZE
| |
v v
neutral EvidenceRecord no EvidenceRecord
| |
+----------+-----------+
|
resolver-issued
terminal receipt
The central invariant is:
MATERIALIZED EXTERNAL EVIDENCE
=
ONE EXACT ADMITTED PR12.0 OBSERVATION
+
ONE FROZEN NEUTRAL MAPPING
+
ONE EXACT HUMAN REVIEW
+
ONE RESOLVER-ISSUED TERMINAL RECEIPT
Authority boundaries¶
MATERIALIZE != CLAIM SUPPORT
MATERIALIZE != POSITIVE EVIDENCE
MATERIALIZE != SUCCESS
MATERIALIZE != CAPABILITY
DO_NOT_MATERIALIZE != FAILURE
DO_NOT_MATERIALIZE != CONTRADICTION
DO_NOT_MATERIALIZE != NEGATIVE EVIDENCE
DO_NOT_MATERIALIZE != PERMANENT TOMBSTONE
PR12.1 does not create CapabilityClaim, ClaimEvaluation, PersonalCapabilityState, progression authority, readiness, permission, mastery, or Player Window authority.
No caller-selected evidence semantics¶
The public proposal API accepts only:
It does not accept:
EvidenceId
EvidenceKind
EvidenceOutcome
summary
context
concept_ref
claim_id
score
mastery
readiness
permission
All evidence semantics are derived by the frozen PR12.1 mapping.
The public resolver accepts only:
It has no caller-selected resolved_at. The exact reviewed decision is the terminal time authority for PR12.1 v1.
Deterministic EvidenceId¶
One exact PR12.0 observation has one PR2 EvidenceId:
Therefore:
A caller may create a later review attempt, but cannot multiply one source observation into evidence-1/evidence-2/evidence-3 by choosing new IDs.
Once one resolved EvidenceRecord has been appended to an EpistemicRecordSet, existing PR11.3 append-only succession prevents replacing that retained ID with different record bytes.
Idempotent exact-review resolution¶
Resolution of one exact candidate plus one exact review is deterministic.
SAME ADMITTED OBSERVATION
+ SAME EXACT CANDIDATE
+ SAME EXACT REVIEW
-> SAME EvidenceRecord | None
+ SAME TERMINAL RECEIPT
EvidenceRecord.recorded_at and receipt resolved_at are both exactly review.reviewed_at. A runtime retry therefore cannot create different immutable evidence bytes merely because wall-clock time advanced.
A distinct later human review is a distinct governance act; if it produces different bytes for the same deterministic EvidenceId, unchanged PR11.3 append-only epistemic succession prevents replacement of an already retained record.
RETRY != NEW RESOLUTION
CALLER CLOCK != RESOLUTION AUTHORITY
EXACT REVIEW -> DETERMINISTIC TERMINAL BYTES
Exact source binding without global-ledger staleness¶
A candidate binds the exact observation digest plus its exact subject/source/source-event/form/origin metadata.
It deliberately does not bind the hash of the full continuously growing observation ledger.
But mutation/rebinding of observation A rejects.
Resolution accepts a validated ExternalObservationLedger, not an arbitrary standalone observation. This prevents bypassing the PR12.0 admission boundary.
Human review¶
PR12.1 v1 accepts one declared reviewer kind:
The review binds:
The candidate digest is domain-separated:
The review digest is domain-separated:
PR12.1 does not claim identity authentication or trusted timestamps.
Frozen neutral EvidenceKind mapping¶
ARTIFACT -> EvidenceKind.ARTIFACT
CONVERSATION -> EvidenceKind.CONVERSATION_OBSERVATION
TEXT -> EvidenceKind.OTHER
EVENT -> EvidenceKind.OTHER
BUNDLE -> EvidenceKind.OTHER
OTHER -> EvidenceKind.OTHER
No source event is upgraded to PROJECT, REAL_WORLD_DEMONSTRATION, REPEATED_PERFORMANCE, SUPERVISED_EXERCISE, or SELF_REPORT by this boundary.
ARTIFACT FORM != PROJECT EVIDENCE
EVENT EXISTS != REAL_WORLD_DEMONSTRATION
TEXT EXISTS != SELF_REPORT
BUNDLE EXISTS != PROJECT
Outcome is always absent¶
Every PR12.1 materialized record has:
Even source events named success, completed, passed, or similar do not grant PR12.1 authority to construct EvidenceOutcome.SUCCESS.
Time mapping¶
The source observation times are preserved exactly:
EvidenceRecord.observation_started_at
= observation.observation_started_at
EvidenceRecord.observed_at
= observation.observed_at
EvidenceRecord.recorded_at
= review.reviewed_at
terminal receipt.resolved_at
= review.reviewed_at
The temporal chain is:
The equality is intentional: PR12.1 v1 uses the exact reviewed decision as the deterministic terminal timestamp rather than accepting a retry-sensitive resolver clock.
Context and assistance preservation¶
PR12.0 context factor kinds map mechanically 1:1 to the corresponding PR2 ContextFactorKind:
This preserves AI/tool/automation/collaboration conditions without interpreting them.
The EvidenceContext uses only the neutral scope tag:
No capability/topic tags are inferred.
Payload references and exact source provenance¶
EvidenceRecord payload refs are the source observation payload reference identifiers.
Exact payload hashes, media types, and sizes remain in the PR12.0 source observation. Evidence provenance points back to the exact source observation digest:
The materialization provenance step records the exact materialization id, candidate digest, review id, observation id, and observation digest.
PAYLOAD REF != PAYLOAD CORRECTNESS
OBSERVATION DIGEST != AUTHORSHIP
PROVENANCE != CAPABILITY JUDGMENT
Terminal receipts for both verdicts¶
Unlike the early Pilot materialization shape, PR12.1 issues a terminal receipt for both review outcomes.
For MATERIALIZE:
evidence_id = exact deterministic EvidenceId
evidence_sha256 = exact canonical EvidenceRecord digest
For DO_NOT_MATERIALIZE:
The receipt binds:
materialization_id
candidate_sha256
review_id
review_sha256
verdict
observation_sha256
optional evidence identity/digest
resolved_at = exact review.reviewed_at
The evidence digest domain is:
The receipt carries a private resolver-issued witness whose payload digest uses:
Direct public receipt construction is not valid resolver issuance. Reusing a real witness with dataclasses.replace(...) for a different receipt payload fails validation.
TERMINAL RECEIPT != SIGNATURE
TERMINAL RECEIPT != AUTHENTICATED REVIEWER
TERMINAL RECEIPT != TRUSTED TIME
TERMINAL RECEIPT != EVIDENCE
Strict serialization¶
Candidate and human review artifacts support strict schema-v1 dict/JSON round trips with:
exact fields
schema_version = 1
duplicate-key rejection
unknown/missing-field rejection
non-finite-number rejection
explicit timezone-aware timestamps
strict typed semantic reconstruction
Resolver receipts are not deserialized into authority. Their private issuance witness exists only through the resolver path.
PR11.3 handoff¶
PR12.1 stops after producing:
It does not mutate the epistemic snapshot.
For MATERIALIZE, the next existing governance path is:
predecessor EpistemicRecordSet
+
exact PR12.1 EvidenceRecord
|
v
successor EpistemicRecordSet
|
v
PR11.3 validate_epistemic_snapshot_successor_v1
PR11.3 remains responsible for append-only epistemic persistence.
Closed-loop position¶
After PR12.1 the write/read chain becomes:
external / future HDE work
|
v
PR12.0 observation admission
|
v
PR12.1 human-reviewed neutral evidence
|
v
PR11.3 immutable epistemic append
|
v
existing evaluation / state / acceptance / current chain
|
v
PR11.11 governed product read snapshot
But the following remains false:
Evidence still requires later governed claim evaluation before it can affect capability state.