Releases: TheLucidTech/torque-loop
Release list
v0.6.0 — Fog Gate
0.2 gated proof; 0.3 gated the seam; 0.4 metered the depth; 0.5 gave it a cockpit. 0.6 gates the fog — high-uncertainty work maps its unknowns before it builds: no map → no confident build.
Added
/ratchet:map— the pre-build fog gate. Walks the task through the four unknown-quadrants — known knowns (settled ground withfile:lineevidence), known unknowns (one blast-radius-ordered question at a time), unknown knowns (tacit taste surfaced by putting concrete options in front of the user), unknown unknowns (a swept landmine field) — and hands over one durable four-quadrant map, a build plan, and a copy-paste implementation prompt before any code is written. CLI-backed (artifact kind:"unknown-map", decisions, assumptions, open loops); its open items drainratchet score confidenceuntil closed.- Aperture routes through the map.
ratchet score aperturefolds/ratchet:mapinto the A3–A4 metered sequences (beforebuild) and returns amapRequiredflag — true at A3+, or when a single dimension the summed score under-weights demands it (taste = 2, orterrain = 2with anyambiguity)./ratchet:igniteroutes high-uncertainty work through the fog gate instead of relying on the operator to remember. A4 still builds nothing. - The map lives through the build. New
templates/unknowns-map.md(four-quadrant file shape + a Deviations during build section) andtemplates/deviation-note.md(map said X → code revealed Y → call made)./ratchet:buildbuilds against an existingunknown-mapartifact and records deviations as decisions/open-loops/defects instead of silently absorbing them;/ratchet:handoffsurfaces them so the receiver never re-litigates what the build discovered.
Notes
- Method grafted from
dzhng/skillsexplore-unknowns, expressed in ratchet's own vocabulary — no prose copied. - Zero new runtime dependencies.
npm testgreen across Node 18/20/22 on Ubuntu and Windows.
Full changelog: v0.5.0...v0.6.0
v0.4.0 — Aperture
0.2 gated proof; 0.3 gated the seam of that proof. 0.4 adds the dial that decides how much of the loop to run at all: spend the full ratchet only when uncertainty earns it, and snap when it doesn't.
Added
- Aperture dial —
ratchet score aperture <json>scores five uncertainty dimensions (ambiguity,terrain,taste,blastRadius,reversibility, each 0–2), maps the total to a level A0–A4, and returns the exact ratchet skill sequence to run at that depth — frombuild → verify(A0 Snap) up tolock → cut → decidewith no build until constraints are locked (A4 Max). A missing dimension defaults to neutral (1), never certain (0), so unknown uncertainty opens the aperture rather than closing it. - Aperture Read in
/ratchet:ignite— the master loop now meters itself: it scores the task first and runs only the depth uncertainty earns, instead of always running all seven steps./ratchet:lockgained a matching "meter what follows" note.
Changed
/ratchet:ignitereframed from "run all seven; do not skip" to "run the aperture's metered sequence" — the seven-step pipeline is now the A2 default, not the floor.- Bumped package, both plugin manifests, and the marketplace manifest to
0.4.0.
63 tests pass (31 cli · 19 evolve · 13 plugin-shape). Versions aligned at 0.4.0; ratchet doctor healthy.
Provenance: grafted from an auto-aperture skill fork — we imported only its novel primitive (the uncertainty-scored dial) in ratchet's own dialect, and dropped the phases that already existed as cut/lock/decide/build/verify/compile.
v0.3.0 — Seam Gate
Where 0.2 made the loop require proof, 0.3 asks whether the proof is about the thing you are actually shipping. A proxy evaluation can produce the right-looking number and still point at the wrong decision, so a production KEEP now needs evidence from the exact ship seam — and remediated defects can finally be cleared, waived, or superseded through the CLI instead of blocking confidence forever.
No proof → no keep (0.2). Wrong proof → no ship (0.3).
Added
- Defect lifecycle —
ratchet defect resolve | reopen | waive | supersede, pluslistandget.resolverequires--evidence;waiverequires--ownerand--reason;supersedelinks the replacement with--by. Each transition is logged per-defect and mirrored into the QA ledger. This is the mutation 0.2 lacked: a defect could be born but never cleared, so remediated work stayed confidence-blocking forever. - Seam-fidelity metadata on evolution events — a verification can now record
evidenceType,method,independentFromBuilderMethod,testedSeam,shipSeam,seamMatch, andproxyWarning. - Seam gate — a production-code (
mode: code)KEEPis rejected unless the evidence seam is an exact match for the ship seam, or a named human waiver is supplied. Verification that repeats the builder's own method is rejected as not independent. ratchet retract <id>— retract an artifact whose claim became false or obsolete (--reason,--superseded-by). Provenance is preserved (keptForProvenance), and a retracted artifact's holes stop draining confidence.ratchet git status-refs— base-qualified git status: every ahead/behind count names the ref it was measured against — never a bare "ahead of main".ratchet doctor cold-start— scans for stale steering that would start the next session in the wrong world. Generic ratchet-state checks always run; project operator surfaces (goal files, decision sheets) are an opt-in adapter via.ratchet/cold-start.json. No workspace path is hardcoded, and a declared-but-unimplemented check warns rather than silently passing. Seetemplates/cold-start.example.json.REVERTED_AND_LEARNED— a first-class successful evolve outcome for a mutation reverted after verification that still left a reusable lesson. Evolve status counts it distinctly: corrected knowledge, no bad code kept.- Codex install metadata:
.codex-plugin/plugin.jsonplus a repo-local.agents/plugins/marketplace.json, so the plugin can be registered and installed by Codex CLI and surfaced in the Codex app.
Changed
- Confidence scoring now treats
waivedandsupersededdefects as terminal (likeresolved/closed) — a change proven necessary by a failing test before it was made.resolvedhandling was already correct and was left untouched. - The terminal-defect predicate is centralized in
scoring.isDefectOpenand consumed by the scorer, the state summary, and the QA ledger, so a cleared defect can never read as open on one surface while draining on another. - The
ratchetCLI gained a real--key valueflag parser for subcommands that carry values (the router previously treated every--flagas boolean). - Package metadata,
ratchet doctor, and plugin-shape tests now cover both Claude Code and Codex manifests. - Bumped package, both plugin manifests, and the marketplace manifest to
0.3.0.
Fixed
- Remediated defects could never be cleared through the CLI, so they blocked confidence permanently. They can now be resolved, waived, or superseded.
- A production
KEEPcould be justified by a proxy evaluation that measured a different seam than the one it ships on. The seam gate now blocks that.
59 tests pass (27 cli · 19 evolve · 13 plugin-shape). Versions aligned at 0.3.0 across all surfaces; ratchet doctor healthy.