Handoff — 2026-09-15 — ACP agent windows
State
Done and working. Branch feature/acp, created locally, not committed and not pushed. The companion branch of the same name in turbo-core holds the actual feature; read that repository's handoff of the same date first — it has the traps.
make test is green here for the first time since 2026-09-03: four assertions in internal/golang/templates_test.go had been describing a starter tools file that changed under them, and fixing them was step zero of this cycle.
The feature was driven against the user's own stack (docker agent v1.139.0 → llama.cpp → JetBrains Mellum2) by running ./bin/turbo-go in a pty. Seen working: Alt-A, the menu built from .turbo-go/acp.toml, the window, a streamed reply, a shell tool call with its permission dialog, and Go code in a fence coloured by this editor's own scanner.
In flight
Nothing.
Next steps
- Read the diff here — it is small: one template, one profile field, six doc pages.
- turbo-core has to be released first. This repository cannot build against an unreleased library from a clean clone. Order: tag and release turbo-core →
go get codeberg.org/turbo-editors/turbo-core@vX.Y.Zhere →GOWORK=off make check→ tag and release this. - Try it by hand. Nothing below has been touched by a person.
Watch out for
go.workis what makes the two repositories build together, and it is gitignored, so nothing can be forgotten before committing.GOWORK=offis the only way to see what a clean clone sees — run it before calling anything finished. Do not rungo mod tidyhere while the workspace is active: it can write unpublished versions intogo.mod.- The sandbox's filesystem corrupts
cpfor some recently-written inodes — the file is right throughcat,git,gofmtandgo build, and comes out ofcpas pure NUL bytes at the correct length. It bitturbo-core'srelease_test.go, which copies the module withcp -r. Recreating the file at a fresh inode fixes it. Git stores the correct bytes; verified. - The template takes two blanks, not one —
%[1]sthe project directory and%[2]sthe user-level path — andfmt.Sprintfwrites%!s(MISSING)into the output rather than failing.TestTheCreatedAgentsFileFillsBothOfItsBlanksis what catches a miscount. .turbo-go/acp.tomland.turbo-go/agent.yamlwere written into this repository while testing. They are working files, not part of the feature — decide whether to keep them or delete them before committing.- A doc page written before the code is a design document. Three claims in these pages were wrong by the time the code existed. They were corrected against the running binary, but the lesson is the ordering: re-read every such page line by line against the code before treating it as documentation.
Never touched by a human
The mouse in an agent window; Tab between the panes on a real keyboard; resizing during a turn; two agents tiled side by side; a conversation long enough for the per-frame re-wrap to matter.
Open questions
- Keep
.turbo-go/acp.tomland.turbo-go/agent.yamlin the repository as a worked example, or delete them? - The other six editors each need one
acp.toml.tmpland oneprofile.Templates.Agentsline. Do them all at once, or as each is next touched?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|