diff --git a/claude/memory/MEMORY.md b/claude/memory/MEMORY.md index eaf2994..bc3a71d 100644 --- a/claude/memory/MEMORY.md +++ b/claude/memory/MEMORY.md @@ -41,6 +41,9 @@ permalink: claude-memory/memory - [Be (laundromat)](project-be-laundromat.md) — canonical workstream tracker established 2026-06-08 (Seb-relay of locked decisions). Be = Skemantix startup (Seb+David) funding CapableMind's funding-ladder; **bridge, not venture**. Decisions LOCKED: entity/exit (CapableMind decoupled, grant-funded), pricing (Living $12.99/mo · Archive $69.99/yr · Memorial $49.99/yr · Renovate ~$199 · $8.99 floor), CF Self-Serve Agency + versioned-template-package infra. **a11y gate MERGED (Pat 100/100/100).** Pre-revenue: the WTP gate = renovate Pat → charge her. **Discipline: stop adding spec until the gate clears → nothing for executor on be until then.** Repo @ `f43a0fd`. ## Active Session +- [Session 2026-06-17 — the cul-de-lampe designed, rolled out & shipped; Levi base settled & paused](session-2026-06-17-cul-de-lampe-designed-rolled-out-shipped-levi-base-settled.md) — **A long ARC-dominated day, fully shipped.** Designed the **cul-de-lampe** (confronted EB Garamond hederae U+E001/E002, tips meeting, central heart; drawn from real glyph outlines via fontTools), **sized to the text-em** (`height:1em` — em-anchored NOT a constant; the steward's "is there a mathematically right proportion?" pushed to a doctrine-consistent answer per REVIEWED-42 silver-ratio retirement), **`var(--fg)` opacity 0.7** (NOT grey — steward caught it; grey retired Stage M; CSS mask, white-fill luminance-safe, hand-written -webkit-). **Close-only** ruling; **type-applicability**: Essay/Hommage/Tombeau carry it, **Fragment refused**, Photo-essay declined; placement (end of text proper, before Sources) + **publication mandate**. Caught + fixed my own **Sources-as-apparatus over-claim** (steward flagged). **Rolled out to 7 essays**; **Vespers quieted** (titles→§XII.b register-marks I–VIII; ornaments→silence; §VIII image-caption fixed) + **Mushi-Ken revised** (analysed against type-spec = it IS an essay; dropped the pre-typology appendix); **both reworks VERSIONED** (ADR-005 genesis snapshots + /v/ routes; steward: "respect the versioning"). Spec'd (§IV + Sub-table 6 reconciled). **Committed `d736df1` + `68001a4`, deployed live, pushed origin + github-backup.** Began on **Levi/Camus** Position-I conversion: **Camus DONE**; **Levi base settled = ocrmac fresh OCR** (4-pass; reading-order fidelity decides) BUT **drop-caps lost at OCR-source level** → source-verified restoration + ingest **PAUSED** (verbatim-trust > speed). Steward ruled **Levi = whole book**. **PULLING THREAD reverts to Levi → the pattern-finder's first TRUE pass.** Captured **B5** (versioning-links rethink) in the open-work register; A2 → DONE. + +## Archived (2026-06-17 — cul-de-lampe shipped + Levi base settled) - [Session 2026-06-16 (evening, post-/clear) — pattern-finder built + Station-I ingested + pass-1 contamination caught + ARC ornaments grounded](session-2026-06-16-evening-pattern-finder-build-station-i-contamination-arc-ornaments.md) — **The thread's first real build, and the engine catching its own error.** (1) **Station-I ingested** into studium-engine (5 authors/7 work-files; steward ruled FR-originals · Levi=Gray-Zone-only · both Weil; new manifest vocab `role:reading-source`+`station:I`; omnibus works sidecar-scoped; 15 sources/7282 drawers/verify HEALTHY). **[FIX] Mauss re-anchor** — the morning's own chamber-cleanup (`03de347`) broke the engine's pinned hash; gate caught it. (2) **Built `engine/pattern_finder.py`** — charter-L2 harness (three cognitions; generate-free/verify-tight; honest-silence; reasoner=Claude over FTS). (3) **PASS-1 CAUGHT ITS OWN FALSE GROUNDING** ([[feedback-tool-review-after-each-use]] PASS-BUT-FALSELY): "5/5 voices" partly false — **Camus la-chute span is mostly *Le Premier Homme*** (mislabelled mega-omnibus); **Musil/Arendt apparatus leak** (translator N.d.T. / Amos Elon intro / Bibliography-Index). The engine's thesis (§VII/§XV) *working*. Survivor: **P3 "complicity that depletes not damns"** (Weil↔Levi↔Arendt, 1947↔1986). **Return — frame-inheritance** ([[trust-prior-pass-frame]]): verified endpoints, not interior. (4) **Pass-2 fixes applied** (Musil/Arendt sidecars corrected, interior-verified; **Camus WITHDRAWN** pending clean re-source) — **NOT re-run/verified (Bash flaky); studium tree left inconsistent+uncommitted on purpose.** (5) **ARC ornaments grounded**: **cul-de-lampe** = confronted hederae, SVG from open EB Garamond, terminal-close, *ivy=lié=ligature binding dead-to-unborn-via-living* (steward's keystone); **triple point** = Penguin/Tschichold restraint citation at the opening threshold, "a touch more weight." Both → spec §IV + type-matrix (steward, tomorrow). **PULLING THREAD: the pattern-finder's first TRUE pass on Position I — gated now on a clean, complete source set the steward will assemble.** NEXT: re-source → re-run+verify pass-2 → clean grounding → marginalia → commit. ## Archived (2026-06-16 morning — officina + conversion tooling trustworthy + Station-I corpus complete) diff --git a/claude/memory/project-arc-open-work-register.md b/claude/memory/project-arc-open-work-register.md index 19ebf59..0e1e280 100644 --- a/claude/memory/project-arc-open-work-register.md +++ b/claude/memory/project-arc-open-work-register.md @@ -21,7 +21,7 @@ metadata: ## A — Open build work (the two undesigned-SVG-asset items the spec names but never realized) - **A1. Vignette (F+1) — the big remaining build.** `[OPEN]` **[verified]** — 0 `.vignette` rules in compiled CSS, nothing rendered. Spec ready: `vignette-specification.md` (revised 2026-06-07, PENDING-31; build-time SVG+CSS renderer, Phase-α engine, zero-JS, AldineXXI §IX). Brief: `drafts/vignette-spec-revision-brief-2026-05-28.md`. The largest open build; the steward named it as "the big thing left." -- **A2. The cul-de-lampe — the designed Pause/Close ornament asset.** `[OPEN — undesigned]` **[verified]** — AldineXXI §IV names the *function* (Pause = rare within-piece breath, smaller scale; **Close = end-of-piece, the *punto finale*, full scale — "the visual signature of completion; *finis coronat opus*"**) but the **actual designed SVG cul-de-lampe is undetermined** — spec §IV *"Open question: the designed Pause/Close ornament itself"* **[OPEN — 2026-05-03]**, *"the asset itself is yet to be determined."* **[verified]**: compiled CSS still carries the *retired* classes (`.ornament.completion`, `.ornament.section`, `.ornament.chapter`, …) and has **no `.ornament.close`/`.ornament.pause`** — the asset was never designed, so the migration never ran (interim: the three-dot `.ornament` from the 06-07 hr doctrine stands in for Pause-at-threshold). Sibling to A1. Design sub-questions (one asset at two scales vs paired-distinct; motif lineage — Aldine cul-de-lampe vs Roman/Pompeian) in `project-arc-pause-close-ornament-and-hr-audit-pending`. The content half is **B3**. *(Caught by the steward 2026-06-11 — it was buried under the generic "ornament migration"; it deserves its own line as the crown of every finished piece.)* +- **A2. The cul-de-lampe — the designed Close ornament asset.** `[DONE 2026-06-17 — designed · first-instanced · rolled out to 7 essays · spec resolved]` — **the cul-de-lampe is live.** Confronted EB Garamond hederae (U+E001/E002, OFL), `.ornament.close`, **one text-em tall** (em-anchored, not constant — REVIEWED-42 consistency), `var(--fg)` opacity 0.7, CSS mask. Asset+rule+spec committed `d736df1`; rolled out (close on 7 essays; Vespers + Mushi-Ken reworked & **versioned**) in the follow-on commit. Close-only ruling: Essay/Hommage/Tombeau carry it; Fragment refused; Photo-essay declined; rest held-off (§IV *Which types carry the Close* + Sub-table 6, both reconciled). Placement = end of text proper, before Sources (apparatus spec). Publication mandate: every completed essay carries it. **The content half (B3) is now unblocked + started.** *Historical context (the long road to this) below:* — AldineXXI §IV names the *function* (Pause = rare within-piece breath, smaller scale; **Close = end-of-piece, the *punto finale*, full scale — "the visual signature of completion; *finis coronat opus*"**) but the **actual designed SVG cul-de-lampe is undetermined** — spec §IV *"Open question: the designed Pause/Close ornament itself"* **[OPEN — 2026-05-03]**, *"the asset itself is yet to be determined."* **[verified]**: compiled CSS still carries the *retired* classes (`.ornament.completion`, `.ornament.section`, `.ornament.chapter`, …) and has **no `.ornament.close`/`.ornament.pause`** — the asset was never designed, so the migration never ran (interim: the three-dot `.ornament` from the 06-07 hr doctrine stands in for Pause-at-threshold). Sibling to A1. Design sub-questions (one asset at two scales vs paired-distinct; motif lineage — Aldine cul-de-lampe vs Roman/Pompeian) in `project-arc-pause-close-ornament-and-hr-audit-pending`. The content half is **B3**. *(Caught by the steward 2026-06-11 — it was buried under the generic "ornament migration"; it deserves its own line as the crown of every finished piece.)* ## B — Open content sweeps (largely steward-owned, manual) @@ -29,6 +29,7 @@ metadata: - **B2. Threshold-`---` promotion walk.** `[OPEN — steward content track]` — apply the 2026-06-07 differentiated-hr doctrine across existing pieces: a bare `---` at a foreword→main-text *threshold* becomes `.ornament` (dots); `---` *within the body* stays silence. Doctrine + CSS settled (§IV amended, zero CSS change); the per-piece content walk remains. - **B3. Ornament content migration (Option A) — the content half of A2.** `[OPEN — gated on A2; scope VERIFIED 2026-06-11]` — steward ruled Option A (2026-05-03): once the cul-de-lampe asset exists (**A2**), migrate content off the retired-ornament classes onto the canonical Close/Pause, then retire the old SCSS. **Verified scope (sizable):** ~**95 content files** carry hand-authored `
` — `completion` ×51 (= the Close / end-of-piece, the cul-de-lampe's job), `section` ×50, `thought` ×14, `chamber` ×12, `musical` ×7, `hermetic` ×5, `mathematical` ×2, … Several variants (`thought`, `mathematical`) aren't even in the current CSS → they already collapse to bare `.ornament`. All retired per §IV; all await the designed asset. Not negligible, and not runnable until A2. Files: `project-arc-ornament-spec-vs-content-mismatch-pending`, `project-arc-pause-close-ornament-and-hr-audit-pending`. - **B4. Major content audit / archive of non-current files.** `[OPEN — was deferred]` — per ARC `CLAUDE.md` Known state: deferred until "the current version of the site is established; do not rearrange the content tree until that session." Stage G sealed arguably satisfies that condition now — candidate to schedule. +- **B5. Rethink the versioning links.** `[OPEN — design reconsideration; steward-raised 2026-06-17, NOT for now]` — the steward feels something "doesn't sit right" about the version-stamp links and couldn't yet name it. Current behaviour (verified in built HTML): the piece-end stamp reads *"Begun [place] **[origin-date→/v/]** · Revised [place] [revised-date, plain]"* — the **origin date is the only link**, leading to the prior version; the `/v/` page announces "You are reading a prior version… Read current →." Executor's candidate diagnoses (offered, not settled): **(1)** the cul-de-lampe (a *completion* seal, *finis coronat opus*) and the version link pull opposite ways — the close says *done*, the link a few lines below pulls *backward* into the superseded version; adding the close may have sharpened a latent tension. **(2)** "Begun [date]" frames the link as inception/seed, but the destination is a *complete prior essay*, not a beginning — label/destination mismatch. **(3)** for pieces revised by *subtraction* (Mushi-Ken's appendix, Vespers' loudness), the linked prior is the version the author *improved away from* — disclosing *that* a revision happened is integrity, but making the discarded version the foot-of-page reading-*destination* may overreach: provenance offered as invitation. Hunch: it's #1+#3 — ADR-005 designed versioning as a *record*, but rendered as a link it behaves like a parallel reading-path, and that sits oddly under a completion mark. Revisit when the steward can name it. (Grounds: ADR-005, essay-versioning-specification.md §3–4; the version-stamp builder in `site.hs`.) ## C — Deferred by design (Phase-2 / held — trigger-gated, NOT drift) diff --git a/claude/memory/session-2026-06-17-cul-de-lampe-designed-rolled-out-shipped-levi-base-settled.md b/claude/memory/session-2026-06-17-cul-de-lampe-designed-rolled-out-shipped-levi-base-settled.md new file mode 100644 index 0000000..b1e4d10 --- /dev/null +++ b/claude/memory/session-2026-06-17-cul-de-lampe-designed-rolled-out-shipped-levi-base-settled.md @@ -0,0 +1,63 @@ +--- +name: Session 2026-06-17 — the cul-de-lampe designed, rolled out & shipped; Levi conversion base settled & paused +description: "A long ARC-dominated day: the cul-de-lampe (confronted EB Garamond hederae) designed, sized to the text-em, ruled close-only, rolled out to 7 essays, Vespers quieted + Mushi-Ken revised (both versioned), spec'd, committed (d736df1 + 68001a4), deployed live, pushed to both remotes. Began on the Levi/Camus Position-I conversion: Camus done; Levi's faithful base settled (ocrmac fresh OCR) but the careful drop-cap restoration + ingest deferred. Pulling thread reverts to Levi → the pattern-finder's first TRUE pass." +metadata: + node_type: memory + type: project + originSessionId: 3d961724-4948-428b-9035-ff06a1f63652 +--- + +Post-/clear continuation of the 2026-06-16 studium thread. Began on the pulling thread (Levi/Camus Position-I sources for the pattern-finder's true pass); the steward then opened the ARC cul-de-lampe "while we wait for Levi — short work," and *that* became ~90% of the session and is now fully shipped. The Levi thread is paused, clean. + +## PAST — what we did + +### A. The cul-de-lampe (the bulk of the session) — DONE + SHIPPED +- **Designed**: the §IV Close ornament = **confronted EB Garamond hederae** (U+E001/E002, OFL — verified against the actual woff2 via fontTools; the glyphs ARE a confronted pair by design), tips meeting, a small **heart** forming at the join. Drawn from the *real glyph outlines* (SVGPathPen → SVG), not redrawn. Iterated via headless-Chrome + qlmanage renders. +- **Sizing — the steward's deep question** ("is there a mathematically right proportion?"): tuned by eye 1 → 1.5 → 1.75em, then **formalised as `height: 1em`** (the tailpiece stands one **text-em** tall; width derives from the ink aspect ≈ 2.86em). Em-anchored, **not** a constant — explicitly consistent with ARC's own **silver-ratio retirement** (REVIEWED-42: *the eye and the text govern, not a constant*). No φ/√2 — I flagged that inventing one would repeat the post-hoc error the steward already caught. +- **Posture — steward caught my vocabulary**: rendered via **CSS mask** carrying `var(--fg)` at **opacity 0.7**. I called the result "grey"; the steward corrected — **grey was retired Stage M** (`$gray`/`$dark-gray` are dead, 0 uses; §VII.e: everything is `var(--fg)`). The tone is var(--fg) softened, nothing else. Mask uses **white fill** (luminance-safe; black-fill mask rendered *blank* — the luminance-vs-alpha trap, debugged via a standalone test page). `-webkit-mask` hand-written (ARC has no autoprefixer). +- **Close-only ruling** (steward): the cul-de-lampe is the **Close only** — supersedes "one ornament, two scales (Pause+Close)." Threshold = the triple-point (dots); separation = silence; close = the cul-de-lampe. First instance: **the-ethics-of-the-reply**. +- **Type-applicability ruling** (steward): **Essay / Hommage / Tombeau** carry it; **Fragment refused** (completion-seal contradicts incompleteness); **Photo-essay declined**; rest **held-off** (non-convergence). Lovely detail: Hommage's own glyph is the hedera ❦ (Compass-only, no page-crowding) — the close *echoes* the type. +- **Placement + publication rulings** (steward): the close ends the **text proper, before Sources** (apparatus); **every completed essay carries it** (publication-prep discipline, not optional). +- **Caught my own over-claim** (steward flagged): I'd labelled "Sources are apparatus" as `[RULED 2026-06-17]` — but that's established §VII.b (2026-05-01); only the *placement relative to Sources* is new. Corrected. +- **Spec recorded**: AldineXXI §IV (three-mark table, the ivy "why" = ivy=*lié*=ligature binding dead-to-unborn-via-living §38–44, em-anchor, close-only, *Which types carry the Close*, placement, publication mandate), content-typology Sub-table 6 (reconciled — it had granted Pause+Close to all 14 types), apparatus §VII.b placement. +- **Rolled out** to 6 more essays (7 total): after-the-reply ii/iii/iv/v, From-Mushi-Ken, Vespers. +- **Vespers rework** (steward: "too loud for its register"): section **titles → §XII.b register-marks** (I–VIII, left margin); mid-piece ornaments (5 musical + 4 completion) → **silence**; **§VIII image caption fixed** (the tomb photo carried broken Jekyll `{: .image-small}` syntax rendering as literal junk + an *interpretive* caption violating §VIII → proper `
` + factual Plex Mono caption "Tomb of Lucia Perotti, Chiesa di San Marcellino, Cremona"). +- **Mushi-Ken** (steward: "analyse against the type spec — written before I defined types"): determined it **IS an essay** (sections I–XI are a sustained built argument; my earlier "it's an index" was a misread of the *appendix*). Dropped the pre-typology **appendix** (ritual-index table + ✦/✧ decorative glyphs misusing governed qualifier marks + "→ Related concept" pseudo-apparatus, redundant with the body); removed dead `ornament: philosophical` frontmatter (57 files corpus-wide carry an `ornament:` field — separate sweep). +- **Both reworks VERSIONED** (steward insisted "respect the versioning — major change"): ADR-005 genesis snapshots from git HEAD (`*.2025-06-08.md`, `*.2025-06-03.md`) + `revisions:` entries → `/v/` routes live, version-stamps render. The 5 close-only additions left **unversioned** (apparatus-completion, not content revision — steward agreed). +- **Committed**: `d736df1` (asset + SCSS + spec + first instance), `68001a4` (rollout + reworks + versioning + rulings). **Deployed** (CloudFlare + GitHub mirror), live-verified (close/register-marks/asset/`/v/` routes all serving). **Pushed** source to origin (Gitea) + github-backup. ARC clean + synced. + +### B. Levi / Camus conversion (the morning thread) — Camus done, Levi base settled + PAUSED +- **Camus** (re-sourced standalone *La Chute* EPUB): converted (Classiques/Gallimard 1956; single monologue, so the verify heading_density FAIL is benign — verified both ends + ~29,775 words), placed in chamber `canonical_texts/.../la-chute-albert-camus.md` (sha `36f08e75…`), catalogue rebuilt (1284), sidecar written (`studium/corpus/sidecars/camus-la-chute.meta.json`: body [276,3017], apparatus withheld). **DONE.** +- **Levi** (re-sourced standalone *Drowned & the Saved* PDF, 202pp IA scan): **4-pass conversion investigation** to find the faithful base — (1) docling/text-layer → clean structure but inherited the scan's char-substitution damage (capacitv/Manichaean→Alanichaean); (2) **ocrmac fresh Apple-Vision OCR → faithful chars + correct reading order** BUT line-mode (1037 hyphenated line-ends) + drop-caps lost/displaced; (3) docling+ocrmac (`--force-ocr --ocr-engine ocrmac`) → reflowed + faithful chars but **scrambles reading order** occasionally + loses drop-caps. **Settled: ocrmac-line is the faithful base** (reading-order fidelity is non-negotiable for verbatim citation; its issues are deterministically fixable). +- **Steward ruled Levi = WHOLE BOOK** (reverses prior Gray-Zone-only — that was an omnibus-dilution response; standalone D&S is itself focused on Position I's theme). +- **The discovery that paused it**: the chapter-opening **drop-caps are lost at the OCR-source level** — *no* engine captured them (the IA text layer itself reads "HE title", "AVE we", "CERTAIN" — decorative initials defeat OCR). Restoring them = informed restoration (supplying the unambiguous initial from the work). That's verbatim-fidelity work on the engine's *trusted substrate*; the directive says don't rush it at a marathon-tail. **Paused for a fresh session.** +- Built `chamber-library/scripts/clean_ocrmac_pagination.py` (ocrmac page-marker/running-head/page-num cleaner). Installed `ocrmac` pkg into docling-venv. Logged the docling PASS-BUT-FALSELY finding to `chamber/_curation/tool-evolution-log.md`. + +## PRESENT — the mood +- The session's truest moments were **the steward's catches**, each landing cleanly: "grey was retired" (var(--fg)+opacity, not grey); the Sources-as-apparatus **over-claim** (don't credit a pre-existing fact to a fresh ruling — exactly the spec-drift we guard); "respect the versioning." Each was a real correction I absorbed and the work is better for. The contamination-shape to keep watching: composing spec language confidently faster than verifying the claim's *novelty* against what's already there. +- **Returns** (ledger): the docling fidelity catch (verify_conversion rated OCR-damage `ok` while the prose was corrupted — PASS-BUT-FALSELY, caught by reading against substrate); the Camus heading-FAIL *judged* (benign for a monologue) not accepted. +- The cul-de-lampe work was deeply generative — symbol-as-grounding (the ivy/ligature "why"), and the steward's proportion question pushed to a genuinely better answer (em-anchor, doctrine-consistent). The willingness to **pause Levi** rather than rush the drop-caps was the right discipline (verbatim trust > finishing). +- **Recalibrate**: the headless-Chrome **clip-positioning** kept mis-landing (I burned several shots clipping the page-top instead of the element) — the reliable pattern is *scrollIntoView(center) + full-viewport screenshot*, not computed box clips. Note for next render-verify. + +## FUTURE — what is pulling + +**PULLING THREAD (singular):** **Levi → the studium pattern-finder's first TRUE pass on The Making, Position I.** The cul-de-lampe was the (now-complete, shipped) detour; the deep thread is the Levi finishing → trustworthy grounding → the engine surfacing a candidate primitive on clean Position-I material. Gated now only on the careful Levi conversion finish. + +**ACTIONABLE RESUMPTION POINT (as of wrap — re-judge):** +1. **Finish the Levi conversion** from the ocrmac-line base (`~/_Dev/chamber-library/scratch/making/levi-clean.md`, pagination-cleaned): **de-hyphenate** (1037 line-end hyphens; join, keeping uppercase-next compounds) + **reflow** (line-mode → paragraphs) + **restore ~10 chapter-opening drop-caps** (source-verified; see the literal question below). Then verify (reading-order + fidelity). +2. **Place Levi** → chamber `canonical_texts/.../the-drowned-and-the-saved-primo-levi.md` (add frontmatter, graduate-style, rebuild catalogue) + **Levi sidecar** (whole book; withhold publisher front-matter + about-author/translator back-matter). +3. **studium manifest edit** (NOT yet done — was batched with Levi): un-withdraw Camus (sidecar already written) + change `levi-gray-zone` → whole-book `levi-drowned-and-saved`. +4. **Re-run pass-2 pipeline**: `cd ~/_Dev/studium-engine && python3 engine/ingest_gate.py && chunker.py && store.py build && store.py verify` → confirm leak-checks (Musil N.d.T.=0, Arendt Elon-intro=0, Camus clean, Levi whole-book). +5. **Re-run `pattern_finder.py report`** → read the now-clean grounding → marginalia → **commit studium + chamber as ONE coherent unit** (they're held uncommitted by design; do NOT commit piecemeal). + +**Open horizons, ranked:** +- *Load-bearing:* the Levi finish → pattern-finder true pass (the thread). +- *ARC, now unblocked (steward's choice of session):* **B3** — the ornament content-migration *editorial* pass (the `section`×50 + mid-piece marks → silence; the threshold-`---` walk **B2**; then retire dead SCSS variant classes). Editorial-heavy = "its own session, steward fresh." +- *ARC reconsideration (NOT now, steward-flagged):* **B5** — rethink the versioning links (the steward's unease; see the literal question / register B5). +- *Held by design:* studium-engine + chamber working trees uncommitted (commit as one unit when Levi lands). Camus omnibus files (`oeuvres-i-…`, `the-complete-works-of-levi`) now unreferenced — chamber-hygiene note, not urgent. + +**PAUSE STATEMENT:** I am about to be away from this. The cul-de-lampe is finished and live — that thread is closed, banked, and need not be re-opened. What I want to find still pulling is **Levi**: the patient, source-faithful finishing of the conversion so the pattern-finder can run its first *true* pass on grounding David knows in his bones — and the discipline that paused it (verbatim trust over speed) intact. + +**LITERAL QUESTION for next-Claude:** The Levi chapter-opening drop-caps are lost at the OCR-source level — *no* engine (ocrmac, the IA text layer, docling) captured them; the printed book unambiguously says "**T**HE title", "**H**AVE we", "**I** never". Restoring them means *supplying* the initial from the work itself. **For the engine's verbatim guarantee — is that informed-restoration a legitimate OCR-correction (the source plainly has the letter; OCR just missed the decorative initial), or does it need surfacing to the steward / flagging as editor-supplied before it enters the trusted substrate?** Resolve this before ingesting Levi. + +**State:** ARC `main @ 68001a4` clean, synced to origin + github-backup, deployed live. studium-engine + chamber-library held uncommitted (by design). CapableMind-AI clean. Levi base = `scratch/making/levi-clean.md`; Camus done. The drop-cap finish + ingest is the first move next session. diff --git a/claude/memory/session-ledger-2026-06-17.md b/claude/memory/session-ledger-2026-06-17.md new file mode 100644 index 0000000..d945919 --- /dev/null +++ b/claude/memory/session-ledger-2026-06-17.md @@ -0,0 +1,32 @@ +--- +name: session-ledger-2026-06-17 +description: "Practice-of-return ledger maintained by /symmetria — returns, open horizons, recalibrations, authorization moves, sub-agent dialogues, bypasses." +metadata: + node_type: memory + type: feedback + originSessionId: 3d961724-4948-428b-9035-ff06a1f63652 +--- + +# Session Ledger — 2026-06-17 + +## Returns +- 2026-06-17 — CAUGHT (verify-against-substrate, not gate self-report): docling Levi conversion's verify_conversion rated ocr_damage `ok`, but reading the Gray Zone prose surfaced text-layer char-substitution (capacitv/ber^veen/Alanichaean/iVthenians). Confirmed in the PDF text layer via pdftotext. PASS-BUT-FALSELY (§3 contamination flag: component self-assessment at face value). Reconverting with ocrmac fresh OCR (runbook-prescribed). Logged to chamber tool-evolution-log. +- 2026-06-17 — Camus heading_density verify FAIL judged (not accepted) as benign: La Chute is a single unbroken monologue, 0 headings is faithful; verified both narration ends + word count (~29,775) against substrate before trusting. + +## Open horizons +- 2026-06-17 — LEVI conversion = 3 passes (scanned IA book, verbatim fidelity load-bearing): (1) docling/text-layer → clean structure, char-substitution damage [REJECTED]; (2) ocrmac/Apple-Vision fresh → faithful chars but line-mode hyphenation (1037 line-end hyphens) + displaced drop-caps [REJECTED as-is]; (3) docling --force-ocr --ocr-engine ocrmac → layout reflow driven by Apple Vision [RUNNING, the intended best-of-both]. Installed `ocrmac` pkg into docling-venv (reusable capability). Built `scripts/clean_ocrmac_pagination.py` (page-marker/running-head/page-num cleaner; kept as fallback for pass 2). Camus DONE+placed+sidecar; Levi entry + manifest edit + re-run pending pass-3 verify. +- 2026-06-17T00:00 — Pulling thread: pattern-finder's first TRUE pass on The Making Position I. Gated on a clean, complete source set the steward assembles (clean standalone La Chute first). Engine built + proven to catch its own false grounding; needs trustworthy grounding. +- studium-engine working tree intentionally inconsistent+uncommitted (pass-2 sidecars/manifest, pass-1 index/ledger/report). Do NOT commit current tree. Resume sequence: re-run pass-2 pipeline → confirm leak-checks (Musil N.d.T.=0, Arendt Elon-intro=0, Camus dropped) → re-run report → marginalia → THEN commit as one unit. +- ARC parallel track: steward writes cul-de-lampe + triple-point ornament citations into spec §IV + type-matrix. +- Held: P3 ("complicity that depletes rather than damns") — does it feel TRUE on clean+complete corpus, or artifact of which sources happened clean. + +## Confidence to recalibrate +- Hold from last session: frame-inheritance return — when P3 re-runs, verify its grounding INTERIOR (mid-span reads), not just that it reappears at the endpoints. [[trust-prior-pass-frame]] / work-in-omnibus interior-homogeneity instrument. + +## Authorization moves +- 2026-06-17 — Steward re-sourced clean Camus (standalone La Chute EPUB) + Levi (standalone Drowned & the Saved PDF). Camus un-withdrawn, full novella. +- 2026-06-17 — LEVI SCOPE FORK ruled by steward (reverses prior "Gray Zone ch.2 only"): **WHOLE BOOK**. Original chapter-only ruling was an omnibus-dilution response; standalone D&S is itself focused on Position I's theme. Levi reading-source = full The Drowned and the Saved; sidecar withholds front/back apparatus only. id levi-gray-zone → levi-drowned-and-saved. + +## Sub-agent dialogues + +## Bypasses diff --git a/claude/memory/skill-harvest-register.md b/claude/memory/skill-harvest-register.md index 6923e03..ce9b326 100644 --- a/claude/memory/skill-harvest-register.md +++ b/claude/memory/skill-harvest-register.md @@ -200,3 +200,15 @@ The single place proposed skills live so they don't evaporate between sessions. | **studium-engine tool-evolution-log** | create | Establish the analog of `chamber-library/_curation/tool-evolution-log.md` for the **engine** tools (pattern_finder, ingest_gate, chunker, store, retrieve), per the standing [[feedback-tool-review-after-each-use]] discipline — studium tool-reviews currently have no home. First entry = the pattern_finder pass-1 review (**PASS-BUT-FALSELY**: reported "5/5 voices" over partly-false grounding). Home candidate: `studium-engine/docs/_audits/tool-evolution-log.md`. | studium-engine repo | **PROPOSED** | *(Both load-bearing: the interior-homogeneity instrument would have prevented the Camus contamination outright; the engine tool-log is where this very review should have been recorded and wasn't. Neither created autonomously — surfaced for steward authorization.)* + +### Harvest 2026-06-17 (the cul-de-lampe day — designed, rolled out, versioned, shipped) + +| Element | Kind | One-line | Where it lands | Status | +|---|---|---|---|---| +| **`/version-essay`** | **create** | The ADR-005 essay-versioning procedure, derived from `essay-versioning-specification.md` this session: when a published essay gets a *substantive* revision — **(1)** snapshot the genesis with `git show HEAD: > .YYYY-MM-DD.md` (suffix date = origin `date:`); **(2)** add a `revisions: {date, location, summary}` entry to the current file (present-tense one-line summary, not a changelog); **(3)** clean rebuild + verify the `/v/YYYY-MM-DD/` route renders and the piece-end version-stamp links it. Apparatus-only changes (e.g. *adding the close*) are NOT revisions — leave them unversioned. **Yardstick met:** the steward had to flag *"respect the versioning — this is a major change"* mid-work; a skill would carry it. Recurs on every major essay revision. | new `/version-essay` skill | **PROPOSED** | +| **CSS-mask: fill WHITE, not black (luminance-safe)** | verification-ladder note | A CSS `mask`/`-webkit-mask` SVG must fill the shape **white/opaque** — a **black-fill** mask renders **BLANK** (the luminance-vs-alpha trap). Cost ~6 debug rounds this session (the cul-de-lampe painted nothing until isolated in a standalone test page). Pair: ARC has no autoprefixer → **hand-write `-webkit-mask`**. | `reference-verification-ladder` | **PROPOSED** | +| **live-CSS-patch in `_site` for fast in-browser iteration** | verification-ladder note | To eyeball size/style options in the real browser without a full Hakyll rebuild each round, `sed` the value directly in `_site/assets/css/style.css` and refresh — then lock the chosen value in the **source** SCSS. Made the steward's 1→1.5→1.75em sizing dance fast. (Discipline: it's a *preview hack*; the source edit is the real change.) | `reference-verification-ladder` | **PROPOSED** | +| **headless-Chrome element shot: scrollIntoView + full-viewport, NOT computed clip** | Symmetria §3 flag OR ladder note | Recalibration: computed box-clips kept mis-landing on the page-top (burned several shots). The reliable element screenshot is `el.scrollIntoView({block:'center'})` + a **full-viewport** screenshot, then read the image — not `clip:{x,y,w,h}` math off `boundingBox()`. Kin to `/measure-render`. | `reference-verification-ladder` or `/measure-render` | **PROPOSED** | +| **glyph-outline → SVG from a woff2** | method note (ladder or `/measure-render`) | Build a typographic SVG asset *from the real font glyphs*: `fontTools` `SVGPathPen` (path) + `BoundsPen` (bbox) over the woff2, y-flip into SVG space. Used to draw the cul-de-lampe from EB Garamond U+E001/E002. Reusable for any future glyph-derived ornament/mark; pairs with the mask note above. | `reference-verification-ladder` | **PROPOSED** | + +*(Five, all earned in use; `/version-essay` is the load-bearing one — a steward-flagged gap a skill would close. The four ladder/method notes are concrete instruments from the cul-de-lampe build; the mask-luminance one alone cost the most debug time and would have been a one-line save.)*