You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Align read-first prose with the contract's agent_read_order
The runtime contract (contract --json → agent_read_order), llms.txt,
AGENTS.md, .well-known, and docs/agent-contract-current.md § Two read
entry points all name agent-handoff.json as the first artifact a coding
agent reads after verify — but README told agents "read verifier.json
first" in two places (the Verify-first quickstart and the copy-into-
your-agent block) while telling them "read agent-handoff.json.gate.
merge_verdict first" a few lines later, and the "What it produces" list
claimed "in read order" with verifier.json ahead of the handoff. The
/shipgate slash command carried the same stale sentence.
Fix the three README spots and the slash command to lead with
agent-handoff.json (gate.merge_verdict, then controller) and present
verifier.json as the authoritative controller substrate, matching the
contract doc's language. No field or artifact semantics change.
Guard: new test_read_first_instructions_match_contract_agent_read_order
in tests/test_public_surface_contract.py pins every "Read `<artifact>`
first" instruction on README.md, AGENTS.md, llms.txt, and
.claude/commands/shipgate.md to the runtime contract's
agent_read_order[0], so the two orderings cannot ship simultaneously
again. Verified to fail on the old verifier-first phrasing.
(.well-known's machine-readable agent_read_order and primary_commands
were already contract-validated by existing tests in this file.)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
`fix_task`), then supporting/provisional `capability_review.top_changes` and
285
287
`agents-shipgate-reports/report.json` for `release_decision.decision`. Do not
286
288
claim completion when `merge_verdict` is `blocked`, `insufficient_evidence`, or
287
289
`human_review_required` unless the user explicitly accepts human review. Do not auto-assert approval. Do not auto-assert confirmation, idempotency,
@@ -486,8 +488,8 @@ and pre-commit equivalents.
486
488
When a PR changes what your agent can do, the verify loop writes these
487
489
artifacts — in read order:
488
490
489
-
- **`agents-shipgate-reports/verifier.json`** — the **primary PR/controller evidence artifact**. A coding agent reads `merge_verdict` (`mergeable | human_review_required | insufficient_evidence | blocked | unknown`), `can_merge_without_human`, `agent_controller`, `first_next_action`, and `fix_task` when producing reviewer evidence for an agent-capability PR. Local control comes from `shipgate check --format codex-boundary-json` and `shipgate.codex_boundary_result/v1`. See [`docs/agent-contract-current.md`](docs/agent-contract-current.md) for the field contract.
490
-
- **`agents-shipgate-reports/agent-handoff.json`** — the compact `shipgate.agent_handoff/v1` object for coding agents. It projects `gate`, `controller`, `blocked_by[]`, `remediation_plan[]`, and verify-run reproducibility from existing artifacts; it does not introduce a second verdict.
491
+
- **`agents-shipgate-reports/agent-handoff.json`** — the **first artifact a coding agent reads**: the compact `shipgate.agent_handoff/v1` object. Lead with `gate.merge_verdict`, then `controller`; it also projects `blocked_by[]`, `remediation_plan[]`, and verify-run reproducibility from existing artifacts, and it does not introduce a second verdict.
492
+
- **`agents-shipgate-reports/verifier.json`** — the **authoritative PR/controller evidence substrate**. A coding agent reads `merge_verdict` (`mergeable | human_review_required | insufficient_evidence | blocked | unknown`), `can_merge_without_human`, `agent_controller`, `first_next_action`, and `fix_task` when producing reviewer evidence for an agent-capability PR. Local control comes from `shipgate check --format codex-boundary-json` and `shipgate.codex_boundary_result/v1`. See [`docs/agent-contract-current.md`](docs/agent-contract-current.md) for the field contract.
491
493
- **`agents-shipgate-reports/verify-run.json`** — the deterministic verify-run reproducibility artifact. It records stable subject/input hashes, policy-pack hashes, outcome, artifact paths, and `run_id` without wall-clock timestamps.
492
494
- **`agents-shipgate-reports/attestation.json`** + **`agents-shipgate-reports/org-evidence-bundle.json`** — optional organization-governance projections over the same verifier/report artifacts. They are ledger inputs for platform teams, not release gates; `report.json.release_decision.decision` remains the decision engine.
493
495
- **`agents-shipgate-reports/host-grants.json`** + **`agents-shipgate-reports/org-status.json`** — optional fleet-governance artifacts from `audit --host --out` and `org status --json`, useful for host-grant drift, policy-pack pin state, and exception hygiene.
0 commit comments