Write down what the next person needs, and what not to rediscover - #39
Merged
Conversation
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
enabled auto-merge (squash)
August 4, 2026 09:37
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.
A handoff document for whoever picks this up next.
Says what is true right now —
maingreen 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 appruns restarts the user's Threads;--delete-branchauto-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 PRBEHIND.Established facts, so they are not paid for twice: the gate must print nothing when it does not object, because
deferends the turn and reports success;--model sonnetresolves toclaude-sonnet-5, so aliases beat pinned ids;--effortexists and an unknown value warns rather than errors; a plan only exists if the Thread started in plan mode;TERM=dumbdisables 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 ^Tby hand before touching the completion driver again.