docs: record the decisions of the integrated pull request map - #83
Draft
fveracoechea wants to merge 13 commits into
Draft
fveracoechea wants to merge 13 commits into
fveracoechea wants to merge 13 commits into
Conversation
Choose the delivery unit for a source settled that a source delivers one integration branch, published as a pull request stack, with one commit for each accepted code result. The glossary and the ADRs change first, so the build that follows the map lands under them. ADR 0015 records the decision. ADR 0007 and ADR 0009 are amended, because acceptance now compares the reviewed patch with the integration branch instead of a pull request head.
This was referenced Sep 30, 2026
Choose how a source is registered from a parent issue settled that the CLI reads each work source from the tracker, and that Operator never creates an issue. The tracker holds the structure, and the Operator input holds only the fields the tracker does not hold. Registration is deterministic and previewed, so an approval covers exactly what gets recorded. ADR 0016 records the decision. ADR 0004 is amended, because a new source revision is no longer a conflict by itself.
Choose where the shared rule block of a brief lives settled that the block splits by owner. The release owns the rules that are the same for every launch, and the brief states each one beside the command that enforces it. The committed project instructions own the rules of one project, and the base commit fixes them for a launch. ADR 0005 is amended, because it already owns what a launch fixes and copies. The glossary adds Brief and Project instructions.
Choose where review looks settled that two reviews run. The result review of each submission stays the gate of accepted completion, so no barrier holds parallel work. One branch review then reads the integration branch of a source as a whole, and it gates the publish of that exact head, because only a reader of two commits sees a relation between them. ADR 0017 records the branch review. ADR 0007 is amended, because a review now reads a fixed copy of the requirements and its subject can be a branch snapshot. ADR 0008 is amended by one sentence for the branch review limit of a source.
Choose the recorded checks on a result settled that submit checks a result against its authority limits before any review reads it. It refuses a file outside the write paths, work that is not committed, and a behavior change with no recorded basis, so the Operative that holds the context makes the fix. A change found outside the worktree is recorded, and acceptance waits until it is disposed, because the scan cannot name the writer. ADR 0018 records the checks and the write-path grammar that the frontier also reads. ADR 0007 is amended, because a submission and its review now carry the behavior changes and the outside changes.
Choose how the frontier holds overlapping write paths settled that the frontier never offers a production assignment whose write paths overlap the paths that unaccepted work of the same source holds. Two results that change one file from one base can combine with no conflict and still change a patch, and acceptance refuses a changed patch after its review is done, so the frontier prevents that waste before dispatch. ADR 0004 is amended, because the frontier gets one more rule. It reads the write-path grammar that ADR 0018 records.
Choose how a decision before dispatch reaches dependent work settled that planning acceptance records a planning record, and that dispatch derives it into the brief of each direct dependent from the dependency. The Operator input names no receiver, so no dependent is forgotten and no word is copied wrong. A grilling or a prototype never records an Operator decision, because it is the user's side of a decision, and a requirement must quote a stored copy of its source. ADR 0019 records the decision. ADR 0006 is amended, because a requirement now names its source by a stored copy. ADR 0004 points to ADR 0019, and one reason in ADR 0005 is corrected, because a reviewer now reads a copy of the producer's requirements.
Choose who integrates accepted commits settled that the CLI lands each accepted commit on the integration branch as the last step of acceptance, with no worktree and no edit. The flow proved the procedure, and a machine can check a landing by its patch, so the step needs no agent. The branch moves only from the tip the crew recorded, so a moved branch stops the work instead of being repaired. A corrected commit is rewritten in place, so each assignment keeps one commit that passes on its own. ADR 0020 records the decision. ADR 0008 is amended, because Operator now moves one branch. ADR 0015, ADR 0016, and ADR 0017 are amended where they left this decision open or depend on it.
Choose who makes a correction settled that a fresh Operative writes every correction, and that the attempt of the producer still ends at its submission. A producer kept for its review would hold a crew slot or run uncounted, and two of the three correction kinds could never reach it, so a producer path would sit beside the fresh path that must exist anyway. The brief of every cycle carries what the crew state recorded about the earlier rounds, which recovers the part of the producer's context that a record can hold. ADR 0008 is amended, and it names repair by the producer as a rejected option with its cost. ADR 0005, ADR 0017, and ADR 0020 are amended in one sentence each.
Choose the preservation proof for cleanup after integration settled that removal proves the accepted result from the recorded landing: the integration branch, at its recorded tip, must still hold the commit that carries it. Nothing pushes before publish, and a merge landing or a rewrite gives a result a new commit, so a remote copy of every commit would refuse almost every removal. Acceptance already proves the patch, so cleanup proves only that the landed commit is still on the branch. ADR 0010 is amended, because only the remote-copy detail of its proof reversed. ADR 0020 records that each landing names the commit that carries its result.
Choose the gate at every commit of the integration branch settled that every commit, and the integration base, passes one project gate before the branch moves. The project declares the gate in a committed file, read at the integration base, so no result chooses the gate that scores it. The CLI runs it in a Herdr checkout through an Operator runner that reads each exit status itself, because an agent report of a pass is a claim. A failure is never erased, and a later pass makes the key flaky, which blocks. ADR 0021 records the decision. ADR 0005, 0007, 0008, 0015, 0017, 0018, and 0020 are amended where they named the gate, the start of an integration cycle, or a worktree of the Operator.
Choose how a registered assignment is withdrawn from its source settled that a person withdraws an item by removing its issue from the parent, and the next registration records it behind the plan approval. Without it, an item nobody wants would hold the branch review and the publish of its source for ever. A landed commit of a withdrawn item leaves the integration branch through a take-out, which is the rewrite of ADR 0020 with no replacement. ADR 0016 is amended, because its refusal of a missing item becomes the withdrawal rule. ADR 0004, 0010, 0017, and 0020 are amended where the hold, the removal gate, the branch review, and the rewrite meet it.
Choose how the integrated pull request is opened and linked settled that the CLI publishes the stack behind one approval, with one atomic push of new remote names and a body rendered from the records plus a closed set of Operator sections. A person merges each part with a merge commit, bottom up, so every commit reaches the target as it was gated and reviewed. The tracker steps of a code result run after the observed merge, so a commit link is final and a closed ticket means its commit reached the target. ADR 0022 records the decision. ADR 0008, 0015, 0016, 0017, 0020, and 0021 are amended where they left publish open or depend on it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This draft collects the glossary and ADR changes of Map the integrated pull request workflow, one commit for each decision.
The map is now complete: every decision ticket is closed, and "Not yet specified" is empty.
Start with ADR 0020, then ADR 0021 and ADR 0022.
Each commit names its decision ticket, and each ticket holds the full resolution.
The decisions after the first two were made by the main agent under the user's delegation to decide from
~/OPINIONS.md, with a grilling sub-agent for each ticket.Each resolution says so, and none of them is recorded as a human answer.
The resolution of Choose how a decision before dispatch reaches dependent work lists the three decisions that rest on no named source.
Evidence
Docs only.
bun run quality: format, lint, typecheck, and module checks pass.bun test: 583 pass and 1 fails on this Mac.The failure is
modules/operator-release/main.test.ts:73, which The release artifact test fails on macOS when TMPDIR ends with a slash tracks, and it also fails onmain.Merge Danger
Door: two-way
Text only, but the build of this map follows these records.
Blast Radius: docs
🤖 Generated with Claude Code