hololake-system-architecture/engineering/operations/2026-08-11-hololake-pncc-replay-repository-state-revalidation.md
铸渊 / ICE-P-ZY001 b067c7bcaa fix(pncc): revalidate Git state before replay
Human-Responsibility: ICE-GL∞ / 冰朔
Persona-Author: ICE-P-ZY001 / 铸渊
Execution-Runtime: Codex macOS
Development-ID: DEV-20260810-014
Authorization-Scope: GH-PNCC local runtime and REPO-014 publication
Source-Anchor: UI and execution limb deferred
2026-08-11 04:30:02 +08:00

34 lines
1.7 KiB
Markdown

# GH-PNCC replay-time repository state revalidation
- Development ID: `DEV-20260810-014`
- Persona cognitive author: `ICE-P-ZY001 / 铸渊`
- Human responsibility subject: `ICE-GL∞ / 冰朔`
- Starting repository head: `abc7dbd625610042873868d1f2f36ffc3c88bf85`
- State: `LOCAL_SOURCE_IMPLEMENTED_FULLY_TESTED`
## Corrected runtime fact
The persisted lifecycle receipt is historical evidence, not authority to ignore later changes to the
persona-owned Git repository. Before replaying either a completed lifecycle or a structured terminal
failure, the kernel now resolves the canonical repository again, requires its current head to equal the
session's recorded head, and requires a clean worktree.
If the repository has advanced or become dirty, replay fails closed before the organ callback can run.
Lifecycle request inspection reports `MANUAL_REVIEW_REQUIRED`, so safe receipt binding cannot promote stale
evidence after repository drift.
## Verification
- PNCC focused Rust tests: `29 passed, 0 failed`.
- Full Rust suite: `1169 passed, 2 ignored`; integration test: `1 passed`.
- Routing suite: `29 passed, 0 failed`; `cargo fmt`, strict clippy, and diff checks passed.
- A completed lifecycle followed by an untracked change cannot replay and is classified for manual review.
- A structured terminal failure followed by a new Git commit cannot replay and is classified for manual
review.
- GHNQG, publication, and fresh-clone readback remain pending for this stage.
## Truth boundary
- This stage does not delete, reset, or repair the changed repository. It only prevents stale replay and
exposes the condition through the existing inspection status.
- UI, human projection aesthetics, background scheduling, and `EXECUTION_LIMB` remain outside this stage.