Skip to content

Write down what the next person needs, and what not to rediscover - #39

Merged
QuintinBotes merged 1 commit into
mainfrom
handoff-doc
Aug 4, 2026
Merged

Write down what the next person needs, and what not to rediscover#39
QuintinBotes merged 1 commit into
mainfrom
handoff-doc

Conversation

@QuintinBotes

Copy link
Copy Markdown
Owner

A handoff document for whoever picks this up next.

Says what is true right now — main green at 705 Rust / 342 vitest, what is merged, what is parked — and then spends most of its length on the two things that actually cost time here: the traps, and the facts nobody should re-derive.

Traps, each learned the expensive way: editing Rust or switching branches while pnpm app runs restarts the user's Threads; --delete-branch auto-closes any PR based on that branch and a closed PR cannot be reopened, which is how #34 was lost; this repo squash-merges only, so the PR body becomes the commit message; every merge makes the next PR BEHIND.

Established facts, so they are not paid for twice: the gate must print nothing when it does not object, because defer ends the turn and reports success; --model sonnet resolves to claude-sonnet-5, so aliases beat pinned ids; --effort exists and an unknown value warns rather than errors; a plan only exists if the Thread started in plan mode; TERM=dumb disables ZLE; a pty read blocks uninterruptibly.

Two patterns behind nearly every bug found: capabilities built in Rust and unreachable from the interface (six in one day), and the app doing something without saying so — which is what "unclear what to do where and when" actually meant.

Next steps are ordered, and the first one is an instruction not to write code: open a real zsh and check bindkey ^T by hand before touching the completion driver again.

A handoff for whoever picks this up. Two jobs: say what is true right now, and
stop the next person paying again for things that cost hours here.

The traps are the point. Editing Rust — or switching branches — while `pnpm app`
runs restarts the user's Threads. Merging with `--delete-branch` auto-closes any
PR based on that branch and a closed PR cannot be reopened, which is how #34 was
lost. This repository squash-merges only, so the PR body is the commit message.

The established facts are there so nobody re-derives them: the gate must print
nothing when it does not object, because `defer` ends the turn and reports
success; `--effort` exists and an unknown value warns rather than errors; a plan
only exists if the Thread *started* in plan mode; `TERM=dumb` disables ZLE; a pty
read blocks uninterruptibly.

Also the two patterns behind nearly every bug found: capabilities built in Rust
and unreachable from the interface, and the app doing something without saying so.
Six of the first in one day. The second is what the user meant by "unclear what to
do where and when", and it is fixed instance by instance and never as a pattern.

Next steps are ordered, with the first being an instruction not to write code:
open a real zsh and check `bindkey ^T` by hand before touching the completion
driver again. The last session lost several rounds patching that blind.
@QuintinBotes
QuintinBotes enabled auto-merge (squash) August 4, 2026 09:37
@QuintinBotes
QuintinBotes merged commit a124cf6 into main Aug 4, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant