Handoff — 2026-09-14 — Turbo Golo, first build
State
The editor is complete and green. make check passes (250 tests, 0 skipped with golo on PATH), the quality gate passes, the documentation is complete in both languages, the root README.md is written, and the tutorial has been driven through a pty. Nothing is in flight.
The working tree is uncommitted: everything sits untracked on main at 7069d2c, the initial commit. No commit was asked for.
How this got here
Two sessions on the same day. The first built everything and ended before writing .memory/ — its only record was /tmp/tg/FACTS.md (its fact sheet for the docs), the pty dumps /tmp/tg/*.raw, and the drivers /tmp/tg/pty_run.py / screen.py / wire.py. The second session found the state from disk, wrote the missing French tutorial, the README and this memory, and registered the editor in the family. /tmp will not survive the sandbox; everything worth keeping from FACTS.md is now in summary.md.
What was touched outside this repository
Three sibling repositories were edited, each with its own history entry and handoff, and each needs its own commit:
- turbo-core —
README.md,docs/{en,fr}/README.md,docs/{en,fr}/how-to/test-without-publishing.md,profile/profile.go(comment only),.memory/summary.md. Five editors now. Its.gostrings were swept; no code change. - turbo-python —
docs/{en,fr}/explanation/architecture.md, "all four editors" → five. - turbo-moonbit — the same sentence. Its tree also carries the user's own uncommitted change to
demos/hello/.turbo-moonbit/settings.toml, which predates this work.
Next steps
- Commit — this repository, turbo-core, turbo-python, turbo-moonbit.
- Run a mutation pass over the tests before tagging. No record says the first session did; every sibling's first session did. The scanner, the templates, the diagram test and the LSP tests are the four suites to break on purpose.
/tmp/falsify*.pyfrom turbo-moonbit's session show the in-process pattern (never a shellcpround trip — see that repository's handoff). - Tag
v0.1.0.release.envalready says so.01-release.tag.shrunsmake checkand refuses a livereplace; it should go through as it stands.
Watch out for
golomust be on PATH for the suite to mean anything. Thegolo lsptests skip themselves without it, and under-short. A greengo test -short ./...proves nothing about the server. Here it is/home/agent/bin/golo, v0.1.1.golowith no argument is the REPL, reading stdin as Golo. ThelspinServerArgs()is load-bearing; dropping it looks like a server that never answers and never dies.docs/*/reference/languages.mdis read byreference_test.go. Reformatting that table breaks the test rather than the docs.- The builtins table is held to the real server's list. A newer GoloScript that adds a builtin fails that test on purpose; update the table, do not loosen the test.
- "Golo" is the language, "GoloScript" the implementation. The docs keep the distinction everywhere; a mechanical edit that writes "GoloScript file" is wrong.
- The Golo menu's
Runasks which script to run — there is no manifest, so nothing else could know. Six of the eight tools ask for something; that is the design, not an omission. - The user is on macOS; this sandbox is Linux.
/tmp/tg/turbo-golois an ELF built for the pty run and lives outside the tree on purpose. Never leave a binary inbin/. cponto an existing file under~/.claude/skills/produced a file made entirely of NUL bytes, twice — once over the old file and once afterrm. Writing the bytes from Python (open(dst,'wb').write(open(src,'rb').read())) worked; verify withcmpafterwards. turbo-moonbit's handoff records the same filesystem doing this to Go sources during acpround trip. Do not trust acpon this sandbox without acmp.
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 |
|