From 6f3e392c85f366e573c46de4f991575e7d871f89 Mon Sep 17 00:00:00 2001 From: 0xLeif Date: Sat, 18 Jul 2026 12:45:53 -0600 Subject: [PATCH 1/3] Document multi-agent ticket claiming convention --- AGENTS.md | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 5cf8c04..03df0f1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -19,10 +19,10 @@ fledge trust verify # full trust gate when tools are installed ./Scripts/smoke.sh ``` -## Agent ticket claims (Cursor + Kimi) +## Multi-agent ticket claiming -Multiple agents may fan out across GitHub issues. Claim with a label before -starting work so two agents never own the same ticket. +Multiple agents (Kimi, Cursor, others) work GitHub issues autonomously in +this repo. Coordinate through labels, not assignees: | Label | Agent | |-------|--------| @@ -31,15 +31,18 @@ starting work so two agents never own the same ticket. Rules: -1. Before picking up an issue, read its labels. Skip if `agent:cursor` or - `agent:kimi` is already present (unless you added it). -2. Claim by adding **your** label only (`agent:cursor` for Cursor agents). - One agent label per ticket. -3. Fan out subagents only on tickets you have claimed. Pass the issue number +1. Before picking up an issue, read its labels and linked PRs. Skip if an + `agent:*` label or a linked open PR is present (unless the label is yours). +2. Claim by adding your `agent:` label only, and comment with your + agent name and working branch. +3. One agent label per ticket, one ticket per branch/PR. +4. Fan out subagents only on tickets you have claimed. Pass the issue number and claim label into each subagent prompt. -4. Remove your agent label when the implementing PR is open, or when you stop - work without a PR, so another agent can take it. -5. Prefer unclaimed open issues. Do not strip another agent's claim label. +5. Remove your label when the implementing PR is open or when you stop work, + and link the outcome so another agent can take it. +6. Prefer unclaimed open issues. Do not strip another agent's claim label. +7. If your `agent:` label does not exist, create it with a description + of the form "Ticket claimed by ". ## CorvidLabs trust toolchain (standing rules) From f1bb8014b4dc4ecb2cdd63fe2f700220efadcf80 Mon Sep 17 00:00:00 2001 From: 0xLeif Date: Sat, 18 Jul 2026 12:49:08 -0600 Subject: [PATCH 2/3] Add worktree rule for parallel local agents --- AGENTS.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index 03df0f1..8f49bad 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -44,6 +44,23 @@ Rules: 7. If your `agent:` label does not exist, create it with a description of the form "Ticket claimed by ". +### Worktrees for parallel agents + +Local agents share this checkout, so parallel work needs isolation: one git +worktree per claimed ticket, kept out of the main checkout. + +```sh +git worktree add ../aps-cli-wt/issue-N -b /issue-N- origin/main +``` + +- Work only inside your worktree; leave the main checkout on `main`. +- Each worktree carries its own `.build/`; that is the cost of isolation. +- SpecSync SDD workspaces (`.specsync/changes/`) are per-worktree, so + in-flight tickets merge in order like any other change. +- Remove the worktree and branch once the PR is up. +- Cloud agents (Cursor background, Codex) already run isolated VMs; this + rule is for agents on a shared machine. + ## CorvidLabs trust toolchain (standing rules) From e7aa377e1978cef2325e1ff2158740967ab2569c Mon Sep 17 00:00:00 2001 From: 0xLeif Date: Sat, 18 Jul 2026 13:31:40 -0600 Subject: [PATCH 3/3] Add SpecSync evidence for claiming reconciliation (CHG-0006, CHG-0005 rebind) --- .specsync/change-sequence.json | 4 +- .../approvals.json | 119 +++++++++++++++++- .../state.json | 2 +- .../verification-attempts.json | 15 +++ .../verification.json | 12 +- .../approvals.json | 19 +++ .../change.md | 24 ++++ .../context.md | 19 +++ .../docs.md | 11 ++ .../state.json | 32 +++++ .../verification-attempts.json | 20 +++ .../verification.json | 41 ++++++ 12 files changed, 308 insertions(+), 10 deletions(-) create mode 100644 .specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/approvals.json create mode 100644 .specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/change.md create mode 100644 .specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/context.md create mode 100644 .specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/docs.md create mode 100644 .specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/state.json create mode 100644 .specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/verification-attempts.json create mode 100644 .specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/verification.json diff --git a/.specsync/change-sequence.json b/.specsync/change-sequence.json index 987f4b2..a9615e2 100644 --- a/.specsync/change-sequence.json +++ b/.specsync/change-sequence.json @@ -1,6 +1,6 @@ { "schema_version": 1, - "sequence": 5, - "id": "CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout", + "sequence": 6, + "id": "CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md", "acknowledged_collisions": [] } diff --git a/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/approvals.json b/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/approvals.json index d267de6..c46acc7 100644 --- a/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/approvals.json +++ b/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/approvals.json @@ -20,7 +20,124 @@ "timestamp": 1784400377, "digest": "0601946d0baefc48d2e13cc370b4d5c89b4b6946f9a183f9038d94bb5e01a4c9", "note": "Accepted AGENTS.md agent claim labels for Cursor and Kimi." + }, + { + "gate": "acceptance", + "actor": "0xLeif", + "timestamp": 1784403043, + "digest": "a8c7c9559e9f286497cd7d43613db87358c7524f619c7b5c0ff15a0e1c95ecbe", + "note": null } ], - "reopenings": [] + "reopenings": [ + { + "schema_version": 1, + "change_id": "CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout", + "actor": "0xLeif", + "reason": "AGENTS.md changed by the claiming-rules reconciliation PR after CHG-0005 acceptance; rebinding evidence to current delivery inputs", + "timestamp": 1784403027, + "from_state": "accepted", + "to_state": "verifying", + "superseded_approval": { + "gate": "acceptance", + "actor": "leif algo", + "timestamp": 1784400377, + "digest": "0601946d0baefc48d2e13cc370b4d5c89b4b6946f9a183f9038d94bb5e01a4c9", + "note": "Accepted AGENTS.md agent claim labels for Cursor and Kimi." + }, + "prior_verification": { + "timestamp": 1784400376, + "commit": "2f7adb19349bf8700b736a9b300cfd2435ca176b", + "contract_digest": "e7773fa30314072a410ed7f4d4499c989eb33b606d5448e56cee12f6ab61579e", + "workspace_digest": "c2bf39b531f0468363df2d05834c1cf1bd6ccca207d86b2dce4cea2d730327b1", + "acceptance_input_digest": "30e1dbb99a3a48783f382c0ab2b81d847364b4bb738641407db10676956fc152", + "acceptance_manifest": { + "schema_version": 1, + "entries": [ + { + "path": ".specsync/.gitignore", + "kind": "file", + "mode": 33188, + "payload_digest": "a3129d6f93250ade8dbacfc73bc7eeae0cc47c2f7032142ca47cb4f1ffb2483e", + "entry_digest": "9badbf40b83d05f58bafda0fc2cafccfe726e4da7e6e67ef513e822989e13f04", + "owners": [ + "@exact:delivery" + ] + }, + { + "path": ".specsync/change-sequence.json", + "kind": "file", + "mode": 33188, + "payload_digest": "eb7a89695817446620ade80a9b7e997566a2fcd452cb4604bbb627c7e182993a", + "entry_digest": "bfb44b77cd5c847a2cd20bd348406d2b9d6b95695404ae5c7c591f714f14f024", + "owners": [ + "@exact:delivery" + ] + }, + { + "path": ".specsync/config.toml", + "kind": "file", + "mode": 33188, + "payload_digest": "54a83f6a4a252649bac390d2e936aa0815711fba86b6bfc8ea8fff2fffdfd29b", + "entry_digest": "e60f979233a7db75ce63f4ef42d6f1f7676ad1655a438b9baf78558aba60ec3e", + "owners": [ + "@exact:delivery" + ] + }, + { + "path": ".specsync/registry.toml", + "kind": "file", + "mode": 33188, + "payload_digest": "c423be1a5cf87318f85dc252fe0acd1c1486c5224ddc2d8e19bea1ac9c69c820", + "entry_digest": "7e1f068900ced849b8d1028ca40165fbdc5280ae7f53452f0e57e2710d895848", + "owners": [ + "@exact:delivery" + ] + }, + { + "path": ".specsync/sdd.json", + "kind": "file", + "mode": 33188, + "payload_digest": "2d5fb3058b1ee4ce584c3cda9410c193c4893e272ed459205e58bfde06afc7b0", + "entry_digest": "8c6b11fc5787eb04e7ee651eb15fbf98fc3ea22db37e65423e3d75f99c09df19", + "owners": [ + "@exact:delivery" + ] + }, + { + "path": ".specsync/version", + "kind": "file", + "mode": 33188, + "payload_digest": "f9893302cd3158f3b5aea394dcd2a91574869e9e6ff69e9235b10a3bf8c983fb", + "entry_digest": "f980ba79f6c953bed30303c6b87d8e868ad6a7f4114bf0e745c9099255e665b0", + "owners": [ + "@exact:delivery" + ] + }, + { + "path": "AGENTS.md", + "kind": "file", + "mode": 33188, + "payload_digest": "210e715517e1add05cc7f27ba1e6e83a18350583a84398f6d6b37e9dbcd08f56", + "entry_digest": "5fc38a558b82e9cccf4b09db1761d8c7411ee5a3ad907af97ab109353df48ff8", + "owners": [ + "@exact:delivery" + ] + } + ] + }, + "passed": true, + "commands": [ + { + "command": "fledge lanes run verify", + "success": true, + "exit_code": 0 + } + ], + "requirement_ids": [] + }, + "stale_acceptance_input_digest": "30e1dbb99a3a48783f382c0ab2b81d847364b4bb738641407db10676956fc152", + "current_acceptance_input_digest": "d7ce0c7c9d706d11da5abea5a11b3f2ad1a4f514347a76a6db33bac84ea6c357" + } + ] } diff --git a/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/state.json b/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/state.json index 429e8e8..9bb489e 100644 --- a/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/state.json +++ b/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/state.json @@ -9,7 +9,7 @@ "canonical_applied": true, "base_commit": "2f7adb19349bf8700b736a9b300cfd2435ca176b", "created_at": 1784400356, - "updated_at": 1784400377, + "updated_at": 1784403043, "affected_specs": [], "affected_paths": [ "AGENTS.md", diff --git a/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/verification-attempts.json b/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/verification-attempts.json index 124973f..b58dc54 100644 --- a/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/verification-attempts.json +++ b/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/verification-attempts.json @@ -15,6 +15,21 @@ } ], "requirement_ids": [] + }, + { + "timestamp": 1784403036, + "commit": "f1bb8014b4dc4ecb2cdd63fe2f700220efadcf80", + "contract_digest": "e7773fa30314072a410ed7f4d4499c989eb33b606d5448e56cee12f6ab61579e", + "workspace_digest": "9a37e232d8f833c9a75f0be7e3314112f4e2d32addc4b3dfa975c2d78ee83c2b", + "passed": true, + "commands": [ + { + "command": "fledge lanes run verify", + "success": true, + "exit_code": 0 + } + ], + "requirement_ids": [] } ] } diff --git a/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/verification.json b/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/verification.json index 5ba2f92..54b36d5 100644 --- a/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/verification.json +++ b/.specsync/changes/CHG-0005-document-agent-ticket-claim-labels-for-cursor-and-kimi-fanout/verification.json @@ -1,9 +1,9 @@ { - "timestamp": 1784400376, - "commit": "2f7adb19349bf8700b736a9b300cfd2435ca176b", + "timestamp": 1784403036, + "commit": "f1bb8014b4dc4ecb2cdd63fe2f700220efadcf80", "contract_digest": "e7773fa30314072a410ed7f4d4499c989eb33b606d5448e56cee12f6ab61579e", - "workspace_digest": "c2bf39b531f0468363df2d05834c1cf1bd6ccca207d86b2dce4cea2d730327b1", - "acceptance_input_digest": "30e1dbb99a3a48783f382c0ab2b81d847364b4bb738641407db10676956fc152", + "workspace_digest": "9a37e232d8f833c9a75f0be7e3314112f4e2d32addc4b3dfa975c2d78ee83c2b", + "acceptance_input_digest": "d7ce0c7c9d706d11da5abea5a11b3f2ad1a4f514347a76a6db33bac84ea6c357", "acceptance_manifest": { "schema_version": 1, "entries": [ @@ -71,8 +71,8 @@ "path": "AGENTS.md", "kind": "file", "mode": 33188, - "payload_digest": "210e715517e1add05cc7f27ba1e6e83a18350583a84398f6d6b37e9dbcd08f56", - "entry_digest": "5fc38a558b82e9cccf4b09db1761d8c7411ee5a3ad907af97ab109353df48ff8", + "payload_digest": "24db607212aca9b493157b487bafe6833836abb7169780602e55481d8518a770", + "entry_digest": "2c1e30cfa2c727b63750efe53f6e6fa0950f9599665b479af1d7cbb367315d1f", "owners": [ "@exact:delivery" ] diff --git a/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/approvals.json b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/approvals.json new file mode 100644 index 0000000..87c9a32 --- /dev/null +++ b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/approvals.json @@ -0,0 +1,19 @@ +{ + "approvals": [ + { + "gate": "definition", + "actor": "0xLeif", + "timestamp": 1784402993, + "digest": "a76222b0792503eb5cc9b00874b032d71ff0e940254653516b7e7487796c9d06", + "note": null + }, + { + "gate": "acceptance", + "actor": "0xLeif", + "timestamp": 1784403010, + "digest": "0317c7d6d378f4fb71cfa7e7323959f0c7a9c0718dd9ac0cd9cea336ef308eaf", + "note": null + } + ], + "reopenings": [] +} diff --git a/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/change.md b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/change.md new file mode 100644 index 0000000..c2c99a0 --- /dev/null +++ b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/change.md @@ -0,0 +1,24 @@ +--- +id: CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md +state: accepted +type: documentation +base_commit: f1bb8014b4dc4ecb2cdd63fe2f700220efadcf80 +--- + +# Reconcile agent ticket claiming rules and add worktree guidance in AGENTS.md + +## Intent + +Reconcile agent ticket claiming rules and add worktree guidance in AGENTS.md + +## Affected Canonical Specs + +- None + +## Acceptance Criteria + +- AGENTS.md carries one reconciled Multi-agent ticket claiming section (agent: labels, claim/release lifecycle, label creation) plus a Worktrees for parallel agents subsection; trust contract gate passes on the PR. + +## No-spec Rationale + +Docs-only convention reconciliation; no module contracts change diff --git a/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/context.md b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/context.md new file mode 100644 index 0000000..5af104b --- /dev/null +++ b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/context.md @@ -0,0 +1,19 @@ +--- +change: CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md +artifact: context +--- + +# Context + +PR #2 shipped an "Agent ticket claims" section in AGENTS.md while PR #21 +carried a parallel "Multi-agent ticket claiming" section. The rebase +reconciles both into one section and adds worktree guidance for parallel +local agents sharing one machine. + +## Decisions + +- Keep the label table (`agent:cursor`, `agent:kimi`) and merge both rule + sets: label/PR check before claiming, branch comment on claim, one ticket + per branch/PR, label creation when missing. +- Parallel local agents use per-ticket git worktrees outside the main + checkout; cloud agents are already isolated. diff --git a/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/docs.md b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/docs.md new file mode 100644 index 0000000..f516649 --- /dev/null +++ b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/docs.md @@ -0,0 +1,11 @@ +--- +change: CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md +artifact: docs +--- + +# Docs + +AGENTS.md: one reconciled "Multi-agent ticket claiming" section (label +table, merged rules from PR #2 and PR #21) and a new "Worktrees for +parallel agents" subsection with the worktree command, isolation notes, +and cleanup rules. diff --git a/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/state.json b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/state.json new file mode 100644 index 0000000..2dda4d4 --- /dev/null +++ b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/state.json @@ -0,0 +1,32 @@ +{ + "schema_version": 1, + "id": "CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md", + "slug": "reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md", + "title": "Reconcile agent ticket claiming rules and add worktree guidance in AGENTS.md", + "description": "Reconcile agent ticket claiming rules and add worktree guidance in AGENTS.md", + "kind": "documentation", + "state": "accepted", + "canonical_applied": true, + "base_commit": "f1bb8014b4dc4ecb2cdd63fe2f700220efadcf80", + "created_at": 1784402891, + "updated_at": 1784403010, + "affected_specs": [], + "affected_paths": [ + "AGENTS.md", + ".specsync/change-sequence.json" + ], + "no_spec_change": true, + "no_spec_change_rationale": "Docs-only convention reconciliation; no module contracts change", + "acceptance_criteria": [ + "AGENTS.md carries one reconciled Multi-agent ticket claiming section (agent: labels, claim/release lifecycle, label creation) plus a Worktrees for parallel agents subsection; trust contract gate passes on the PR." + ], + "selected_artifacts": [ + "context", + "docs" + ], + "dependencies": [], + "answers": { + "architecture_risk": "no", + "public_contract": "no" + } +} diff --git a/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/verification-attempts.json b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/verification-attempts.json new file mode 100644 index 0000000..a4cc8a7 --- /dev/null +++ b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/verification-attempts.json @@ -0,0 +1,20 @@ +{ + "schema_version": 1, + "attempts": [ + { + "timestamp": 1784403005, + "commit": "f1bb8014b4dc4ecb2cdd63fe2f700220efadcf80", + "contract_digest": "a76222b0792503eb5cc9b00874b032d71ff0e940254653516b7e7487796c9d06", + "workspace_digest": "9a37e232d8f833c9a75f0be7e3314112f4e2d32addc4b3dfa975c2d78ee83c2b", + "passed": true, + "commands": [ + { + "command": "fledge lanes run verify", + "success": true, + "exit_code": 0 + } + ], + "requirement_ids": [] + } + ] +} diff --git a/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/verification.json b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/verification.json new file mode 100644 index 0000000..0292771 --- /dev/null +++ b/.specsync/changes/CHG-0006-reconcile-agent-ticket-claiming-rules-and-add-worktree-guidance-in-agents-md/verification.json @@ -0,0 +1,41 @@ +{ + "timestamp": 1784403005, + "commit": "f1bb8014b4dc4ecb2cdd63fe2f700220efadcf80", + "contract_digest": "a76222b0792503eb5cc9b00874b032d71ff0e940254653516b7e7487796c9d06", + "workspace_digest": "9a37e232d8f833c9a75f0be7e3314112f4e2d32addc4b3dfa975c2d78ee83c2b", + "acceptance_input_digest": "b6d0fd06d51869066ae9896f81905f81332d2698230d94280397664ee244ec4c", + "acceptance_manifest": { + "schema_version": 1, + "entries": [ + { + "path": ".specsync/change-sequence.json", + "kind": "file", + "mode": 33188, + "payload_digest": "ae43fef95d6c9dbc67604358bce39ead61b0bf0f28a4f31f2317f5cc2221b835", + "entry_digest": "31739cf1acc03f7e695c2a097364ae039fedc11a93f70b2eb5627fb4c99102a2", + "owners": [ + "@exact:delivery" + ] + }, + { + "path": "AGENTS.md", + "kind": "file", + "mode": 33188, + "payload_digest": "24db607212aca9b493157b487bafe6833836abb7169780602e55481d8518a770", + "entry_digest": "2c1e30cfa2c727b63750efe53f6e6fa0950f9599665b479af1d7cbb367315d1f", + "owners": [ + "@exact:delivery" + ] + } + ] + }, + "passed": true, + "commands": [ + { + "command": "fledge lanes run verify", + "success": true, + "exit_code": 0 + } + ], + "requirement_ids": [] +}