Who does what
Three roles: the foreman thinks and checks, the builder builds, you decide.
You are the single point of failure.
Does
- Plans each job
- Settles every design question
- Writes every work order
- Reviews every change
- Tests the code before and after each change
- Runs the inspection, in its own session
- Writes the repair work orders
- Keeps the records
Never
- Writes product code while the builder is building (unless you hand it over)
Does
- scopes the ticket
- settles the design
- writes every work order
- reviews every diff
- runs its own base-vs-head checks
- runs the lens inspection (
/f-inspect) in its own session - writes repair work orders
- writes the records
Never
- write product code in the build loop (except in the "converged case", §9)
Its playbook has 10 sections, listed on the left. It reads all of them at the start of every job.
Before you plan
Get the facts straight before planning.
- 01Test what it knows about the project, then check the answersWhyshows where its picture is wrong before that becomes a wrong plan
- 02Count things itself. Don't trust the last session's notesWhynotes go stale within hours
- 03Read the ticket, and the scope of every ticket linked to itWhyon one job, the deciding fact was in another ticket
- 04Check the code before trusting the boardWhya ticket can look ready while the work it depends on isn't done
- 01Run the site walk honestly: answer cold, then open the key; re-answer missesWhythe score tells you where your picture of the system is wrong before it becomes a wrong plan
- 02Measure, don't trust the shift handover. Your command wins; say so when it disagreesWhyshift handovers go stale within hours; a count in one was already wrong when the session opened
- 03Read the live ticket and every linked ticket's scope lineWhythe fact that decided one job's scope was in another ticket's boundary line
- 04Check the repository before the boardWhya ticket can look unblocked on the board while its description names prerequisites with no commits yet
Planning
Make every decision before the builder starts.
- 01Decide every open question, and write down the options turned downWhythe builder gets answers, not questions, and turned-down ideas don't come back
- 02Check that every new name isn't already usedWhyin one project, every name a ticket proposed was taken
- 03Find the risky parts first, security above allWhythese are the planning mistakes that matter most
- 04Have the plan read once by a fresh reviewer (
/f-plancheck) before work order 2Whynobody else checks the foreman's plan - 05Write down what must not changeWhythe builder can't guess what's off-limits
- 06When testing a builder, hide the notes that give the answers awayWhyotherwise the test proves nothing
- 01Settle every fork yourself, with evidence and rejects (
SCOPING.md§4)Whythe builder gets decisions, never questions; a rejected option recorded now isn't re-proposed later - 02Measure every name you introduce (0/0/0 in three grep forms)Whyone noun per concept; in one project every noun a ticket proposed was already taken
- 03Find the hard points first: where a wrong plan ships a real defect, especially security (credentials, the verified user, data leaving the service)Whythe misses that matter most at plan level are exactly this kind
- 04Have your own plan cold-read with
/f-plancheck(optionallysimplicity-critic) before work order 2. One read; judge findings against your locked decisions; record each fate; no second read unless the owner says soWhyin Topping Out, no builder plan exists for gate 1 to catch your mistakes - 05Write down what must NOT change (defaults, other services' files, schema)Whythe builder can't know a default is off-limits unless the work order says so
- 06For an audition: fence the hint-bearing filesWhythe shift handover and linked-ticket notes state the answers; move them aside or list the only readable files
Writing a work order
Check every work order against this list before sending it.
- 01Say what "done" means, right at the topWhythe builder can check itself against it
- 02One outcome per work order. Two outcomes: split it
- 03Every decision labelled and final
- 04Every command written out exactly
- 05Pin the exact version of the code it starts from
- 06Name the tests that must fail now and pass after
- 07Include the list of bad inputs to test for
- 08Run the existing tests before committing
- 09Only ask for tests that can existReal missa length test for a field with no length limit
- 10List the only files the builder may read
- 11Try any claim about logs or libraries before writing it inReal missa library logged an error the plan didn't expect
- 12For page changes, click through it in a real browserWhya text test doesn't prove a page works
- 13For character or prompt text, describe what the owner wants in words, not a list of banned words
- 14Ask for one report: "Needs from the foreman" first, and a "Not confirmed" section
- 15Read it once for contradictions
- 16Hand it over as a one-line pointer to the file, never pasted text
- 17Never name the builder
Draft the next one or two while the current one runs. Each starts by checking the code is where it expects.
Before sending, check every work order against this list:
- 01"Done when" sits right under the opening line: the finish line the builder can check itself against (the tests that pass at head, one commit, the report written).
- 02One outcome. One independently verifiable outcome; it may carry the several
D-decisions that outcome needs. Two outcomes: split it. - 03Every decision labelled
D-…and final, down to the exact expression or data shape. - 04Every command exact, with the prefix line of variables;
NEWandSUITEdefined once. - 05The state check pins the worktree, branch and exact HEAD sha (re-pinned after the previous work order's review).
- 06Tests that must fail at the current head, named; for existing code, "break it, see it fail, restore it".
- 07The hostile-input checklist H1–Hn, specific to this task, plus the coverage gate, probes per task, G1–G6 and "untested paths".
- 08The existing tests of every touched module run before the commit, with the adapter's literal
ran_ok+failed_idsdiff (templates/TEST-ADAPTERS.md). - 09Every test case you specify can actually exist. Check it against the code before sending.Real missa "600-byte title" case for a field with no length limit
- 10The reading fence lists only what the builder may open.
- 11Every anchor a probe uses stays unique after this work order's edits, checked with grep.Real missa decision duplicated the literal a probe anchored on
- 12Every assertion about logs, callbacks or library behaviour was probed in scratch first.Real missa library logs a callback error before re-raising it, so the planned log assertion couldn't hold
- 13Page work: click the change in a real browser yourself before the owner sees it. A string test doesn't prove page JavaScript.
- 14Character or prompt text: quote the owner's intent in words ("never invent the save's world"), not a list of forbidden nouns.
- 15One report file, numbered sections, STOP. It opens with "Needs from the foreman" (none, or BLOCKED on X) and has a "Not confirmed" section: anything the builder couldn't confirm, with where it looked.
- 16Read it once for contradictions: numbers, dates, names, SHAs, paths and line ranges agree everywhere in the work order.
- 17The payload line range is computed from the banners, and you hand over a one-line pointer, never text in chat.
- 18No builder name anywhere.
Pipelining: draft the next one or two work orders while the current one runs. Each still opens with its own state check, so a stale draft stops on its first step. Revise drafts after every review.
Reviewing a work order
Check the work in this order, every time.
- 01Look at what changed on disk before reading the report
- 02Prove the new tests fail on the old code and pass on the newWhya test that can't fail first is pinned by a mutation probe instead
- 03Try to break the new code itself
- 04Explain every change in the test results since last time
- 05Write a separate note on any security code
- 06Reproduce every problem before asking for a fix
- 07Say whether the builder should be switched, and why
- 08Update the job file
Run its own experiments outside the project folder.
In this order, every time:
- 01Disk first: commits (count, subjects, files, no trailer, not pushed), capture folders (
.exitcount,ALL DONE), any shared state restored (database roles, fixtures), the job file. Only then the report, starting with its "Needs from the foreman" line and its "Not confirmed" section. - 02Verify the test-first claim yourself: run the new tests against the previous commit's code (the repo profile's old-code method,
templates/TEST-ADAPTERS.md). They must fail there and pass at head (except the work order's named "tests that cannot fail first", which a mutation probe pins instead). - 03Probe the new code yourself with hostile inputs: a scratch script, reproduced output pasted into the review.
- 04Attribute every difference from the last capture (a real case: two "environment-dependent" skips turned out to be caused by the new test module).
- 05Security code gets a paragraph of its own: what's checked, in what order, what's raised after its except block, and anything not frozen, with why it is or isn't exploitable.
- 06Every finding reproduced before it goes into the next work order, test-first.
- 07The switch-rule line: triggered or not, with evidence.
- 08Update the job file (tasks done, plan in force, review links).
Keep your probes out of the product tree. A probe run from the wrong folder once made the package manager create a stray environment folder inside the worktree. Run from scratch space, and check git status --ignored after.
When the builder stops
A stop is a gift, not a failure. Check first whether it was the foreman's mistake.
- 01Make sure it hears about the stopWhyyou tell it, or, when the sessions are linked, its watcher wakes it
- 02Check the disk first, then read the report
- 03A test that fails for no clear reason: find out why. Never rerun it until it passes
- 04A test it asked for that can't exist: fix the work order, keep the builder's work, note the mistake
- 05An attempt to break the code that should have failed but passed: that's a missing test. Add it
Know it stopped. Hand-carried: the owner tells you. Pane link: your background stop watcher wakes you (skills/orca-pi-connect, the loop step), armed after every send; if it isn't armed, you won't see the stop. Then check the disk first (commits, captures, git status, the report file) and only then read the report. A good stop looks like this: the builder hit an intermittent gate failure the work order didn't cover, stopped, and left its repairs uncommitted.
A stop is a gift, not a failure. Read it as possibly your mistake first:
- 01A red-at-head test: characterise it (identical to base? isolated N/N on both sides? green in every earlier capture?), never retry it to green.
- 02A stop that exposes an impossible test case you wrote: fix the work order (
<m>b), keep the builder's work, and record your error. - 03A GREEN probe: it's a missing test, not a bad probe. Find the input only the guard refuses, reproduce it, add the test.
When you write code yourself
Only when you tell it to take over. The same rules apply.
- 01Run the existing tests before committingWhya foreman once committed first and broke four
- 02Keep what other code relies onWhyone fix dropped an error code other code needed
- 03It can't approve its own fix. Security fixes always go back to the reviewer before the merge
- 04Treat warnings as errors where they could leak input
Only when the owner says "you take over". Nothing relaxes for you:
- 01Run the existing tests of every touched module before the commit. This is the rule a foreman broke by committing first, which turned four existing proofs red. Writing a rule down doesn't exempt its author.
- 02A fix must keep what callers need. One leak fix dropped the typed error code its callers acted on.
- 03You can't sign off your own repair, except a fix the reviewer specified, implemented as specified, and proven in both states. Not for security or concurrency repairs: every one, whoever built it, goes back to the same reviewer with the changed-since-review diff and the final SHA, for an acknowledgment before merge (
templates/ADJUDICATION.md). Anything else goes to the next independent round. - 04Treat warnings as errors where a warning could echo input: a validation library once repeated the caller's bad value inside a warning.
The end game
Before the merge.
- 01Test before and after the change twice, once by each of them, and again at the very end
- 02Reproduce every review comment before acting on it. Fix it now or reject it with a reason. No "later"
- 03Run the inspection itself, then send the work to a reviewer from a different model familyWhythe builder never reviews its own work
- 04Check the PR for any builder name
- 05If the repo uses automated review: at most three rounds, then stop for you
- 06Re-read the PR description against the final result before asking you to merge
- 01Base-vs-head twice: once by the builder, once by you at gate 2, and both again at the final head after the last fix.
- 02Adjudicate every review claim by reproducing it first. "Ship with follow-ups" becomes: fixed now, or rejected with a reason. No follow-ups.
- 03You run the lens inspection (
/f-inspect) yourself, in your session, with fresh lens agents; the builder never reviews its own branch. You check each finding and decide what the builder fixes. It isn't independent of you (QUICK skips it). The independent round is the cross-model one: you pack it (/pack-review,templates/PACK-REVIEW.md) and check the brief before it goes out, a fresh session of another family runs/xreview, you run/adjudicate. - 04Scan the PR body for builder names before anyone opens it.
- 05Greptile rounds, when the repo profile has it (
/f-greploop, on the owner's "greploop"): at most three, each adjudicated, repaired by the builder, and re-run (tests, both base-vs-head, ledger) before the push; then stop for the owner. - 06The PR description check, every job: before asking for "merge", re-read the body against the final diff and results, and rewrite anything stale.
Talking to the owner
How the foreman deals with you.
- 01Decide on evidence. No menus of optionsWhyyou shouldn't have to judge technical choices
- 02Ask you only for the acts listed in
RULES.mdWhyeverything else is its call - 03Report exactly what happened, mistakes includedWhya foreman once said "nothing was pushed" when it had been
- 04A general "yes" approves the goal, not each actWhyit asks again for each act that needs your word
- 05You confirm the next job before it starts
- 06When every job is done, it tops the board out and stops. The next head is always yours to pickWhywith jobs left, only your own words top it out
- 07Every job starts with work order 1, research too
- 08Every job gets merged, code or not
- 09A standing goal isn't your word for each actWhyit stops at "ready for your word"
- 10Except an autonomous run you started: that covers every step of that one job, and any failure stops it
- 11Explain plainly before asking for your wordWhytwice in one job the owner had to ask why
- 12Once something is decided, it stays decided unless new evidence appears
- 13End every reply with a short status blockWhyso you, and it, always know where things stand
- 14Say plainly when it is asking you to switch builders
- 01Decide on evidence and record what you rejected. No menus of optionsWhythe owner can't arbitrate technical choices, and shouldn't have to
- 02Ask only for the acts listed in
RULES.md(merge, any push, tracker, messages, deletions, out-of-scope edits, migrations, the "greploop" grant; the records push needs your word too, except the one after a verified merge, which the foreman makes itself). The job's own cleanup after a verified merge is not on that list: do it, then stop at the next-ticket discussionWhyeverything else is yours to decide - 03Report exactly what happened, including your own mistakesWhya foreman once told the owner "nothing was pushed" when the push had completed. Check the remote before you claim anything about it
- 04A directional "yes" approves the goal, not the actWhyask again for each act that needs your word
- 05The owner confirms the next job before the handoverWhythe foreman recommends, the owner says yes or picks another, then the ground investigation, the board and the handover; under a
/goalthe foreman decides itself and records the goal - 06At the board's head, top out; never pick the next headWhyevery job merged or resolved: close the last job,
topout, the topping out report, the candidate next heads, and stop. With jobs left, only the owner's own words top out. The next head is always the owner's pick (METHOD.md§11b) - 07Every job starts with work order 1Whyan audit or research job too: no job file, no later work order, inspection or PR
- 08Every build job merges, code or notWhydocuments and research go through the PR too;
/f-signoffrefuses an unmerged job, and nothing new starts until the end-game lock clears - 09A standing goal is not a wordWhyan autonomous goal ends at "ready for your word"; while waiting on the owner, say so once and stop
- 10Except an autonomous runWhythe owner's own
/goal autonomous run: <path to the opener>(or a night shift the owner started) covers the "go", the survey (its starred picks), the PR, greploop, the walkthrough (METHOD.md§10, within its spend cap), the merge and the records pushes for that job only; any failure stops it (RULES.md) - 11Explain plainly before any word. When something truly needs the owner, one plain paragraph on why, before the word itself. Better still, don't need them: post-merge cleanup and guard blocks are the agents'Whytwice in one job the owner had to ask why something needed them
- 12Settled stays settled. Once a question is answered, by you on evidence or by the owner, treat it as done. Reopen it only on new evidence, and name the evidenceWhylong sessions and compaction tempt re-deciding, and the owner shouldn't be asked twice
- 13End every reply with the 5-line status block,
statemeasured,owedcompleteWhyit's how the owner (and a compacted you) finds the place - 14When the owner writes a new pre-flight request or switch signal, say it plainlyWhya switch to a new builder once went unnoticed because its only signal was a new pre-flight file
Tool hygiene
Small things that cost time.
- 01Count Windows line endings with the command that counts them right
- 02Write text full of quotes with a file tool, not the shell
- 03Ask Git for one version at a time, so each value is clear
- 04Edit a published page from a fresh copy of it
- 05Remove paid keys before setting other variables, or the command won't run
- 06Never write a home-made wait loop. Use the ones providedWhya home-made one once read 0 every time
- 07On Windows, read the Windows notes in
SETUP.mdfirst
- 01Count carriage returns with
tr -cd '\r' < f | wc -c, notgrep -c $'\r'(that miscounts). - 02Write quote-heavy text with a file tool, not a shell heredoc (heredocs break on it, repeatedly).
- 03
git rev-parseone ref per call. Not because Git needs it (two refs work), but so each expected value is unambiguous in the work order and the report. - 04Edit a published page from a fresh read of its URL, and strip the platform skeleton before republishing. When editing one part of a page, cut at that part's own closing line, or the previous job's content stays behind.
- 05Every paid-key strip (
env -u …) comes before everyVAR=value, or the run exits 127 and runs nothing. - 06Never hand-roll a wait loop. A home-made Greptile poll once summed counts with
bc, which Git Bash doesn't have, so every read said 0. Use the bundled waiters; a failed read is an error, never "nothing yet" (RULES.mdrule 12). - 07On Windows, read
SETUP.md"Windows notes" before the first job: line endings,ref:patharguments and headless screenshots each cost a turn the first time.
Your own scorecard
After each job, it grades itself as hard as it grades the builder.
- 01Work orders it had to correct because of its own mistakeAim for0
- 02Real bugs that got past its reviewsAim for0
- 03Committed before running the existing testsAim fornever
- 04Claimed something it hadn't checkedAim fornever
- 05Work orders used, against its estimateAim forwithin the estimate
The trend matters more than the number.
After each job, grade yourself as honestly as you grade the builder:
- 01How many of your work orders needed a
<m>bcorrection because of your error?Aim for0 - 02How many real bugs got past your reviews to the independent inspection?Aim for0
- 03Did you break the "existing tests before commit" rule?Aim fornever
- 04Did you claim anything you hadn't checked on disk?Aim fornever
- 05Work orders for the ticket, against your estimate at planningAim forwithin your estimate
Record it in the dev report's learnings. The trend matters more than the number.
A light builder builds well. It doesn't design well.
Does
- Sets up its own copy of the code
- Keeps the job file
- Runs the checks and saves their results
- Writes the code and its tests
- Commits
- Fixes what the foreman accepts from each inspection
- Opens the PR when told
Never
- Makes design decisions
- Explains away results it didn't expect
- Pushes or merges on its own
Does
- cuts the worktree
- writes the job file
- runs gates and captures
- writes code and tests
- commits
- fixes what the foreman accepts from each inspection
- opens the PR when told
Never
- make design decisions
- explain differences away
- push or merge on its own
Its playbook has 6 sections, listed on the left. It reads all of them at the start of every job.
Before the job
Before work order 1.
- 01Run a setup check. Nothing starts until it says READY
- 02Tell the foreman which builder this isWhyso it writes every work order to suit
- 03When testing a builder, keep the answers out of its reach
- 01Run a pre-flight first. It checks the builder's environment is ready: shell, git on the target repo, reading and writing outside the project folder, tools, permissions. Nothing starts until it says READY.
- 02Tell the foreman up front which builder it is, so it adapts every work order from work order 1 (
BUILDER-PROFILES.mdsays what each kind needs spelled out). - 03Keep audition points out of reach. If you test the builder's planning, the foreman keeps hint-bearing notes (the shift handover, linked-ticket notes) out of the files the work order lets the builder read.
Every work order
What every work order gives the builder.
- 01Answers, never questionsWhyjudgment is a light builder's weak spot
- 02One step, one decisionWhyless to reason about
- 03Exact commands and exact file pathsWhynothing left to guess
- 04Tests that fail now. The builder makes them pass
- 05The list of bad inputs to test forWhyon one job, every early bug came from this
- 06What "done" means, right at the top
- 07One report at the end, then stopWhysurvives a session that stops halfway
- 08The report opens with what it needs from the foremanWhyso a blocker isn't buried
- 09Report only what it saw. No excuses for surprises
- 10Evidence for every claim. A claim without it counts as not doneWhysaying it's done when it isn't is the most common failure
- 11A "Not confirmed" section, with where it looked
Testing made thorough by rule
- 01Every new line is tested, or has a reason not to be
- 02Every safety check is tested by trying to break it, straight away
- 03A standard list of six common gaps, checked every time
- 04The report lists what wasn't tested
Aim for about 8 or 9 work orders for a mid-sized ticket. Don't ask a light builder to plan or review more: keep the thinking with the foreman.
Bad inputs to test for
- 01A missing field gives a clear error, never a default
- 02A wrong type gives the same error
- 03Hidden control characters in names are refused
- 04Data that skipped the checks on the way in is checked again
- 05An error never carries private data along with it
- 06Only checked data is signed
- 01Decisions, never questions. The work order says what to build and how, not "decide X"Whyjudgment is a light builder's weak spot
- 02One job per work order. Split any step carrying more than one decisionWhyless for it to reason about
- 03Exact commands, exact paths, a prefix line of variables on every commandWhymany builders' shells don't keep variables between calls, and none should guess
- 04Test-first. The foreman names the tests that must FAIL at the current head; the builder makes them passWhyturns "think of edge cases" into "make these red tests green"
- 05The hostile-input checklist (below) in every work order that writes or changes codeWhyon one job, every bug found in the first task came from this area
- 06"Done when: …" right under the opening line names the finish line: the tests that pass at head, one commit, the report writtenWhythe builder can check itself against it before it stops
- 07Opens with a state check, ends with one report file and STOPWhysurvives a stopped or compacted session
- 08The report opens with "Needs from the foreman": none, or BLOCKED on XWhya stop that needs a decision isn't buried under a success summary
- 09"Report only what you observed. Do not explain differences away."Whya builder once called two new skipped tests "environment-dependent" when its own new test module caused them
- 10Evidence on every claim. Every claim in the report cites its evidence: the command run and its output, the commit hash, the test name. A claim without evidence is treated as not doneWhyagents often say they've finished when they haven't; it's the most common failure
- 11A "Not confirmed" section. Anything the builder couldn't confirm goes there, with where it lookedWhy"where I looked" makes an excuse checkable
Make test breadth mechanical
A light builder's weakest areas are test breadth and judgment: on one job, four of fourteen work orders only repaired gaps found in review. These four steps turn "think of every edge case" into lists that must be empty:
| Step | In the work order | Why |
|---|---|---|
| Coverage gate | run the new module with branch coverage; every uncovered line or branch gets a test, or a reason the foreman already gave | coverage flags untested error paths, guards and legs without anyone having to think of them |
| Probes per task | each guard gets its mutation probe in the same work order, run immediately; GREEN = report and STOP | one hidden gap surfaced four work orders late; caught at once, it costs a line |
| Standard gap checklist G1–G6 | cancellation passes through · deadline on every call leg · every field reaches its destination · every error path mapped and tested · multi-item cases · caller's bad input gets the local typed error | these are exactly the gaps reviews keep finding |
| "Untested paths" report section | the builder lists what it did NOT test | builders report honestly when asked; nobody had asked |
Target: roughly 8–9 work orders for a mid-sized ticket, not 14.
What won't help: asking a light builder to plan more, or to review itself more deeply. Keep the thinking with the foreman and make every check mechanical.
The hostile-input checklist
Put this in the work order, word for word if needed:
- 01A required key missing → a typed "unreadable" error, never a default and never a different error.
- 02The wrong type in any field → the same.
- 03Control characters in labels or names → refused at the edge, with the same rule the store uses.
- 04Data that skipped validation on the way in (in Python, objects built with
model_construct) → revalidate at the boundary, nested parts included. - 05An error raised while handling another can carry the first one's payload with it (in Python,
__context__, prompt text included) → record a flag, raise after the handler, and check nothing is chained. - 06Hash or sign only validated data.
Handing work orders over
A pointer, never pasted text.
- 01Never copy a work order out of the chat windowWhyit breaks long lines
- 02Give the builder a one-line pointer instead
Read the file <path>, lines A to B only, and carry it out exactly as written.- 03When the sessions are linked, the foreman sends the pointer itself
- 01Don't copy prompts out of the chat window. It wraps long lines and breaks paths.
- 02Give the builder a one-line pointer instead:
Read the file <path>, lines A to B only, and carry it out exactly as written.- 03Ask the foreman for pointers, not full text in chat. Over a pane link, the foreman sends the pointer itself.
After every work order
What happens after each one.
- 01Tell the foreman the work order is doneWhylinked sessions do this on their own
- 02The foreman checks the disk first, then reads the report
- 03It tries to break the new code and puts any problems in the next work order
- 01Tell the foreman "work order N done" (over a pane link, its watcher sees the stop).
- 02It checks the disk first (commits, captures, report file), then reads the report, starting with its "Needs from the foreman" line.
- 03It probes the new code itself and writes the findings into the next work order, test-first.
When to switch builders
Switch to a stronger builder only if a review finds:
- 01A security problem
- 02A repeat of something the work order warned about
Everyday test gaps are normal and get fixed in the next work order. Switching costs nothing, because each work order stands alone. When the foreman writes a new setup check, it is asking you to switch.
Switch to a stronger builder (BUILDER-PROFILES.md) only if a task review finds:
- 01a security-class bug: credentials, leaked data, trusting unverified input; or
- 02a repeat of something the work order already warned about.
Ordinary edge-case findings are normal. They get fixed in the next work order.
Every work order is self-contained, so a switch costs nothing: the new builder runs the pre-flight, then picks up at the next work order.
Don't miss the switch signal. When the foreman writes a new pre-flight (for example ...BUILDER-B-PREFLIGHT.txt), that is it asking you to change builder. On one job that was missed, and the old builder ran it.
Where a light builder fits
What to give a light builder.
- 01Good at: settled designs, clear tests, small focused changes
- 02Watch closely: anything touching logins, credentials or data leaving the service
- 03Not its job: scoping, planning, choosing between designs
- 01Good: tasks with a settled design, clear tests and narrow files: repairs, adapters, readers, test suites, mechanical wiring.
- 02Keep an eye on: anything touching identity, credentials, auth, or data that leaves the service.
- 03Not the builder's job: scoping, planning, choosing between designs, deciding what a ticket owns.
You decide.
Does
- Say "go"
- Paste the builder's pointers, when there is no pane link
- Watch the PR
- Give your word for each act that needs it (the list is in
RULES.md)
Never has to
- Choose between technical options. The foreman decides on evidence and writes down what it turned down
Does
- says "go"
- pastes the builder's pointers when there is no pane link
- watches the PR
- gives the exact word for every act that needs it (
RULES.md)
Never has to
- arbitrate technical choices (the foreman decides on evidence and records what it rejected)
Your words
Nothing on this list happens without your word. In an autonomous run, your /goal stands in for most of them; RULES.md lists which.
go
publish
Cut into tickets · Approve the cutgo
Start the shift · Say goopen the PR
Open the PR · Open the PRgreploop
Review the PR · Greptile roundsmerge
Merge · Mergetracker transition
Merge · Clean upyes
Close · Confirm the next job