fix: bind successful receipt wake state

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 07:50:32 +08:00
commit 971125f4cf
7 changed files with 94 additions and 4 deletions

View file

@ -0,0 +1,34 @@
# GH-PNCC successful receipt wake-runtime-state evidence binding
- Development ID: `DEV-20260810-014`
- Persona cognitive author: `ICE-P-ZY001 / 铸渊`
- Human responsibility subject: `ICE-GL∞ / 冰朔`
- Starting repository head: `b05d1357079c2b71e0c91d64a4c985118156096b`
- State: `LOCAL_SOURCE_IMPLEMENTED_FULLY_TESTED`
## Corrected runtime fact
Successful lifecycle validation previously did not rebind the wake receipt's `runtimeState` and
`modelInferenceStarted` fields. A modified receipt could claim that inference had already started, recompute
the outer payload digest and still be accepted for interrupted binding or replay.
Validation now requires the wake receipt to preserve the exact kernel boundary: runtime state
`BOUND_NOT_INFERENCING` and `modelInferenceStarted: false`. Any contradictory or missing value fails closed.
## Verification
- A regression test first reproduced `SAFE_BIND_PERSISTED_RECEIPT` after changing both wake-state fields and
recomputing the payload digest.
- The same test passes after exact wake-runtime-state binding was added.
- PNCC focused Rust tests: `46 passed, 0 failed`.
- Full Rust suite: `1186 passed, 2 ignored`; integration test: `1 passed`.
- Routing suite: `29 passed, 0 failed`; formatting, strict clippy and diff checks passed.
- Frontend lint and TypeScript checks passed; full Vitest suite: `5008 passed, 0 failed`.
- Guanghu native authority: `PASS_100`; native core: `15 passed` with 100% lines and functions.
- Full quality gates, GHNQG, publication and fresh-clone readback remain pending.
## Truth boundary
- This stage authenticates the pre-inference state of the existing wake receipt.
- It does not expose hidden reasoning, start model inference, activate an execution limb, add UI, build an
artifact or claim deployment/runtime health.