| 📦 Turbo Go 3d7798b k33g 11h ago | 1 | # Handoff — 2026-09-03 — stale menu claims, found while building a third editor |
| 2 | |
| 3 | ## Where this stopped |
| 4 | |
| 5 | Done, nothing in flight. **Documentation only; no code changed and no dependency moved.** |
| 6 | |
| 7 | ## What changed |
| 8 | |
| 9 | - `docs/{en,fr}/explanation/architecture.md` — "both editors" → "every editor", now that |
| 10 | turbo-python exists. |
| 11 | - `docs/{en,fr}/tutorials/getting-started.md` — the menu bar listing, which said |
| 12 | `File Edit Search Run Options Window Help` and was missing **Code**, **Snippets** |
| 13 | and **this editor's own Go menu**; and "press `→` four times to reach Options", which has |
| 14 | been five since the Code menu shipped. |
| 15 | - `docs/{en,fr}/reference/menus.md` — the opening sentence, which omitted Code. |
| 16 | |
| 17 | ## How they were found, and how they were checked |
| 18 | |
| 19 | Not by a test — there is none that could. The binary was built to `/tmp` and driven in a |
| 20 | pty, and the bar read back off the wire: |
| 21 | |
| 22 | ``` |
| 23 | File Edit Search Run Code Options Window Snippets Go Help |
| 24 | ``` |
| 25 | |
| 26 | Then `F10` followed by five `→` was confirmed to land on `Options` with `Theme…` |
| 27 | highlighted. |
| 28 | |
| 29 | ## Trap for the next session |
| 30 | |
| 31 | **A tutorial is prose about a screen, and a library that grows a menu makes it wrong |
| 32 | silently.** This one had been wrong since the Code menu shipped, and the bar listing had |
| 33 | been wrong since long before that — it predates Snippets and the toolchain menu. Re-read |
| 34 | those counts off a real terminal after any change to the menu bar, in both languages. |
| 35 | |
| 36 | ## Already red when I arrived — not caused here, not fixed here |
| 37 | |
| 38 | `go test ./...` **fails at `HEAD` on a clean tree**, verified by stashing this session's |
| 39 | changes and running it again. Four tests in `internal/golang/templates_test.go`: |
| 40 | |
| 41 | - `TestTheCreatedToolsFileHoldsTheFiveGoCommands` — the file now holds **eight**: the five, |
| 42 | plus `Echo`, `Grep` and `Init module`, which the starter file gained deliberately to teach |
| 43 | the `menu` key and the `{{placeholder}}` syntax. |
| 44 | - `TestRunIsTheOneToolInATerminal` — `Grep` goes to `editor` and `Echo` to `terminal`, both |
| 45 | on purpose. |
| 46 | - `TestTheCreatedToolsFileStillLoadsWithItsPlaceholderExamples` — asserts none of the |
| 47 | starter commands takes a value, which the two new examples deliberately do. |
| 48 | - `TestTheCreatedSnippetsFilesTabsSurviveTOML` — looks for an `if err != nil` snippet the |
| 49 | file no longer has. |
| 50 | |
| 51 | **The template moved and the tests did not.** The templates look right — turbo-python's |
| 52 | equivalent test counts its own `Echo` tool, and the `turbo-new-editor` skill prescribes |
| 53 | showing a placeholder and the `menu` key in the starter file — so the fix is in the |
| 54 | assertions, not in the template. Left alone because deciding what those assertions should |
| 55 | now say is the tools-template cycle's business, not a documentation session's. |
| 56 | |
| 57 | `go vet ./...` also reports `demo/main.go:11:1: expected selector or type assertion`, in the |
| 58 | demo project rather than the editor. |
| 59 | |
| 60 | ## State |
| 61 | |
| 62 | **Not committed.** |