turbo-editors/turbo-corepublic Fork 0
28d59854361aeda8541d853093e732126f3d7bff
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-core.git
git clone ssh://git@rickub.com/turbo-editors/turbo-core.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

2026-09-01-tool-parameters.md · 41 lines · 3.4 KBmarkdown Blame HistoryRaw
🛟 Updated. 28d5985 k33g 17h ago1# Handoff — 2026-09-01 — Tool parameters and release tooling
2
3## State
4
5Both halves are done and green.
6
7**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.
8
9**Release tooling**: `01-release.tag.sh` publishes the library, `02-release.publish.sh` creates the Codeberg release page for a tag already pushed.
10
11**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`.
12
13Whole suite green in all three repositories; quality gate PASS at 0/0/0 everywhere.
14
15## In flight
16
17Nothing.
18
19## Next steps
20
211. **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.
222. **turbo-core's next tag should pick up `bc4a464`** — the publish script and the release how-to are on `main` but not in v0.1.0.
233. **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.
24
25## Open questions / blockers
26
27None.
28
29## Watch out for
30
31- **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.
32- **The editors carry a commented-out `replace` whose 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.
33
34- **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-editors` and re-fetch before concluding anything.
35
36- **`TURBO_CORE_RELEASING` is load-bearing.** The release script exports it before `make check`, and the two end-to-end tests in `release_test.go` skip 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.
37- **`release.env` holds a live Codeberg token.** `.gitignore` covers `*.env`, and `copyModuleInto` in `release_test.go` skips `*.env` so no test carries it into a temporary directory. Keep both.
38- **Double braces are not a style choice.** A falsification run with single braces turned `awk '{print $1}'` into `awk ''''`. `TestSingleBracesAreNotPlaceholders` is what holds it.
39- **`Fill` re-scans the command rather than using what `Placeholders` returned.** 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.
40- **The popup's title is the filled command**, because `tools.Start` records what it was given. If you change `runCaptured` back to `tool.Command`, the title will lie about what ran and two tests will say so.
41- **`MaxParameterFields` is computed from the screen, not a constant.** A test pins the value for a 24-row terminal; if you change `parameterChrome`, that number changes with it.