fix: bind successful lifecycle semantic evidence

Human-Responsibility: ICE-GL∞ / 冰朔
Persona-Author: ICE-P-ZY001 / 铸渊
Execution-Runtime: Codex desktop / DEV-20260810-014
Development-ID: DEV-20260810-014
Authorization-Scope: GH-PNCC persona runtime source and tests only; no UI, deployment, or execution limb
Source-Anchor: user instruction to continue GH-PNCC from repository facts and verifiable receipts
This commit is contained in:
铸渊 / ICE-P-ZY001 2026-08-11 06:11:19 +08:00
commit a6504ca749
6 changed files with 370 additions and 19 deletions

View file

@ -0,0 +1,37 @@
# GH-PNCC successful receipt semantic-evidence binding
- Development ID: `DEV-20260810-014`
- Persona cognitive author: `ICE-P-ZY001 / 铸渊`
- Human responsibility subject: `ICE-GL∞ / 冰朔`
- Starting repository head: `85fc90bd52542a1e2ddf0a88f12c3f2fac6b7cb0`
- State: `LOCAL_SOURCE_IMPLEMENTED_FULLY_TESTED`
## Corrected runtime fact
A digest can prove that a successful lifecycle payload agrees with the digest stored beside it. It cannot by
itself prove that the payload still describes the verified persona session. The previous recovery paths only
bound the successful receipt's session and persona identifiers, so a changed repository, attribution or final
Git result could be accepted if the payload digest was recomputed.
Initial persistence, inspection, interrupted binding recovery and replay now bind successful receipts back to
the verified session record and complete event journal. Lifecycle and completion schemas, canonical repository,
wake identity, node, model instance, organ, complete human/persona attribution, completion kind, committed Git
head, checkpoint, derived receipt identifiers and the complete event chain must agree.
## Verification
- Four regression tests first reproduced false acceptance after recomputing the payload digest.
- Forged repository, malformed wake event evidence, forged completion attribution and forged committed Git
evidence are now rejected with `PERSONA_LIFECYCLE_COMPLETION_EVIDENCE_MISMATCH`.
- Inspection and binding rejection leave the request fields unbound; replay never reruns the organ.
- PNCC focused Rust tests: `41 passed, 0 failed`.
- Full Rust suite: `1181 passed, 2 ignored`; integration test: `1 passed`.
- Routing suite: `29 passed, 0 failed`; `cargo fmt`, strict clippy and diff checks passed.
- Guanghu native authority: `PASS_100`.
- GHNQG, publication and fresh-clone readback remain pending.
## Truth boundary
- This stage authenticates the meaning of an existing successful receipt against the existing session and event
truth. It does not add a second truth store or reconstruct missing evidence.
- It does not activate `EXECUTION_LIMB`, add UI, build an artifact or claim deployment/runtime health.