Skip to content

feat(map): land /ratchet:map on main#8

Merged
TheLucidTech merged 3 commits into
mainfrom
release/v0.5.0-receipt
Jul 6, 2026
Merged

feat(map): land /ratchet:map on main#8
TheLucidTech merged 3 commits into
mainfrom
release/v0.5.0-receipt

Conversation

@TheLucidTech

Copy link
Copy Markdown
Owner

Ride to main: /ratchet:map

The v0.5.0 receipt content is already on main (PR #6, merged 2026-07-04). This PR carries the only delta the release line has gained since: the /ratchet:map pre-build fog-of-war gate, added via PR #7.

What lands on main

  • 4941a5d feat(map): add /ratchet:map — the pre-build fog-of-war gate
  • e315d47 fix(map): rewrite ported prose in ratchet's own words + changelog entry

Still [Unreleased] — no version bump; this is post-0.5.0 work that stays unreleased until the next tagged release.

Verification (re-confirmed on the release tip)

  • npm test → green (cli + evolve 19 + plugin-shape 14, incl. the map guard).
  • node bin/ratchet doctor → healthy.
  • No src/schema change; main and release/v0.5.0-receipt converge after merge.

🤖 Generated with Claude Code

https://claude.ai/code/session_016zHEHzbyqKYJZhDpSJfkq5

Expresiions and others added 3 commits July 6, 2026 04:29
The loop had no pre-build ambiguity gate: /ratchet:cut attacks assumptions but
nothing walks the user through what the codebase tacitly knows before building.
Adopt the four-quadrant unknowns walk (known knowns, known unknowns, unknown
knowns, unknown unknowns, then hand over the map) as /ratchet:map.

Distilled, not vendored: the general mechanism in ratchet's own vocabulary and
CLI-backed state (artifact kind unknown-map, decisions, assumptions with
killTests, openLoops), the way the aperture dial was grafted. The map's open
items drain `ratchet score confidence` on purpose: an unclosed unknown is
tracked pressure, not a forgotten one.

Reconciles with /ratchet:lock rather than contradicting it: lock says infer and
move (A0-A2); map says do not build on an unconfirmed high-blast-radius guess
(A3-A4). The map, not code, is the deliverable.

No src or schema change: kind is free-form, phase stays in-vocab (cut). Guarded
by a plugin-shape assertion that fails without the PROMPTS.md wiring, the one
doc-sync the generic README/frontmatter loops did not already cover.

Scope: PR1 only. Aperture auto-routing (scoring.js/ignite) and a first-class map
CLI are deferred. Grafted from dzhng/skills explore-unknowns (MIT; verify before
lifting any prose, this port copies none).

Author-model: claude-opus-4-8[1m]

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A review-before-ship pass caught that the previous commit's claim "copies none
of dzhng's prose" was false: several coined phrases and near-verbatim sentences
from explore-unknowns had been lifted — the two operating-principle names, the
"costs three PRs" aphorism, "settled unless you say otherwise", "who consumes
this...", "half-built or reverted prior attempts...", and "the map, not code, is
the deliverable". With the source license unverified, that is both an integrity
and an attribution problem.

Re-express the method in ratchet's own vocabulary (general mechanism, own words,
no prose copied) and add an explicit provenance note, matching the aperture-dial
graft precedent. Add the [Unreleased] CHANGELOG entry a command-adding change
needs, and fix the stale [Unreleased] compare link (v0.4.0 -> v0.5.0).

No behavior change. npm test and ratchet doctor green.

Author-model: claude-opus-4-8[1m]

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
feat(map): /ratchet:map — the pre-build fog-of-war gate
@TheLucidTech TheLucidTech merged commit 8f34b4b into main Jul 6, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants