CLAUDE.md: the ticket is the pull channel, and the brief is write-once #558
Reference in New Issue
Block a user
Delete Branch "docs/brief-write-once-precedence"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Docs only — the canonical block in
CLAUDE.md, plus the byte-identical copy inwiki/7-Use-Cases.md.Why
A
fleet_sendto a working member is accepted and returns a ticket, and is then never delivered. That happened three times in one session here, and the member was released still executing a brief I had retracted twice.The broker was not lying. The receipt is true, and it is a fact about the mailbox, when what was needed was a fact about the pane. Two channels, with the report coming from the near one — the same shape as
NOT_DELIVEREDcovering several epistemic states, one layer out of the process.The fleet01 lead named the mechanism, and it is the part that says what else qualifies:
So the ticket is not more reliable than the mailbox — it is a different direction. Its success depends on the member's procedure rather than on the timing of my send. A second push channel would buy nothing; a file in the worktree that the brief tells them to re-read would work identically.
What changed
Both halves are written down, because each is useless without the other.
Member — turn contract, new item 4 (the following items renumber):
Lead — step 5 (Collect): the same mechanism, plus the obligation it creates on the sender:
That second half is the fleet01 lead's catch, and it is the non-obvious one. The member cannot check which source is actually newer — it just always prefers the ticket. So the day a lead revises a brief in place instead of commenting, the member prefers a stale comment and does the wrong thing while following the rule exactly. A guarantee maintained only by the lead's habit, with nothing enforcing it — the same shape as a conditional two-arg
removeor an unreachableunknownarm.Carve-out, so the rule is not read too widely: a first brief for a unit not yet running is not a correction, and may carry the whole spec.
Checks
in sync: True(run in the main clone, as required — a member's worktree haswiki/uninitialized).mvn -Dtest=McpContractDocTest,ClaudeCodeLauncherTest,RestRouteInventoryTest,FleetProfilesLiveDefaultTest test→MVN_EXIT=0,Tests run: 117, Failures: 0, Errors: 0..claude/skills/**,docs/, and the Java sources).wikisubmodule pointer is deliberately unstaged; the wiki commit goes to its own remote separately.