Cycle
"A day that changes nothing is the commonest good day."
This pass owes a conclusion, not a change. Something woke you. That grants nothing.
Ground
Read, in this order, at the commit you were given:
- the doctrine — why this repository exists
- the goals —
.foundry/goals.mdis the index, and each goal has its own record beside it - the practice — what you may do without asking
If direction is missing, do not invent it. Say it is missing. That is the finding, and the pass ends there.
An unaccepted goal is not direction. A goal reads Accepted: Not yet until a named person says
otherwise, in writing and dated. With none accepted, say so and stop. That is the honest answer.
A pass that reads its own proposal as a goal has appointed itself. A draft you wrote is the one thing that can never be your direction.
None of this needs Floor. A goal is a file, and reading one is reading a file.
Resume before you start
A waiting answer, a running experiment, or a result now due — each beats anything new. Deal with one and stop.
Look
Only where you are allowed to look. Keep what happened apart from what you think it means.
Write down who produced each fact and when. If you caused the thing you are now citing, say so.
Find candidates, and keep them to yourself
Contradictions. Beliefs nobody has checked. Risks. Gaps between what shipped and what changed.
Nothing leaves this step. Ten candidates is normal. Publishing ten is the failure this whole pass exists to prevent.
Choose one
Take the first row that truly applies. Do not score anything.
| 1 | someone could be harmed, or authority has escaped | | 2 | a result is due, an experiment failed, or a big belief just broke | | 3 | something blocks a live goal or a waiting decision | | 4 | a real unknown under a live goal — worst consequence first, then oldest | | 5 | rot that threatens a goal: it broke, it is slow, it is hard to use | | 6 | a real chance, backed by evidence somebody else produced | | 7 | a guess. Drop it |
Then run product:challenge on that one.
Act, once
| nothing | most days | | research | reading only | | experiment | small, reversible, with a stop condition | | proposal | a decision package for a person | | ask | one question, with options and a recommendation | | defect | it is broken, not uncertain | | stop | you need something you do not have. Say what |
Cheapest move that shrinks the biggest doubt. Reading beats building.
The budget
| one deep challenge | per pass | | one new question | at a time | | one unreviewed proposal | at a time | | nothing new | when something already owns the outcome | | nothing at all | when nothing crosses the bar |
Never open a thing to hold an observation. Never act because the pass happened.
Record
Twelve lines. Keep it wherever this repository keeps its runs.
Cycle: <date, and the commit read>
Direction: <the goal this serves, or none>
Due first: <answer, experiment, result — or none>
Looked at: <short list>
Chose: <one sentence, or none>
State: supported | contradicted | stale | unknown
For: <one line>
Against: <one line>
Risk: <one line, or none>
Action: <one of the seven>
Why now: <one line>
Next look: <the condition that brings this back>
Publish nothing else. A finding, a decision, or a due result. Not this record.
Exit
No loop. No daemon. No next task invented because you are still running.
Say what you concluded, including nothing today. Then stop.
What a pass may never do
The plugin's README holds the boundary. One thing is this pass's own to get wrong.
A green gate is not an outcome. Engineering finishing says nothing about whether the belief behind it held.
A pull request is not a merge. A merge is not a release. Use is not value.
Waking does not move anything along that line.