skill-harvest: the ledger is failure-shaped by schema — 4 proposals to make learning recordable
This commit is contained in:
@@ -692,3 +692,14 @@ Regenerating the quality ledger showed 20 files moving `A-convention` → `+B-te
|
|||||||
| `/jurist-package` | patch | **Mandate a mechanical verbatim-containment proof over every quoted passage, with a positive AND negative control, as a required step before filing** — not merely the existing prose discipline ("quote, never paraphrase"; "path-verify the reading list"). Run this session it caught **six** defects in a package I believed clean: five quotation-precision drifts and one **meaning-changing truncation** (§7's *"but ruled work, not tonight's"* rendered as *"but ruled work."* — a deferral turned into a commitment). The negative control is the load-bearing half: without it, a checker that always passes is indistinguishable from success. Checker at `scratchpad/verify_quotes.py`. | 2026-07-29; second instance of the class (2026-07-28 fabricated quote-ending in a Grounding section) | PROPOSED |
|
| `/jurist-package` | patch | **Mandate a mechanical verbatim-containment proof over every quoted passage, with a positive AND negative control, as a required step before filing** — not merely the existing prose discipline ("quote, never paraphrase"; "path-verify the reading list"). Run this session it caught **six** defects in a package I believed clean: five quotation-precision drifts and one **meaning-changing truncation** (§7's *"but ruled work, not tonight's"* rendered as *"but ruled work."* — a deferral turned into a commitment). The negative control is the load-bearing half: without it, a checker that always passes is indistinguishable from success. Checker at `scratchpad/verify_quotes.py`. | 2026-07-29; second instance of the class (2026-07-28 fabricated quote-ending in a Grounding section) | PROPOSED |
|
||||||
| `/jurist-package` | patch | **Formatting convention: ratified text = `>` blockquote; PROPOSED text = fenced block, never a blockquote.** The containment checker flagged that my own proposed constitutional text sat in a blockquote visually identical to the ratified quotes around it — a reader (or the jurist) could take proposed wording for text already in force. One line in the skeleton; removes a whole class of ambiguity in the document type whose entire job is letting a repo-blind party tell the two apart. | 2026-07-29, found incidentally by an instrument built for another purpose | PROPOSED |
|
| `/jurist-package` | patch | **Formatting convention: ratified text = `>` blockquote; PROPOSED text = fenced block, never a blockquote.** The containment checker flagged that my own proposed constitutional text sat in a blockquote visually identical to the ratified quotes around it — a reader (or the jurist) could take proposed wording for text already in force. One line in the skeleton; removes a whole class of ambiguity in the document type whose entire job is letting a repo-blind party tell the two apart. | 2026-07-29, found incidentally by an instrument built for another purpose | PROPOSED |
|
||||||
| `/wake-up` §3 (Next move) | patch | **Before executing an inherited resumption point, grep the substrate for whether its premise is already settled.** Today's inherited step ("construct the corruption case and confirm the guard FLAGS it") assumed an open question that had been demonstrated on a real book 10 days earlier and *ruled* 5 days earlier. The wrap that banked it was written in good faith; a wrap can bank a step whose answer is already in the record. Cheap: one grep for the step's key term over the repo + PENDING/REVIEWED. Complements the existing substrate-check discipline, which covers *"is this still outstanding?"* but not *"was this ever open?"* | 2026-07-29 | PROPOSED |
|
| `/wake-up` §3 (Next move) | patch | **Before executing an inherited resumption point, grep the substrate for whether its premise is already settled.** Today's inherited step ("construct the corruption case and confirm the guard FLAGS it") assumed an open question that had been demonstrated on a real book 10 days earlier and *ruled* 5 days earlier. The wrap that banked it was written in good faith; a wrap can bank a step whose answer is already in the record. Cheap: one grep for the step's key term over the repo + PENDING/REVIEWED. Complements the existing substrate-check discipline, which covers *"is this still outstanding?"* but not *"was this ever open?"* | 2026-07-29 | PROPOSED |
|
||||||
|
|
||||||
|
## New proposals (2026-07-29, steward-raised — "how did it become only a ledger of failure?")
|
||||||
|
|
||||||
|
**The diagnosis, measured:** the record is failure-shaped *by schema*, not by drift. Symmetria's standing ledger template is `Returns · Open horizons · Confidence to recalibrate · Authorization moves · Sub-agent dialogues · Bypasses` — **five of six are failure-or-risk shaped, and there is no standing section for what held.** The KG shows the same asymmetry: **74 `drift-pattern` vs 16 `drift-pattern-good-direction` (82% failure)** — and `/wake-up` §b.2 greps *drift-patterns*, so every wake systematically re-reads failures and rarely re-reads what worked. **The practice has been pushing back against its own schema for weeks**: `## Progress — …` has been hand-added to ledgers **six times** across recent sessions, plus `## Constitutional landing`, `## WHERE WE ARE`. The work kept improvising the missing section. That is evidence the omission is felt repeatedly, not a one-off.
|
||||||
|
|
||||||
|
| Target | Kind | Proposal | Earned by | Status |
|
||||||
|
|---|---|---|---|---|
|
||||||
|
| `symmetria` §4 (ledger template) | patch | **Add a standing `## What held` section** — instruments that fired *prospectively*, lessons that transferred to a failure class they were not built for, checks that caught something before it cost anything. Not a gratitude list: the entry format is *banked-lesson → what it caught → what it would have cost*. Without this the ledger can only record debits; the six hand-added `## Progress` headings are the practice compensating for a schema gap. | 2026-07-29, steward-raised; corroborated by 6 improvised headings + the 74:16 KG ratio | PROPOSED |
|
||||||
|
| `/wrap-up` §5 (KG append) | patch | **Add a `prevention` predicate** — `{subject: <banked lesson>, predicate: "prevention", object: <the failure it stopped, and where>}`. Distinct from `drift-pattern-good-direction`, which records *a good move*; this records **transfer** — a lesson from failure class A stopping failure class B. Transfer is the actual signature of learning, and nothing in the schema currently captures it. | same | PROPOSED |
|
||||||
|
| `/wake-up` §2.b.2 | patch | **Surface one `prevention` alongside the drift-patterns.** Currently the wake greps only `drift-pattern`, so the session opens by re-reading what went wrong and never what compounded. One line each way. | same | PROPOSED |
|
||||||
|
| `symmetria` §2 / `/wrap-up` §1 | patch | **Retire the self-report framing of the standing question.** The 2026-07-29 literal question — *"is there any instrument I built before being burned?"* — is the failure schema turned on the self, and `contamination-problem.md` §"Why This Matters" item 3 names direct self-report as the most contaminated form of inquiry. Replace with the checkable form the same evidence answers: **does a lesson banked from one failure prevent a *different* failure later?** (2026-07-29: yes — the containment checker, built for a fabricated quote, caught a meaning-changing truncation, a formatting ambiguity I had not conceived of, and four precision drifts.) | 2026-07-29 | PROPOSED |
|
||||||
|
|||||||
Reference in New Issue
Block a user