turbo-editors/turbo-corepublic Fork 0
main
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-tickets-9-to-14.md · 44 lines · 3.2 KBmarkdown Blame HistoryRaw
🛟 Updated. 28d5985 k33g 11h ago1# Handoff — 2026-09-01 — tickets 9 to 14
2
3## State
4
5All six tickets are done and verified, on the branch `feature/menu-theme-and-settings` in all three repositories. Nothing is committed.
6
7Four land in turbo-core:
8
9| Ticket | What changed |
10| --- | --- |
11| 12 | `reapplySettings` in `app/project.go`, run from a new `afterSave` shared by both save paths. Saving `settings.toml` applies it at once. |
12| 11, 13, 14 | `projectFile` + `openProjectFile`/`hasProjectFile`/`not`. Six menu items: create greyed once the file exists, open greyed until it does. New API: `OpenTools`, `OpenSnippets`, `HasProjectTools`, `HasProjectSnippets`. |
13| 10 | `syntax.comment` raised past 4.5:1 WCAG in the six themes we author, plus `TestEveryThemeWeAuthorKeepsItsCommentsReadable`. |
14
15Suite green (16 packages), quality gate **PASS 0/0/0** at complexity 1724. Documentation complete in EN and FR, including a new `docs/*/how-to/test-without-publishing.md`.
16
17## In flight
18
19Nothing half-done.
20
21## Next steps
22
231. Review and commit on `feature/menu-theme-and-settings`, merge to `main`.
242. **Release v0.3.0**`OpenTools`, `OpenSnippets`, `HasProjectTools` and `HasProjectSnippets` are new public API, so it is a minor bump:
25 ```sh
26 TAG=v0.3.0 ./01-release.tag.sh
27 TAG=v0.3.0 ./02-release.publish.sh
28 ```
293. In each editor: `go get codeberg.org/turbo-editors/turbo-core@v0.3.0 && go mod tidy && make check`. Until then the editors keep requiring v0.2.0, which builds — the five library-side tickets simply are not visible in them yet. This is deliberate, and different from the last two releases: nothing is left unbuildable.
30
31## Open questions / blockers
32
33- None.
34
35## Watch out for
36
37- **`reapplySettings` matches on the path, not on `a.settingsPath`.** A project that had no settings file has nothing remembered, so a remembered handle cannot see the file being *created*. There is a test named for that case.
38- **It runs from `afterSave`, which both save paths share.** Anything added to one save path and not the other goes missing silently; that is what this function exists to prevent. Do not re-inline it.
39- **The status message ordering is deliberate**: `Saved …` is emitted first so that re-reading the settings can replace it. A settings file that no longer parses must win the status bar over "saved".
40- **The two contrast measures are not interchangeable.** `channelDistance` for anything the eye must merely distinguish; `contrastRatio` for anything read. The bug in ticket 10 sailed through the first at 128 against a floor of 64.
41- **Do not widen the WCAG rule to every key.** It was measured: 84 of 432 theme/key pairings across the shipped themes are under 4.5, most of them Catppuccin's published palette. A blanket floor would either fail honestly-correct themes or have to be lowered until it means nothing.
42- **The Catppuccin exemption is guarded.** `TestTheThemesWeDoNotOwnAreStillNamedThemesWeShip` fails if the list ever names a theme that is not shipped, so the exemption cannot quietly outlive its reason.
43- **`Already there` and "this project has no …" are now unreachable from the menus** but still reachable from the API, and still tested. Do not delete them as dead code.
44- `release.env` and `turbo-core.token.env` hold live Codeberg tokens and are covered by `*.env`. Keep it that way.