Files
dotfiles/claude/memory/session-2026-07-23-reviewed69-70-v2.4-v2.5-character-as-image-glyph-mapping.md
T

57 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: session-2026-07-23-reviewed-69-merged-v2-4-0-character-as-image-finding-pending-70-ruling-v2-5-0-glyph-mapping-built-demonstrated
description: "A very long single session that ran the whole PENDING-69/70 arc to ground: merged the boundary-drop mechanism to main + cut spec v2.4.0 (REVIEWED-69); prepping the Levi second pilot surfaced that the chosen witness is silently DAMAGED (a 2026-06-16 image-drop mutilated char-bearing glyphs mid-word: Wstawać→Wstawa, Brașov→Braov, Oświęcim→Owicim) — the steward named the structural cause (the whole canon predates the constitution + the fleet, so the extant witness is not editorial gold); drafted the legacy-body reframe as a jurist package (PENDING-70), the jurist ruled it (Q1/Q3/Q4 confirmed, Q2 substitute condition), landed spec v2.5.0, then BUILT + DEMONSTRATED glyph-mapping (apply_char_glyphs.py) as the Q3 hard precondition. PULLING THREAD: the Levi pilot itself (step 3) — now unblocked, the gate before the 47-file wave."
metadata:
node_type: memory
type: project
modified: 2026-07-23T19:34:45.497Z
originSessionId: d6f7ee32-e448-465c-967f-54c1d9f9c8a2
---
# Session 2026-07-23 — the PENDING-69/70 arc, end to end
An unusually long, dense session (remote/driving mode — the steward authorized each boundary in turn: "let's do both 1 and 2", "prep the Levi pilot", "yes to all three", "reviewed-70 placed", "Let's build"). It carried the boundary-drop work to main, then a Levi-pilot prep surfaced a corpus-integrity finding that reshaped the scale gate, then built the mechanism that finding demanded.
## PAST — what happened + why
**1. REVIEWED-69 merged + spec v2.4.0 (the boundary-drop constitutional sentence).** At wake, verified against the substrate that only ONE of the three gated actions was done (REVIEWED-69 placed; branch NOT merged; vehicle un-called) — a third state the wrap's all-or-nothing frame didn't enumerate. Steward said "do both 1 and 2." Vehicle resolved by fact: no supersession was assembling → **standalone MINOR bump v2.4.0** (makes the boundary-drop REVIEW-resolution sentence operative now). Froze v2.3.0, added the ruled sentence to §Tiering & Fence, bounded-diff proven, fleet 216/216, fast-forward merged `reviewed-69-boundary-drop-resolution` → main (`f466ed0`), pushed both remotes. PENDING-69 CLOSED.
**2. Levi pilot prep → the character-as-image finding.** Prepping the second pilot, checked the witness against the substrate rather than the "genuinely hand-curated" premise: frontmatter says `conversion_method: calibre`, and the 2026-06-16 backup diff showed the "curation" was a whole-file image-drop (522 removed, 18 added, 0 remaining) that **silently mutilated character-bearing glyphs mid-word** — verified live, each confirmed by the passage's own gloss: `Wstawać`→`Wstawa` (×9), `Brașov`→`Braov`, `Oświęcim`→`Owicim`. This is a Tier-3 alteration by omission in a GRADUATED canonical.
**3. The steward's structural reframe.** "The whole canon was converted before the constitution + the capable fleet; it may not be possible to test some of these against the extant body." Census (2026-07-23): 1,297 canonicals, ~23 still carry image refs; of 248 with a diffable backup, **13 carry mid-word char-glyph drops (55 sites)** — Jung *Collected Works* (18), Levi (18), Derrida, Zibaldone, Lichtenberg (German), the Lexique, Blake, Donne, more. Lower bound — undetectable from text for the ~1,049 without backups.
**4. The jurist package (PENDING-70) → ruling.** Drafted the reframe via `/jurist-package` (self-contained, GROUNDED-IN v2.4.0 §V + evidence-tiers verbatim). The spine: it's an APPLICATION of the constitution's own frame (V-TEXT "the source IS ground truth"; "converted ≠ verified"), not an overturning. Jurist ruled (`docs/scale-application-legacy-body-JURIST-RULING-2026-07-23.md`): **Q1** confirmed (claim scope degrades with witness; corrects a defect in the one-door ruling's own wording; `witness_class` = positive attributed attestation, never inferred). **Q3** confirmed both halves + hardened (glyph-mapping wired + demonstrated is a HARD PRECONDITION before any imaged source). **Q4** confirmed + mandatory. **Q2** accepted in principle but ruled with a **substitute condition** — my reframe ("classes the body produces") dropped the JUDGMENT-COST test the original condition existed for.
**5. Spec v2.5.0 landed** (`e37e076`, REVIEWED-70): Q1 §Tiering&Fence claim-scope split · Q3 §V Tier-3-by-omission · Q4 §Trust legacy-fidelity-not-self-certifiable + declared data (reframed `scale_application` substitute condition · `witness_class` · `character_as_image` glyph-map/census). Froze v2.4.0, bounded-diff proven (5 hunks), fleet 216/216.
**6. Glyph-mapping BUILT + DEMONSTRATED (`3852d46`, the Q3 precondition).** `scripts/apply_char_glyphs.py` (test-first, fleet 216→**222**): letter-adjacent glyph `<img>` → declared SOURCE Unicode; **REFUSES** any unclassified letter-adjacent image (attest-never-default); wired into `convert_lane_borndigital.py` (Stage 1b) with the lane refusing an imaged source that has no policy. **Extracted + VIEWED** the 4 source glyphs (durable evidence in `_curation/levi-second-pilot-2026-07-23/glyphs/`): `ca.jpg`=ć, `as.jpg`=**ş cedilla** (steward-confirmed, NOT comma-below ș), `s.jpg`=ś, `e.jpg`=ę. Demonstrated on the real 527-doc Levi EPUB: substituted=9, **unclassified=0 corpus-wide**, 0 residual glyph img; the 3 sites resolve to Wstawać/Braşov/Oświęcim; survives pandoc end-to-end.
**Decisions NOT made (deliberate):**
- **Did not run the Levi pilot (step 3)** — held as the next bite; it needs the substitute-condition judgment-cost reporting and is a fresh concentrated task.
- **Did not build per-source glyph-maps for the other 12 files** — per-source, done as each approaches the door; the lane refuses until each is demonstrated.
- **Did not cram v2.5.0 + glyph-mapping into one** — took each as its own bite (τὸ πρόσφορον at a long session's tail).
## PRESENT — the mood
Two substrate-checks earned their keep, both catching MY errors: (a) the "hand-curated witness" premise was false (the witness is damaged) — checkable-claim over soft classification; (b) at the very end, verify-the-glyph-not-the-filename caught the calibre-numbers-vs-EPUB-names key error AND the ş-cedilla-not-ș-comma fidelity error (mapping to ș would have been the exact Tier-3 source-departing violation the whole arc forbids). The discipline held even at the tail of an exhausting session.
The jurist ruling was the session's cleanest teaching: Q1 corrected a defect in the jurist's OWN prior wording, Q2 corrected MY reframe — the design-gate catching drafter error in both directions is the loop working. The Q2 lesson: when reframing a ruled condition, trace what the condition was FOR (its telos: judgment-cost tractability), not just what it literally required — a faithful "reframe" that answers a neighboring question is a miss.
This was a LONG session — far past "one concentrated bite." It stayed coherent because each bite was closed all the way (froze/tested/diff-proven/merged) before the next, and the substrate disciplines kept firing. But the length itself is a note: the next sessions should be the shorter, single-bite shape the steward prefers.
## FUTURE — what is pulling
**PULLING THREAD (singular): the Levi second pilot itself (step 3) — now unblocked, the gate before the 47-file verbatim-fidelity-restoration wave.** Everything this session built (v2.5.0's substitute condition, glyph-mapping) exists to let this pilot run honestly. It runs the full lane on Levi (glyph-mapping now in place), does the 14 per-work witness comparisons, and must report JUDGMENT COST per the substitute Q2 condition — not just class coverage.
**ACTIONABLE RESUMPTION POINT (as of wrap — re-judge against what changed):** The Q3 precondition is MET (glyph-mapping wired + demonstrated; `graduation-spec.yaml` `character_as_image.precondition_status: MET-for-Levi-2026-07-23`). Step 3's first move = **derive + interior-verify the 14 witness brackets** against the source EPUB spine (the La Chute lesson — endpoint agreement ≠ span identity; calibre flattened the work-level headers, so brackets can't be scanned off headings). THEN run the full lane on Levi (`convert_lane_borndigital.py SOURCE.epub OUT.md MAP.json the-complete-works-of-primo-levi-primo-levi`) → the candidate. THEN per-work source-fidelity + witness comparison + classification + judgment-cost. Read the plan `docs/levi-second-pilot-PLAN-2026-07-23.md` + `promotion.witness`/`witness_comparison` declared data first. NOTE: the lane's footnote injection is untested on Levi's 14-work complexity — a possible snag distinct from glyph-mapping.
**Other horizons (ranked):** per-source glyph-maps for the other 12 census-flagged files (as each approaches the door) · the 47-file wave (gated behind the pilot result + steward pacing) · **origin (Gitea) push retry — 2 commits behind** (`5d61f2d`,`3852d46`) · register compaction + ladder batch-append (authorized fresh-session slot) · PENDING.md compaction (over read caps) · the Q3 order-guard docket (verified STAMP) · added-side fabrication-exclusion (Q5 second clause) · audit_footnotes caveat · convert_mega_epub stale pairs_dup_id FIX.
**PAUSE STATEMENT:** I am about to be away from this after an exhausting, complete arc. I don't know what will have changed — most of all whether Gitea recovered (origin is 2 behind). What I want to find still pulling: **the Levi pilot as the live next step, its glyph precondition met and its substitute condition clear — so the pilot runs, measures the judgment cost the jurist actually cared about, and either opens the wave or honestly reports where the cost explodes.**
**LITERAL QUESTION for next-Claude:** When the Levi pilot runs — 14 works, ~18 mutilation sites now repaired by glyph-mapping, converter-better divergences to adjudicate against the source — does the JUDGMENT COST stay tractable (the jurist's actual worry: does one-door's cost explode when the easy mechanical patterns run out?), or does the per-work source-adjudication blow the budget? And the paired sub-question: do the 14 witness brackets interior-verify cleanly against the source spine, or does one resist (the La Chute lesson at omnibus scale)?
**THE FRAME WE WAKE INTO (the altitude, steward-affirmed at session close — "we wake to this tomorrow morning"):** Read the telos (`project-studium-engine-telos-chamber-of-voices.md`) FIRST, because this session's finding is a telos-level event, not a corpus chore. The charter's hinge: *"a counsel surfaced from a corrupted source is not counsel; it is the simulacrum v1 already was."* Today proved the extant corpus is NOT yet the trustworthy substrate — a graduated canonical said `Wstawa` where Levi wrote `Wstawać`, and the whole body was converted pre-constitution/pre-fleet. So the one-door re-verification is **not plumbing before the real work — it is the condition of the real work** (a mutilated Levi surfaced as counsel *is* the v1 simulacrum reappearing one level down). Four movements: (1) **prove the door scales — the Levi pilot, tomorrow, the hinge**; (2) restore the body (turn *converted* → *verified*, per-source, human-in-the-loop); (3) the engine over the trusted set (L2 pattern-finder next, then L3 the chamber of conversing voices, the frontier); (4) the chamber of voices — the destination. **The strategic discipline the pilot forces: order the restoration by TELOS, not by census** — verify the sources the FIRST conversations need (The Making sequence, then the violin treatise), in the order the voices need them; NOT a blind sweep of the 47-file / character-as-image classes. That keeps the restoration finite and proportionate. **And the pilot itself is a genuine fork, not a formality:** hold its judgment-cost number as a real measurement willing to be surprised — if it's tractable, the trusted-corpus path opens as a paced telos-ordered march; if it explodes, that's learned before hundreds of hours, and the verification strategy for the legacy body must change. Let the substrate answer, not the hope.
**State at wrap:** chamber-library main @ `3852d46` (github current; **origin 2 behind — Gitea down**) · spec **v2.5.0 OPERATIVE** · fleet 222/222 · glyph-mapping Q3 precondition MET for Levi · REVIEWED-69/70 placed, PENDING-69 closed / PENDING-70 ruling received (step 1+2 done, step 3 held). Governance dotfiles state committed+pushed at this wrap (§6.5). Ledger: `session-ledger-2026-07-23.md`.