Skip to content

Publish AgentCTL-linked verification receipts through a canonical evidence lane - #4586

Merged
Sinity merged 3 commits into
masterfrom
feature/packet/polylogue-a74ru
Sep 3, 2026
Merged

Publish AgentCTL-linked verification receipts through a canonical evidence lane#4586
Sinity merged 3 commits into
masterfrom
feature/packet/polylogue-a74ru

Conversation

@Sinity

@Sinity Sinity commented Sep 3, 2026

Copy link
Copy Markdown
Owner

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.py passed: 99 passed in 1109.24s.

uv run devtools test tests/unit/devtools -k workload passed: 3 passed, 960 deselected, 1 warning in 39.70s.

uv run devtools test tests/unit -k envelope ran 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 --quick passed 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)

@coderabbitai

coderabbitai Bot commented Sep 3, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Team

Run ID: f886a5b4-031e-4777-a513-3ccff3f428fc


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 3, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-03T18:01:23.136655Z b469318 New commits
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread devtools/run_tests.py
},
)
append_verify_history(payload)
append_verification_evidence(payload)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

Sinity added a commit that referenced this pull request Sep 3, 2026
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>
@Sinity Sinity changed the title refactor(test): make corpus manifests canonical Publish AgentCTL-linked verification receipts through a canonical evidence lane Sep 3, 2026
@Sinity
Sinity force-pushed the feature/packet/polylogue-a74ru branch from fc597b5 to b469318 Compare September 3, 2026 17:58
@Sinity
Sinity enabled auto-merge (squash) September 3, 2026 18:00

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread devtools/run_tests.py
},
)
append_verify_history(payload)
append_verification_evidence(payload)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

@Sinity
Sinity merged commit 23ae3be into master Sep 3, 2026
3 of 4 checks passed
@Sinity
Sinity deleted the feature/packet/polylogue-a74ru branch September 3, 2026 18:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant