Release v0.7.0 — Probe Gate#12
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
user | territory | probe | parked | OPEN + route. No new schema or command: a probe is an artifact (kind:"probe") whosedisposal: pendinghole drains confidence until the code is disposed or explicitly promoted. Both invariants are CLI-enforced:artifact addinjects the hole on any probe that omits it, and a probe retraction must state its outcome (--reasonstartingdisposed:orpromoted:; promotion requires--superseded-by). Card attemplates/probe-card.md;/ratchet:buildgained build-for-learn mode;/ratchet:handoffreports probe outcomes.ratchet score aperturewithmapRequiredserializes afog: pre-build map requiredopen loop for writer callers on both output modes (the JSON result carriesrecordedFog, 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 viaschemas.FOG_LOOP_PREFIXso 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.fog:loop is open is a FAIL (\bbuild\b, so "rebuild trust" doesn't false-positive).Fog: none recorded)./ratchet:attackserializes wrong-premise findings as fog and/ratchet:buildre-scores the aperture after two deviations (prompt-level, distinguished from the CLI-enforced pieces above).Review
Independent review verdict: PATCH-THEN-KEEP — all three boundary leaks patched before this cut (
--jsonfog 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
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