session 2026-08-02 evening: Control Kernel v1.0→v1.1, reduction arm, CONTROL-A/B, trial 04 VOID, correlation 01
Session record, memory updates and KG appends for the evening session. Filed: Control Kernel v1.0 (frozen, superseded) and v1.1 (governing); the reduction arm and its two censuses; CONTROL-A and its defect twin with a bidirectionally-gated ledger; trial 04 (CONTROL VOID) and its pre-registration; correlation 01 — the first measurement of Constraint 6's own falsifier, jurist 4-of-6 and Fool 0-of-6 with no overlap. New feedback memory: removing a claim is not the same as removing the reliance on it. Earned by finding that draft 3's "fix" to CONTROL-A had CONCEALED a defect rather than closed it — invisible to me, the kernel and four gates, found by a differently-formed reader. Verification ladder: the discrimination gate — a check must return different verdicts on two REAL artifacts, one with the property and one without. 6 KG lines: two drift-patterns, one good-direction, two preventions, and the Constraint 6 first-measurement.
This commit is contained in:
@@ -8,6 +8,7 @@ metadata:
|
||||
node_type: memory
|
||||
type: reference
|
||||
originSessionId: b3202a24-301f-499d-af9e-ac5368dd2c73
|
||||
modified: 2026-08-02T16:04:03.432Z
|
||||
permalink: claude-memory/reference-verification-ladder
|
||||
---
|
||||
|
||||
@@ -116,6 +117,12 @@ Proven gates, each earned from a real catch. Reach for the one the claim's shape
|
||||
## Test-harness claims
|
||||
- **The sandbox must pin the SAME module object the code imports** — patch `sys.modules`, not a freshly-exec'd copy; a `_load()`-style loader builds a different object and the mispinned sandbox tests nothing.
|
||||
|
||||
## Gate design — the discrimination gate
|
||||
- **A check must discriminate between two REAL artifacts, one known to have the property and one known to lack it.** Same verdict on both = the check has demonstrated nothing, however many synthetic fixtures it passes. Earned 2026-08-02 after **four instances in three days** of a *passing* check certifying a property of the **code** while claiming a property of the **result**, every one found by a person looking: the vignette field colour bound to a class no element carried · the Fool harness recording `degraded:null` on a run with no answer · five splitter defects found only by contact with real documents · the §3.3 screen false-passing a package whose Part VII *is* a collected limitations section.
|
||||
- **The reason positive controls did not catch these: the fixtures were derived from the CHECK, not from the PROPERTY.** "What makes this regex fail?" instead of "what makes this claim false?" A control built from the check's own vocabulary inherits its blind spot by construction — the same shape as *controls built by extraction leak by construction*. **Derive fixtures from the property; draw them from real artifacts**, since a synthetic negative is written by the same hand as the check.
|
||||
- **Every check states, in its own output, what it did NOT establish** — the necessary-but-not-sufficient gap named beside the pass. A check that cannot name its gap does not ship.
|
||||
- **The residue is irreducible and needs a differently-formed reader.** Discrimination catches proxy-gaps where a real negative instance exists; it cannot catch a proxy that discriminates on the pair and fails elsewhere. What is left must be *looked at* before the claim is made, by someone who is not the check's author — Constraint 6 applied to instruments. Reference implementation: `dotfiles/claude/governance/fool/test_discrimination.py`, which is shown rejecting the §3.3 pattern **as it actually shipped**.
|
||||
|
||||
## Estimates and schedules
|
||||
- **Quote a long-job ETA only from an observed rate** — twice in one day I gave an ETA from intuition and was wrong by ~30×. Measure rows-per-elapsed on the running job, or benchmark a slice, then quote.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user