Skip to content

v5.2.0 — the lean pivot

Latest

Choose a tag to compare

@marcuspat marcuspat released this 07 Oct 14:26
· 37 commits to main since this release
0126ed4

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