Repository navigation
The v5.2 release: Turbo Flow becomes what it always was under the hood — the rules layer. One product (rig-lite), one source of truth (AGENTS.md), every file on the surface earning its place. 68 files → 35; the working tree drops to 1.8 MB; the v4 era stays fully recoverable in the v1.0.1 → v4.0 tags.
The three strips (each gated cross-family, each merged by a human)
| strip | PR | what happened |
|---|---|---|
| 1 | #62 | dead weight out: unreferenced logo PNGs (3.1 MB), the V2 stub, the legacy k8s-planes tree, dead V1/V3 CI excludes — 17 files, −3,711 lines |
| 2 | #63 | the v4 product half out: the Ruflo install chain, v4 demo + era docs (−7,373 lines). In their place: AGENTS.md as the source of truth (CLAUDE.md is a symlink), a minimal kit devcontainer whose postCreate runs the self-test, and READMEs rewritten around one stack line |
| 3 | #64 | tokens.py drops down — the multi-harness token dashboard (zcode + claude + codex + gate), the first open-core drop from the private Turbo Rig, adapted to the kit's own gate log |
The reposition
ZCode builds · Claude Code reviews (Ruflo mod installed when you want orchestration) · Codex backs up the review. The kit ships none of them. Any harness that reads AGENTS.md works here; the gate knows the builder families and refuses same-family review. Ruflo grew its own onboarding (npx ruflo@latest init wizard, plugin marketplace, built-in memory + console) — Turbo Flow now points at it for execution instead of wrapping it.
Why trust it
- 252 self-test checks ALL PASS — grown by this release with ported auth-guard cases, a devcontainer contract, and the tokens fixture suite (34 cases, TZ-pinned, passing identically in UTC, Denver, New York, Tokyo)
- The gate earned its keep on its own repo: across the three PRs it caught a timezone-dependent test suite that would have broken UTC CI and the devcontainer, crash paths on malformed JSON in every adapter, dead links, overclaims, and a jq dependency without an honest skip — every catch became a test
- tokens.py is read-only by construction (SQLite
mode=ro, no writes anywhere), and the keystore token never reaches argv - Fail-closed everywhere: ambiguity is REVISE, humans hold the merge button — this release was merged by one