Publish AgentCTL-linked verification receipts through a canonical evidence lane - #4586
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Team Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fc597b5d57
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| }, | ||
| ) | ||
| append_verify_history(payload) | ||
| append_verification_evidence(payload) |
There was a problem hiding this comment.
Preserve interruption status in focused receipts
When a user presses Ctrl-C during devtools test, main finishes the run with diagnosis="pytest_interrupted", but the focused pytest_aggregate does not carry termination_reason; _terminal_status recognizes only verification_interrupted or a termination reason. Publishing that payload here therefore records the newly added evidence-lane receipt with status: "failed" rather than "interrupted", making consumers misclassify an operator interruption as a test failure. Normalize the focused diagnosis or propagate the interruption reason before publication.
Useful? React with 👍 / 👎.
The hourly publication_sweep schedule was the last autonomous dispatcher after the reactor's deletion: its 07:05 run queued 25 harvests and 17 affected-verification jobs and opened #4586 with no one asking. Refill and publication are opt-in (operator ruling); the operation stays, its timer goes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01YGi8wLWGR2HYBh8p8fXFXz Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
fc597b5 to
b469318
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b4693185b6
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| }, | ||
| ) | ||
| append_verify_history(payload) | ||
| append_verification_evidence(payload) |
There was a problem hiding this comment.
Anchor focused evidence to the checkout
When devtools test is invoked from a subdirectory or an external working directory without POLYLOGUE_VERIFICATION_EVIDENCE_PATH, this call resolves the relative default .cache/verify/evidence.jsonl against the caller's current directory rather than ROOT. The focused receipt is therefore absent from the checkout's canonical evidence lane and an unexpected .cache tree is created at the invocation location; this also breaks the existing test_main_anchors_and_refreshes_root_artifacts_from_any_invocation_directory contract. Pass a checkout-anchored path (while preserving an explicitly configured path) before appending.
Useful? React with 👍 / 👎.
Summary
Make CorpusArtifactManifest the sole manifest type for deterministic workload artifacts and remove the retired SeededArchiveManifest compatibility alias. The existing shared WorkloadEnvelopeSpec and WorkloadReceipt contract remains the common carrier for workload identity, phase observations, physical budgets, canaries, and explicit measurement-path dispositions.
Problem
The artifact substrate still exposed a second manifest name after CorpusArtifactManifest became canonical. That preserved a duplicate route and allowed callers to continue depending on the retired name. The packet also requires honest measurement-unavailable handling and anti-vacuity coverage across the shared receipt paths.
Solution
Update manifest readers, validators, builders, clone authentication, garbage-collection helpers, exports, and documentation strings to use CorpusArtifactManifest directly. No semantic expected result is carried by the manifest. The shared receipt implementation and named MCP exact-session and watcher append/cohort canaries are retained and exercised by the focused tests.
Verification
uv run devtools test tests/unit/scenarios/test_workload_receipts.py tests/unit/infra/test_workload_artifacts.pypassed: 99 passed in 1109.24s.uv run devtools test tests/unit/devtools -k workloadpassed: 3 passed, 960 deselected, 1 warning in 39.70s.uv run devtools test tests/unit -k enveloperan 391 tests: 385 passed, 5 failed, and 1 error. The failures are inherited fixture/schema or generated-web-content issues outside this diff: query execution fixture tool-outcome evidence, deployment smoke schema version, coordination archive fixtures, and selection-shell asset text.uv run devtools verify --quickpassed after rebasing onto origin/master. All 17 gates reported ok, including oracle-integrity, consumer-reachability, and schema promotion/privacy checks.Residual risk
The broad envelope selector retains six unrelated inherited failures. This lane does not claim live MCP or daemon incident measurements; those remain host-dependent observations. The implementation still has a hand-maintained measurement-path declaration inventory rather than kernel-derived declarations.
Receipt: harvest-9f47be2329feabfe966827aeaff273c6
Bead: polylogue-a74ru
Authorized-By: operator (additive receipt provenance, tested; gate-path flag only)