This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

2026-10-29 — Merge-gate step 5 (itd-2610150602547271, spc-2610161609350616), decided the way that fails closed. While facilitator.mode is human the shell guard refuses every gh pr merge that merges, not only one aimed at a queue: with no queue gating the default branch a plain gh pr merge merges at once, which is the same unapproved merge; only gh pr merge --disable-auto, which withdraws an arming, is let through. Beside the enqueuePullRequest mutation it refuses enablePullRequestAutoMerge, the GraphQL form of gh pr merge --auto. The guard package sits below the resolver (internal/core/landing reads the mode through the layered reader, which imports the guard), so a front door hands the mode in (guard.WithMergeMode, read through landing.ReadDefaultFacilitator); a mode that cannot be read counts as human, and a registry with no mode handed in (the bundled defaults alone) judges no merge command. The approval act, abcd land --approve, is refused in any mode: through the binary by the registry entry abcd-land-approve, which also teaches it, and through go run ./cmd/abcd by the guard's own check, which no pattern can name. A query the guard cannot read (a gh api graphql -F query=@file) is not seen, as a body held in a variable is not. Decided by the agent building steps 4 to 6 under the orchestrator's delegation, 2026-10-29.

decisiondcn-2610291524100325

2026-10-29 — Merge-gate step 5 (itd-2610150602547271, spc-2610161609350616), decided the way that fails closed. While facilitator.mode is human the shell guard refuses every gh pr merge that merges, not only one aimed at a queue: with no queue gating the default branch a plain gh pr merge merges at once, which is the same unapproved merge; only gh pr merge --disable-auto, which withdraws an arming, is let through. Beside the enqueuePullRequest mutation it refuses enablePullRequestAutoMerge, the GraphQL form of gh pr merge --auto. The guard package sits below the resolver (internal/core/landing reads the mode through the layered reader, which imports the guard), so a front door hands the mode in (guard.WithMergeMode, read through landing.ReadDefaultFacilitator); a mode that cannot be read counts as human, and a registry with no mode handed in (the bundled defaults alone) judges no merge command. The approval act, abcd land --approve, is refused in any mode: through the binary by the registry entry abcd-land-approve, which also teaches it, and through go run ./cmd/abcd by the guard's own check, which no pattern can name. A query the guard cannot read (a gh api graphql -F query=@file) is not seen, as a body held in a variable is not. Decided by the agent building steps 4 to 6 under the orchestrator's delegation, 2026-10-29.

Frontmatter

iddcn-2610291524100325
typedecision
date2026-10-29

mentions2