session 2026-07-01: Making graduations (Mumford I+II) + graduation rail; session memory + ledger + skill-harvest + CapableHands auth

This commit is contained in:
David F Glidden
2026-07-02 00:05:37 +02:00
parent fc7ba776be
commit 998dc47c8c
5 changed files with 163 additions and 0 deletions
+11
View File
@@ -277,3 +277,14 @@ The single place proposed skills live so they don't evaporate between sessions.
| **Symmetria §3 flag: tool-creep-into-substrate (name genome-or-phenotype before building on a tool)** | Symmetria §3 flag | A convenience tool proposed for one job silently becoming the **durable substrate** (the source of truth) is contamination shape — it solves the immediate need at the cost of inheritability/durability, the wrong *level*. Caught HARD tonight: Calibre, suggested only as "a cheap way to build a catalogue," was about to become the library's substrate (an app-owned `metadata.db` that rewrites files + only Calibre reads → fails the next-hand-can-`cd`-into-it test + byte-preservation). Antidote (now sharpened by the Loom/Mill frame we adopted same evening): before building on a tool, **name whether it is genome (durable, must be plain/inheritable) or phenotype (a disposable view)** — the substrate is plain files + a regenerable manifest; any UI is thrown-away and re-rendered. Kin to `reinvented-governed-tooling-without-checking-it-exists`, one level up (this is about a tool becoming the *substrate*, not about reinventing one). | Symmetria §3 | **PROPOSED** |
*(One, load-bearing — it names the exact wrong-level the steward's "Calibre was only a means" let me catch, and it composes cleanly with the genome/phenotype vocabulary now entering the four-party lexicon. Not manufactured: it was the session's central return. The Loom/Mill reconciliation itself is a one-off artifact, not a skill; the cadence-governor insight lives in the reconciliation doc, not here.)*
### Harvest 2026-07-01 (Making graduations + the graduation rail)
| Element | Kind | One-line | Where it lands | Status |
|---|---|---|---|---|
| **`/graduate-chamber-source`** (proposed 06-26/27/28) | **BUILD NOW** | The empirical spec is complete AND the rail it needs now exists (`graduation-spec.yaml` + `verify_graduation.py` + graduate-tool gate). It should codify: census-scan-layout→pick-engine (OCR: single-page olmOCR / split-if-2up via split_spreads.py; or EPUB pandoc path)→normalize (--lang, --no-heading-recovery)→structure (insert_chapter_headings from ToC)→frontmatter+title-block (spec convention)→**both** gates fail-closed→graduate_to_canonical→catalogue. **"Build when the batch begins" = now** (the ~12 pending Making sources, most EPUBs). Yardstick met: the steward watched me + 3 agents run this flow twice today; a skill carries it so the batch doesn't re-derive it per source. | new skill | **PROPOSED (build-first tomorrow)** |
| **graduation-spec.yaml + verify_graduation.py + graduate-tool gate** | BUILT (governed instrument) | The steward's insight realized: conventions as machine-readable DATA consumed at the moment of action + an enforced validator gate (fail-closed in graduate_to_canonical). Sibling of ARC `operations.yaml` + the verification-ladder. Governed via PENDING-44. This is a NEW named instrument for the field guide / tool-evolution-log — record it. | `_curation/graduation-spec.yaml`; tool-evolution-log | **BUILT (governed, PENDING-44)** |
| **Symmetria §3 flag: graduated-with-a-flagged-gap-instead-of-resolved** | Symmetria §3 flag | Letting "honestly flagged" substitute for "resolved" — shipping a known-incomplete text because the hole is *marked*. Contamination shape (honest-degradation excusing incomplete work). Steward caught it on Jonas p248; my own spec even permitted it. Antidote codified: `gaps_BLOCK_graduation` (resolve or explicit STEWARD-RULED marker). Kin to the "non-fatal accepted at face value" directive. | Symmetria §3 | **PROPOSED** |
| **Symmetria §3 flag: re-derived-instructions-instead-of-citing-the-governed-doc** | Symmetria §3 flag | Wrote agents hand-made instructions (and invented fields) instead of pointing them at `conversion-runbook.yaml`/the spec — the direct cause of the graduation divergence. Kin to `reinvented-governed-tooling-without-checking-it-exists`, at the *instruction* layer. Antidote: cite the governed doc; if it's silent, that's a runbook gap to close, not a prompt to improvise into. | Symmetria §3 | **PROPOSED** |
*(Four. The load-bearing two: BUILD `/graduate-chamber-source` now [it's the throughput multiplier for the whole Making batch], and record the graduation-spec+validator+gate as a named governed instrument [the steward's own idea, proven]. The two §3 flags are the session's real returns — both steward-caught, both class-fixed in the spec/gate. Not manufactured.)*