Repository navigation
fix: record verification retention and signed historical custody - #1781
ViperJuice wants to merge 2 commits into
Conversation
ViperJuice
left a comment
There was a problem hiding this comment.
Merge decision: HOLD at a4d7d24. I independently ran the 43 artifact-retention tests: all passed. Two additional real-producer cases need correction before merge:
-
Pinned verification still blocks closeout. In a fresh committed fixture repository ignoring /.dev-skills/ and /.phase-loop/, call run_verification with phase_alias='TEST', python_pin=sys.executable, a run directory .dev-skills/runs/test-run, and one successful Python command. audit_ignored_outputs(repo, 'TEST') retains verification.json/log but reports _interp_shim/_selected_python, _interp_shim/python and _interp_shim/python3 as unknown, blocks=true. These are outputs of the same supported producer, not legacy artifacts. Define their bounded lifecycle/ownership and test pinned and requires-python paths; do not broadly exempt the run directory or adopt arbitrary symlinks.
-
Supported phase override now raises after verification executes. With PHASE_LOOP_PHASE_ALIAS=OVERRIDE and phase_alias='TEST', run_verification raises RetentionError('verification run or phase mismatch'). The artifact uses _phase_alias's documented environment precedence while retention_start/finished use the raw argument. Resolve and bind one effective phase consistently before effects, preserving supported precedence, and add regression coverage for both override variables.
These are functional closeout/compatibility findings, not claims of unauthorized acceptance. Original evidence must remain unchanged. Required suite gate is still pending; no Gate A clean-room success or cross-vendor source acceptance was established by this review. PRODALIGN/adoption and installation remain separate.
|
CI diagnosis and repair: run 40619482070 had one underlying failure, test_runtime_launch_references_match_the_classified_inventory; the hosted fallback and suite gate failures were downstream aggregates. Hosted result: 1 failed, 14541 passed, 651 skipped, 1 xfailed. The missing entries were the five new artifact_retention file/process references. Pushed ordinary fast-forward 9314e9b adding exactly those five classified inventory entries (file access: host-io; Git metadata and SSH signature verification: operator-out-of-scope). No product source or evidence changed. The exact inventory test now passes locally (1 passed); git diff --check passed. Fresh hosted checks must validate the new head. Merge remains held for the two functional review findings already recorded: interpreter-shim retention and effective phase consistency. This inventory repair does not close either finding or authorize legacy adoption/installation. |
Verification outputs under
.dev-skills/runscurrently remain unattributed even when the runtime itself just wrote them. This change records their production and adds an explicit, operator-signed custody route for historical artifacts. Both are retention only: failed runs and reviews retain their outcome, and phase acceptance is unchanged.Related: #1772. This draft addresses prospective verification production and historical adoption; it does not automatically instrument every review writer or claim the issue's affected phases are complete.
The audit checks exact artifact bytes, checkout/repository identity, source ancestry, run identity and explicit consuming phases. Historical custody uses SSH signatures against an operator-managed allowed-signers file outside the repository; the command does not enroll keys. Migration instructions are in
docs/phase-loop/closeout-generated-outputs.md.Validation:
make check: 680 passed, 7 skipped, 42 setup errors from existing fixtures targeting an unwritable/mnt/workspace/worktrees, plus one existing closeout redaction failure. The latter reproduces against a pristine export of upstream main with the same interpreter. These limitations are not reported as a green full suite.Draft boundaries: independent review, hosted checks and Gate A remain pending before merge. No runtime installation, operator trust provisioning, historical adoption or phase acceptance has been performed.
Need help on this PR? Tag
@codesmith-botwith what you need.