Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720362692
slug: a-dependency-is-a-depends-on-line-in-the
date: 2026-10-18
---
2026-10-18 — A dependency is a Depends-On line in the pull request's body (facilitator-on-delegation, itd-2610170634394993 planning prep): a branch's wait on another change is written as Depends-On: #N, which land writes from the agent's declaration and the pass enforces, and the session's short status line mirrors it as a hint only; a field on the claim is not used, since a reservation is per record and per person while a dependency belongs to a change, and the line's exact spelling is plumbing for the brief (grounds: docs.mergify.com/merge-protections/builtin; Zuul's Depends-On footer; itd-2609091034175565)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720366282
slug: the-coordination-pass-runs-on-demand
date: 2026-10-18
---
2026-10-18 — The coordination pass runs on demand (facilitator-on-delegation, itd-2610170634394993 planning prep): land, build, drain and status run the pass from the records they have just fetched before they act; there is no timer lease and no process that must stay alive, and every deadline and expiry is derived when the records are read, as a reservation's release already is (grounds: the draft's research note on controllers; kubernetes.io/docs/concepts/architecture/controller; brief invariant 7; itd-2609151838312703 decision 14; itd-2609091034175565 decision 13)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720369860
slug: a-waiting-branch-is-rebuilt-by-merging
date: 2026-10-18
---
2026-10-18 — A waiting branch is rebuilt by merging, not restacking (facilitator-on-delegation, itd-2610170634394993 planning prep): once its dependency lands, the dependent branch takes the default branch merged in and is never rewritten, because the merge queue lands by merge so the dependency's commits keep their ids, and a restack would break the reachability of resolved_by stamps (RS002, RS003); a restack is used only when the dependency was squash- or rebase-merged by hand, which the review ruleset allows; each rebuild needs a fresh preflight receipt and so takes a load slot (grounds: .abcd/work/rulesets/main-protection.json; main-review.json; AGENTS.md RS002 and RS003; git-spice)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720376153
slug: the-machine-budget-is-the-load-gate-s
date: 2026-10-18
---
2026-10-18 — The machine budget is the load gate's slots, weighted per job (facilitator-on-delegation, itd-2610170634394993 planning prep): preflights, race runs and every other heavy job draw on one pool, the load gate's existing slots (load.preflights), each job weighted, with a dead holder's slot reclaimed as it is now; no second pool is added (grounds: principles/one-canonical-primitive.md; airflow.apache.org pools; internal/core/implement/load_slots.go)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720379757
slug: the-model-budget-stays-a-fixed-count-per
date: 2026-10-18
---
2026-10-18 — The model budget stays a fixed count per abcd run (facilitator-on-delegation, itd-2610170634394993 planning prep): the sub-agent budget remains itd-2610100704270254's count per run from the repository's config, neither shared across sessions nor sized from rate-limit headers, since the product thinker ruled 'each abcd run' on 2026-10-10 and agent work is delegated to the host, so abcd never sees the provider's headers; the draft's press release and model-budget scope condition are to be narrowed to match, which is put to the product thinker to confirm because it edits their confirmed text (grounds: itd-2610100704270254; AGENTS.md host-delegated by default)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720379765
slug: an-autonomous-session-s-credential-is-a
date: 2026-10-18
---
2026-10-18 — An autonomous session's credential is a GitHub App token (facilitator-on-delegation, itd-2610170634394993 planning prep): each session gets a token the repository's App mints for it, short-lived and scoped by repository and permission; a fine-grained personal token is not used, because none can be created through an API and none expires with the session (grounds: docs.github.com authenticating-as-a-github-app-installation; docs.github.com managing-your-personal-access-tokens)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720382472
slug: the-release-cut-s-hold-is-the
date: 2026-10-18
---
2026-10-18 — The release cut's hold is the announcements intent's reservation (facilitator-on-delegation, itd-2610170634394993 planning prep): this intent adds no lease of its own for a release being cut; the merge path already reads the release reservation (grounds: itd-2609151838312703 C7 and decision 2; internal/core/landing/releasehold.go)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720389352
slug: a-hold-is-a-reservation-a-merging
date: 2026-10-18
---
2026-10-18 — A hold is a reservation; a merging announcement informs (facilitator-on-delegation, itd-2610170634394993 planning prep): the pass enforces holds only through reservations and reads a merging announcement as information, so the short status line carries no hold field (grounds: itd-2609151838312703 decisions 2 and 4)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720389628
slug: registering-the-app-takes-one-step-in
date: 2026-10-18
---
2026-10-18 — Registering the App takes one step in the browser (facilitator-on-delegation, itd-2610170634394993 planning prep): creating a GitHub App needs the person on the website once, through the manifest flow, so the draft states it as a step only the person can take, as the checklist draft already lists it, and never promises setup without manual steps (grounds: docs.github.com registering-a-github-app-from-a-manifest; itd-2610170638184486)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720390166
slug: pushes-stay-well-inside-the-forge-s-rate
date: 2026-10-18
---
2026-10-18 — Pushes stay well inside the forge's rate (facilitator-on-delegation, itd-2610170634394993 planning prep): renewals stay at half the two-hour lease, hourly, the short status line is pushed only when it changes, and a refused push backs off, so ten sessions stay far below six pushes a minute (grounds: itd-2609091034175565; internal/core/claim/renewdue.go; docs.github.com repository-limits)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720397774
slug: one-central-view-line-per-working-copy
date: 2026-10-18
---
2026-10-18 — One central-view line per working copy (facilitator-on-delegation, itd-2610170634394993 planning prep): a session in the view is a working copy, keyed on the reservation's existing copy key, since the checkout is the unit of isolation (grounds: itd-2609091034175565 decision 33; AGENTS.md concurrent sessions; internal/core/claim/message.go)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720397970
slug: the-claim-s-generation-number-is-its-tip
date: 2026-10-18
---
2026-10-18 — The claim's generation number is its tip commit (facilitator-on-delegation, itd-2610170634394993 planning prep): every act goes through a fast-forward push, which is already a compare-and-swap, and a take-over moves the tip, so no separate counter is added; the forge enforces the fence only on a push, so for queueing and tagging the criterion says abcd refuses the act, and whether one atomic push can carry the work branch and the renewal together is left to probe at planning (grounds: internal/core/claim/claim.go; internal/core/implement/loop/reservation.go; Chubby section 2.4; git-scm.com/docs/git-push --atomic)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720402007
slug: a-session-s-state-line-is-fixed-form
date: 2026-10-18
---
2026-10-18 — A session's state line is fixed-form (facilitator-on-delegation, itd-2610170634394993 planning prep): the line's state is a stage from a fixed list plus the record ids it waits on, carried on the person's existing abcd-status branch, never free text, and no branch per session is added (grounds: itd-2609151838312703 C3 and decisions 1 and 9; internal/core/claim/stage.go)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720402361
slug: a-session-s-line-carries-its-own-expiry
date: 2026-10-18
---
2026-10-18 — A session's line carries its own expiry (facilitator-on-delegation, itd-2610170634394993 planning prep): a line is renewed and expires on its own, counted from its first fetch, so a session that holds no reservation still shows as live or gone (grounds: itd-2609151838312703 C9; kubernetes.io node leases)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720407459
slug: a-re-submitting-agent-is-given-the
date: 2026-10-18
---
2026-10-18 — A re-submitting agent is given the merged pull requests that touch its footprint (facilitator-on-delegation, itd-2610170634394993 planning prep): the draft's criterion asking for a summary of what landed becomes the list of pull requests merged since the branch's merge base that touch its footprint, which a test can check (grounds: the draft's research note on multi-agent coding, Xia et al.)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720412979
slug: the-mechanism-s-baseline-is-the-shipped
date: 2026-10-18
---
2026-10-18 — The mechanism's baseline is the shipped coordination (facilitator-on-delegation, itd-2610170634394993 planning prep): the falsifier compares a run of three or more headless agents against the same run with only reservations and the load gate, not against agents coordinating by message, which headless agents cannot do (grounds: the draft's Mechanism and Why This Matters sections)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720415625
slug: branch-deletion-is-refused-by-rulesets
date: 2026-10-18
---
2026-10-18 — Branch deletion is refused by rulesets, not by the token (facilitator-on-delegation, itd-2610170634394993 planning prep): a token able to push can also delete branches, so the criterion that a session cannot delete a branch it did not create is narrowed to the protected prefixes the rulesets already guard, and other branches stay deletable (grounds: docs.github.com permissions-required-for-github-apps; brief invariant 16; .abcd/work/rulesets/reservations-protection.json)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720415626
slug: refusing-a-newer-coordination-record
date: 2026-10-18
---
2026-10-18 — Refusing a newer coordination record starts with the release that adds a version (facilitator-on-delegation, itd-2610170634394993 planning prep): readers already shipped ignore an unknown trailer, so the criterion's refusal can hold only from the release that adds a version field, and the criterion says so (grounds: internal/core/claim/message.go; kubernetes.io version-skew-policy)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720427437
slug: the-coordination-stance-has-a-bound
date: 2026-10-18
---
2026-10-18 — The coordination stance has a bound (facilitator-on-delegation, itd-2610170634394993 planning prep): the principle that coordination never lives only in conversation governs facts one agent relies on from another (holds, waits, turns, budgets); a question put to a person, such as the pre-run blocker sweep the product thinker placed in the checklist draft, may travel by message and lands in each session's checklist (grounds: the draft's decision 2; itd-2610170638184486 scope split)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720541206
slug: a-session-s-mode-shows-on-its
date: 2026-10-18
---
2026-10-18 — A session's mode shows on its central-view line (facilitator-on-delegation, itd-2610170634394993 planning prep): the line carries the session's state from the checklist draft's fixed set: working; waiting, with what it waits on and when it next looks; or stopped, which is allowed only while the person is present and is flagged. While the person is away a session with work never stops, and one with nothing it can do is waiting with its next look, so no session reads as idle. This follows the product thinker's ruling that the person must never wrongly believe agents are working or waiting (grounds: the draft's decision 6; itd-2610170638184486 modes)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180720548066
slug: a-waiting-session-wakes-before-half-its
date: 2026-10-18
---
2026-10-18 — A waiting session wakes before half its lease (facilitator-on-delegation, itd-2610170634394993 planning prep): since no process stays alive and a branch is rebuilt only when its agent asks to land, a session waiting on a dependency wakes, through the checklist draft's timed wake, at an interval shorter than half its reservations' lease, so an idle waiter's reservations are renewed rather than lapsing after two hours and being taken over (grounds: itd-2609091034175565 two-hour lease, renewed at half; itd-2610170638184486 timed wake; the draft's take-over criterion)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180723332655
slug: an-autonomous-session-acts-on-the-forge
date: 2026-10-18
---
2026-10-18 — An autonomous session acts on the forge as the person, through the App (facilitator-on-delegation, itd-2610170634394993 planning prep): every commit stays authored by the person, since the attribution gate refuses a machine as author or committer; the session pushes and opens pull requests with a token the repository's App mints for the person, limited to the permissions both the App and the person hold and expiring after eight hours, so its work shows the person's name marked as made through the App; the App's own bot identity is not used, because the forge's who-am-I endpoint does not answer for it, so a cloud session could no longer resolve its reservation holder; this meets the product thinker's ruling of a weaker credential of the session's own, which concerns the credential, not the name (grounds: the draft's decision 5; AGENTS.md attribution; scripts/check-attribution.sh; brief invariant 10; docs.github.com generating-a-user-access-token-for-a-github-app; docs.github.com endpoints-available-for-github-app-installation-access-tokens)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180723342596
slug: the-central-view-is-abcd-status
date: 2026-10-18
---
2026-10-18 — The central view is abcd status (facilitator-on-delegation, itd-2610170634394993 planning prep): the view of what every session holds, does and waits on is shown by abcd status, which the product thinker named the people's view of what everyone else is doing; abcd peers keeps the meaning they reserved for it, the sessions running now seen locally and later over a private network, which this intent's decision 4 dropped (grounds: itd-2609151838312703 decision 21; the draft's decisions 3 and 4)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180905283806
slug: the-overnight-stall-fix-ships-first
date: 2026-10-18
---
2026-10-18 — The overnight-stall fix ships first, ahead of the coordination intent (facilitator-on-delegation, itd-2610170634394993 planning prep): the fix for the critical overnight stall (an autonomous mode abcd holds, and a stop check that refuses to end a turn with owed work) sits in the checklist draft, which owns a session's modes, waits and stop check; it needs nothing on the shared remote, so it ships as the bundle's first slice, without waiting on this intent, and the security and bug-fix cut waits on that slice alone; this intent then adds what the stall's record asks for across sessions, the idle time a coordinator sees, through the central view's derived state and last-seen time in abcd status rather than in abcd peers as the record's remedy words it, per the decision naming abcd status as the central view (grounds: iss-2610170619247185 remedy; itd-2610170638184486 scope split; the draft's decisions 3 and 6)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
id: dcn-2610180905291297
slug: a-declared-dependency-constrains-only
date: 2026-10-18
---
2026-10-18 — A declared dependency constrains only the landing (facilitator-on-delegation, itd-2610170634394993 planning prep): a branch that waits on an open pull request is held only from being queued; its merge from the default branch, its fixes, its review and its preflight run now, and only its landing waits for the dependency, so the stop check counts a stacked branch with an open base as owed work (grounds: iss-2610170619247185, second instance; the draft's first acceptance criterion; the decision that a waiting branch is rebuilt by merging)
Loading