DECISIONS.md as short as a rebuild needs; SKILL.md proven as written - #1756
Merged
Conversation
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…lock's scope, the buffer) and wording Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…up, the in-memory lock) and wording Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…write, the exclude written once) and wording Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…, the name charset, forced removal, the push default, links follow any branch) and wording Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…ssages, the pull is not a timer) and wording Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…, where a checkout branches from, what the reclaim pushes, what the skill has the agent do) and wording Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…t counts as on the remote, best-effort after the worktree) and wording Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…eads (origin, project-level commands, retry bound, close and the queue, what show answers) and wording Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
… show answers, no-ticket, the last-section placement) and wording Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…y, put creates, one merge, one cut) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…l-tickets DECISIONS (second), both SKILL.md (first) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…-tickets DECISIONS (third), both SKILL.md (second) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…-tickets DECISIONS fourth, both SKILL.md third), SPECs in step Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…anges the holder, one quoted argument) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…the clean gate and the user's files, dependencies are copies) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…pull, an unparseable lock versus an unreadable one) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…, a dirty checkout is never pushed, create versus attach, the routing order) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…r, origin names count, only invalid-name is retried) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…er close) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…valid-name clause in its place) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…he exclude written with the link, no-identity first) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…readable one, the stranded lock) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…y order, the suffix rule said plainly) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…rees, liveness is the caller's, word order) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…written, the Source trailer, an own lock first, the queue file the command creates) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…st entry, sibling names, the epoch, what a lock gates, commit subjects) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…bility not merge state, the skill's leading-letter rule) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…me's stem, heading gloss, the link's label, the batch claim) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…bject, the skill's two rules, the stop inside the removal) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…heading boundary, not-holder, the program's release) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…me, attach guards the id only, git-failed named, the stop hook, heldBy is the library's) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…omeone else's claim, no-remote for every write, result keys) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…y after a push, a leading dash id, prune says nothing on stderr) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…-repo bare, -D, the holds-nothing rule named) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
… only when true, queue done's answer, two phrases set straight) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…ata links kept, skipped detail, absolute dependency links) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…agent, the executable, the row's keys, the summary scan) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…links, which refusal names what) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…nce pushed, the holder decides who, the library's queue read) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…s shape, Outdated and the filename convention, empty stdin) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…ore stdin, an unreadable lock still listed, the ends) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…ink shape, an unreadable lock to the writers, the meta cap, [X]) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…r, the plan's cap, the meta truncation, midnight UTC) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…its checkout, the refusal order as one list, a section's end) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
…the ticket, the epoch sorts last, the stamp's value, the dangling link) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W6TRhDByNQSYhqm4VtnNyT
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.
The three
DECISIONS.md(agent-data, skill-branches, skill-tickets) and bothSKILL.md, each read against the code by a fresh agent seeing only its package, round after round, until a read found nothing the code does that the file does not say and nothing the file says that the code does not do. The rule for a line: it stays only if a rebuild of the package from the file alone would differ without it; bullets that say one thing are merged; no decision is cut. One commit per round (62 in all), so the history shows what each read caught.The files grew, not shrank. The first pass shortened every bullet; every later read then surfaced a decision the code makes that the file had never stated, each a line a rebuild would otherwise get wrong. Where a read caught my own previous edit overshooting, the next commit says so.
agent-data/DECISIONS.md: 84 → 76 lines, four reads. Restored three meanings the shortening lost; added where reads look (the repository a worktree was made from), the lock's scope (in memory, per repository and branch), the output buffer, a failed write dropping the op's new files, the exclude rule written once, the library's own commit messages; corrected "every write pushes" and "a pull runs on its own".skill-branches/DECISIONS.md: 93 → 150 lines, twenty reads. Among what the reads added: a branch gone only locally comes back from origin; the session-name charset and the leading-dash rule; forced removal;remove/prunepush by default; links follow any branch, are made by the package's own runs, are judged by their target's name; what the reclaim pushes and when it does not; the holds-nothing rule as reachability, not merge state; what the skill has the agent do; every command's result and refusal shape, the JSON keys, the removal order.skill-tickets/DECISIONS.md: 109 → 164 lines, twenty-two reads. Among what the reads added: the two callers and the executable; what the skill tells the agent; the full row and its keys; the sync's three steps and where the exclude rules are written; the command's detached write versus the program's checkout cycle; the refusal order per command; the queue file the command creates itself; placement details; the batch claim's message; a queue edit counting only once pushed.skill-branches/SKILL.md: 48 → 50 lines, five reads, andskill-tickets/SKILL.md: 142 → 150 lines, five reads. Proven first: every command in both run as written in a throwaway repository, from a plainagent-*clone and from a.branches/agent-<id>checkout made the daemon's way, and one real agent run per skill (branches: name, commit, status; tickets: list, claim, plan, queue, release), with no old names or product words left. Then sentence by sentence. Added: a continued agent keeps the branch and the name it was given;statusandnameare the agent's only commands; the finish gate and the user's untracked files;putreplaces the whole file, empty stdin included;closeleaves the queue entry; release before stopping unless closed; a rename or branch switch changes the holder; the refusal shapes as printed. BothSKILL.SPEC.mdfollow.Code findings that are not decisions are in #1757: the
prioritystring, thebranchbudget scan, thenpm packtarballs,Source:lines,release's output, the queue's first unranked entry, the reclaim pushing a user's branch,removeby name versus by id, and more.🤖 curated · Fable 5.1, effort high — the agent proposed every change and ran the reads and the rig; each round's picks are mine.