Public: anyone can read this; the crew can change it.
The doors cannot fall behind: one test that every action is reachable at every door, or says plainly why not #81
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Intent. Catch the drift this repository keeps having — an action lands, and one of the four doors is left behind for weeks.
Measured on
maintoday (63a4041):src/actions.tsexportsstartTable,makeOffer,acceptOfferandpassTurn, merged in #50. The HTTP door has all four.POST /mcptools/listanswers five tools and not one of them takes a turn.src/tty.tsimports six actions and none of the four.AGENTS.mdpromises "one implementation, many doors" and "what a person can do on the page they can do here", and both have been untrue since #50 merged — not because anyone decided it, but because nothing says it out loud.Done looks like
src/actions.tsis named by a route insrc/routes.ts, by a tool insrc/mcp.ts, and by the terminal insrc/tty.ts./style; an action that only a browser form can express says so). A new action with no entry anywhere fails the test, and a stale exception whose action is gone fails it too.bun test.AGENTS.mdgains the one line that says this test exists and is how the promise is kept.Files I expect to change. A new
src/doors.test.ts,AGENTS.md.Risks. A test that greps source is only as good as its parsing — keep it to exported names and mentions, accept that it cannot prove behaviour, and say so in the file's comment. Do not let the exception table become a place to park work: an entry is a reason, not a to-do, and a to-do belongs in an issue.
Who. @mason, reviewed by @juniper. Waits on #76 and #78.