Handoff — 2026-09-01 — Tool parameters and release tooling
State
Both halves are done and green.
Tool parameters: a {{label}} in a tools command opens a box before the command runs, one field per label, values shell-quoted unless the label ends in ..., remembered per tool for the session. Verified in a real pty against Turbo Go.
Release tooling: 01-release.tag.sh publishes the library, 02-release.publish.sh creates the Codeberg release page for a tag already pushed.
Everything is committed and released. turbo-core v0.1.0 (f1f0375), turbo-go v0.2.2 (d64410c), turbo-rust v0.1.0 (2d5dbec) — the last two exactly at their HEADs, all three trees clean on main. Both editors depend on the published library with no active replace.
Whole suite green in all three repositories; quality gate PASS at 0/0/0 everywhere.
In flight
Nothing.
Next steps
- Nobody has used a parameterised tool for real work yet. That is the next thing worth doing, and the first hour of it will find something.
- turbo-core's next tag should pick up
bc4a464— the publish script and the release how-to are onmainbut not in v0.1.0. - Two lines of tidying in the editors'
go.mod, whenever something else takes you there: the commented-out replace block, whose text is now false, and the missing trailing newline.
Open questions / blockers
None.
Watch out for
-
turbo-core v0.1.0 does not contain
02-release.publish.sh. The tag was cut one commit earlier. Do not move it — consumers pin it and the proxy caches what it fetched; the release script refuses for that reason. Fold it into the next version. -
The editors carry a commented-out
replacewhose comment is now wrong. It says "drop it once the version above is tagged and published"; it is. Harmless, but it costs the next reader a minute. -
A checksum mismatch after dropping the replaces is probably a poisoned module cache, not an attack. An earlier verification here built a hand-made
file://proxy zip for v0.1.0, and its hash went into$GOMODCACHE.rm -rf "$(go env GOMODCACHE)"/{,cache/download/}codeberg.org/turbo-editorsand re-fetch before concluding anything. -
TURBO_CORE_RELEASINGis load-bearing. The release script exports it beforemake check, and the two end-to-end tests inrelease_test.goskip themselves when they see it. Remove the export and a real release recurses until something runs out — which is how it was found, by hanging. -
release.envholds a live Codeberg token..gitignorecovers*.env, andcopyModuleIntoinrelease_test.goskips*.envso no test carries it into a temporary directory. Keep both. -
Double braces are not a style choice. A falsification run with single braces turned
awk '{print $1}'intoawk ''''.TestSingleBracesAreNotPlaceholdersis what holds it. -
Fillre-scans the command rather than using whatPlaceholdersreturned. That is deliberate: a label written{{x}}in one place and{{x...}}in another is asked for once and substituted according to each occurrence's own braces. -
The popup's title is the filled command, because
tools.Startrecords what it was given. If you changerunCapturedback totool.Command, the title will lie about what ran and two tests will say so. -
MaxParameterFieldsis computed from the screen, not a constant. A test pins the value for a 24-row terminal; if you changeparameterChrome, that number changes with it.
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 37 38 39 40 41 |
|