Skip to content

Release v0.7.0 — Probe Gate#12

Merged
TheLucidTech merged 2 commits into
mainfrom
release/v0.7.0-probe-gate
Jul 6, 2026
Merged

Release v0.7.0 — Probe Gate#12
TheLucidTech merged 2 commits into
mainfrom
release/v0.7.0-probe-gate

Conversation

@TheLucidTech

Copy link
Copy Markdown
Owner

0.2 gated proof; 0.3 gated the seam; 0.4 metered the depth; 0.5 gave it a cockpit; 0.6 gated the fog. 0.7 gates the touch: a probe is a build whose proof-of-done is knowledge, not code. Probe code dies; probe findings live.

What ships

  • Probe — build-for-learn as a first-class map closure. Known unknowns close by user | territory | probe | parked | OPEN + route. No new schema or command: a probe is an artifact (kind:"probe") whose disposal: pending hole drains confidence until the code is disposed or explicitly promoted. Both invariants are CLI-enforced: artifact add injects the hole on any probe that omits it, and a probe retraction must state its outcome (--reason starting disposed: or promoted:; promotion requires --superseded-by). Card at templates/probe-card.md; /ratchet:build gained build-for-learn mode; /ratchet:handoff reports probe outcomes.
  • Undrained-fog fix. ratchet score aperture with mapRequired serializes a fog: pre-build map required open loop for writer callers on both output modes (the JSON result carries recordedFog, so programmatic consumers cannot bypass the write); propose-only agents get a footprint-free read. artifact add kind:"unknown-map" closes the loop when the map lands — prefix shared via schemas.FOG_LOOP_PREFIX so open and close can never drift. Scored fog now drains confidence, warns cold starts, and survives handoff even if the session never runs the map.
  • Cold-start fog checks. A retracted probe is a completed build-for-learn (exempt from the dead-steering FAIL); a live probe is residue (warn); steering that says build while a fog: loop is open is a FAIL (\bbuild\b, so "rebuild trust" doesn't false-positive).
  • Receipt fog card. STATE renders fog — unknown-maps with OPEN item counts, unmapped fog loops, probes live/disposed — with emptiness stated (Fog: none recorded).
  • Map convergence rule + surprise tripwires. Every OPEN item leaving handover names its route out; /ratchet:attack serializes wrong-premise findings as fog and /ratchet:build re-scores the aperture after two deviations (prompt-level, distinguished from the CLI-enforced pieces above).
  • Session confidence scope now reads recorded loop pressure, not correctness.

Review

Independent review verdict: PATCH-THEN-KEEP — all three boundary leaks patched before this cut (--json fog bypass, unenforced probe hole, self-asserted disposal). Reviewer item 4 (objective-fingerprint fog matching) is deliberately parked as a ratchet open loop for a future release, not silently absorbed.

Proof

npm test
  cli.test.js           60 passed   (+11 this release)
  evolve.test.js        19 passed
  plugin-shape.test.js  16 passed   (versions aligned across every surface)

New tests verified falsifiable: run against pre-change src, the suite fails at the first probe/fog assertion. Zero new runtime dependencies; no new schema; no new commands.

Author-model: claude-fable-5

🤖 Generated with Claude Code

Expresiions and others added 2 commits July 6, 2026 15:01
Some fog only appears by touching, and fog the dial named could live only on
stdout. The probe closes both: a build whose proof-of-done is knowledge, not
code.

- Probe as first-class map closure (user | territory | probe | parked | OPEN)
  with no new schema: artifact kind:"probe" + hole "disposal: pending". The
  hole is injected at artifact-add (invariant, not convention); disposal
  reuses the gated retract verb and must state its outcome (disposed:/
  promoted:, promotion requires --superseded-by). templates/probe-card.md
  carries the card; build gained build-for-learn mode; handoff reports probe
  outcomes.
- Undrained-fog fix: score aperture with mapRequired serializes a
  "fog: pre-build map required" open loop for writer callers on BOTH output
  modes (JSON carries recordedFog); artifact add kind:"unknown-map" closes it.
  Prefix shared via schemas.FOG_LOOP_PREFIX so open/close cannot drift.
- Cold-start fog checks: retracted probe = completed (exempt from the
  dead-steering FAIL), live probe = residue warning, open fog + \bbuild\b
  steering = FAIL.
- Receipt STATE gains a fog card (maps + OPEN counts, fog loops, probes
  live/disposed) — emptiness stated.
- Map convergence rule: every OPEN item names its route out; surprise
  tripwires (prompt-level) in attack and build.
- Session confidence scope now reads "recorded loop pressure, not
  correctness".

Review-hardened (PATCH-THEN-KEEP): --json fog write, probe hole invariant,
gated retract outcomes; reviewer item 4 (objective-fingerprint fog matching)
parked as an open loop in ratchet state.

npm test green (cli 60 · evolve 19 · plugin-shape 16); new tests fail without
the change (verified against HEAD src). No new dependencies, schemas, or
commands.

Author-model: claude-fable-5

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0.2 gated proof; 0.3 gated the seam; 0.4 metered the depth; 0.5 gave it a
cockpit; 0.6 gated the fog. 0.7 gates the touch: build-for-learn is distinct
from build-for-keep — a probe is a build whose proof-of-done is knowledge,
not code. Probe code dies; probe findings live.

- Bumps package.json, both plugin manifests, and the marketplace manifest to
  0.7.0 (both CLIs derive their version from package.json).
- Promotes the [Unreleased] entries into [0.7.0] — Probe Gate: probe closure
  + CLI-enforced invariants, the undrained-fog fix (fog serialized on both
  output modes), cold-start fog checks, receipt fog card, map convergence
  rule, and prompt-level surprise tripwires.
- Adds the 0.7.0 compare link.

npm test green (cli 60 · evolve 19 · plugin-shape 16); versions aligned
across every surface.

Author-model: claude-fable-5

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@TheLucidTech TheLucidTech merged commit 123e53e 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