64 lines
9.9 KiB
Markdown
64 lines
9.9 KiB
Markdown
---
|
||
name: session-2026-06-12-studium-engine-stage-1-planning-charter-written-ready-to-hand-to-fable-1m
|
||
description: "Woke into the Studium Engine thread (sharpened: the chavruta ALREADY RAN → prototype = put the integrity substrate under what ran). Steward ruled governance posture (steward-direct), §10.3 (MD+sidecar), method (middle path). Decided cost-aware model routing — Fable[1m] for the bounded planning phase, Opus for the build — and wrote a scope CHARTER (stage-1-planning-brief-2026-06-12.md) on Opus to bound the Fable session. Also diagnosed the ARC running-head mobile-Safari gap (parked, option i). Pulling thread: execute the charter on Fable[1m] → produce Cluster-A spec + Stage-1 build plan → switch back to Opus to build. Resumption: clear → wake → switch to claude-fable-5[1m] high-thinking → 'read the charter and go.'"
|
||
metadata:
|
||
node_type: memory
|
||
type: project
|
||
originSessionId: 311a26cb-4cf5-4a24-8566-85d3eadf0ee0
|
||
---
|
||
|
||
# Session 2026-06-12 — Studium Engine Stage-1 planning charter; Fable[1m] handoff staged
|
||
|
||
Woke into the Studium Engine (06-11 pulling thread). The session did two things: a brief ARC running-head mobile-Safari diagnosis (parked), then the substantive work — set up the Studium Engine Stage-1 planning so it can run cleanly on Fable 5 in the cost-window. Symmetria active (ledger `session-ledger-2026-06-12.md`).
|
||
|
||
## Past — what we did
|
||
|
||
### ARC §VII.f running head — mobile-Safari gap diagnosed + PARKED (option i)
|
||
Steward: "did the running head ship for phone? I don't see it." Investigated **against code, not narrative** (the day's discipline). Findings, on-device-verified:
|
||
- The running head has **no phone exclusion** in code — no media query, no width floor (`_running-head.scss`). The only gate is `@supports (animation-timeline: view())`.
|
||
- **My first answer was wrong and I corrected it:** I *inferred* "your phone lacks scroll-driven-animation support." Steward is on iPhone 17 Pro / latest iOS / Safari 26, which **does** support it (web-verified: `animation-timeline: view()` + `timeline-scope` both land in Safari 26). So not the designed fallback.
|
||
- On-device measurement (Safari Web Inspector on the phone): `.running-head` = `display:block, opacity:0, top:0, height:69`. `CSS.supports('animation-timeline','view()')` → `true`. Desktop Safari **shows it**; Responsive Design Mode does **not** (RDM is a known-unreliable harness for scroll-driven animations — red herring).
|
||
- **Conclusion (B):** mobile Safari accepts the syntax (gate opens, band laid out) but **does not drive the scroll reveal** on a `position:fixed` + `timeline-scope` consumer → opacity stuck 0 → invisible. A real mobile-WebKit gap, not our bug.
|
||
- **The class (the real finding):** `@supports (animation-timeline: view())` is a **leaky gate** — true on a platform where the feature is non-functional → the §VII.f spec's "no-support shows nothing" fallback claim is **false on mobile WebKit**.
|
||
- **Steward ruled option (i):** accept mobile-absent; truth-up the spec someday (not a build). Stopped before the rabbit hole. **Parked in the ledger; belongs in `project-arc-open-work-register.md` at next ARC touch.** Frontispiece W1.15 reveal NOT re-checked on mobile (same family, likely fine, unverified).
|
||
|
||
### Studium Engine — read the picture, steward ruled, model-routing decided, charter written
|
||
1. **Read both core docs in full** (not from memory): the **bridge doc** `the-chamber-and-the-engine-2026-06-11.md` (still uncommitted, steward's review) + the **seed brief** `seed-brief.md`. **Reconciled — they agree;** bridge ADDS the coverage-ledger (§3) + the "already-ran / build-from-evidence" reframe (§5), doesn't contradict the brief.
|
||
2. **Steward's three rulings** (engine = his tool, steward-direct governance, recorded for the Cluster-A decision record):
|
||
- **Governance posture:** steward-direct **now**; Jurist **later**, only for the scholarly questions (§10.1 voicing/drift, §10.2 deep landscape audit, §10.3 philosophical edge). L2 parked.
|
||
- **§10.3 canonical source format:** **Markdown body + `.meta.json` sidecar = canonical**; TEI = optional later tier (~20–50 high-fidelity sources, on top of B), NOT Stage 1.
|
||
- **Method:** middle path — **thin Cluster-A spec now** (data model + §10.3), then vertical slice spec-noted just-in-time. NOT full spec-first.
|
||
3. **Cost-aware model routing** (grounded in the Reddit "Fable 5 burns ~2%/min" thread the steward shared — verified the one hard fact: Fable = 2× rate card $10/$50 vs Opus $5/$25, burn scales with context×session-length): **Fable[1m] for the bounded planning phase** (highest-leverage reasoning: data model + failure-derived defenses) → emit written artifacts → **switch back to Opus 4.8 for the build** (long, token-heavy, mechanical-enough). Rejected the thread's "query the graph instead of files" advice — that's the **index-as-source-of-truth** shape the engine exists to refuse (same class as MemPalace HNSW↔sqlite drift). Practical mechanics surfaced: use `claude-fable-5[1m]` (not bare = 200k), reset thinking level on switch, keep the session scoped.
|
||
4. **Wrote the scope CHARTER on Opus (cheap)** to bound the Fable session: **`~/_Dev/studium-engine/docs/stage-1-planning-brief-2026-06-12.md`** — §0 operating discipline (1M, no code, no re-read, no sprawl) · §1 settled decisions (don't re-derive) · §2 bridge+brief key points (don't re-read) · §3 bounded reading list (verified paths: Chamber-side prototype plan + chamber-architecture-summary + 4 reading-index YAMLs + phase-1/2 run records incl. MAUSS transcripts + 2 failure forensics; L1/BMF audits + landscape audit OUT) · §4 the two deliverables · §5 report-and-stop.
|
||
|
||
## Present — mood / returns
|
||
- **The day's discipline, twice enacted:** verify against the substrate, not the record/inference. Caught + corrected my own running-head inference (logged as a Symmetria return) — the same `theorize-before-measuring` / `inherited-marker-as-current-state` drift named 06-11. The correction landed via on-device measurement (the iOS analog of the headless-Chrome harness).
|
||
- **Cost-routing reasoning held well:** writing the charter on Opus so Fable spends only on content reasoning is cost-routing applied recursively; the steward sharpened it further (clear+wake rather than switch-in-place, so Fable never rereads the long chat). The charter + 2 core docs are the clean inheritance; the chat is disposable.
|
||
- Governance held: surfaced the leaky-@supports finding rather than quietly patching; deferred to the steward's option-(i) call; no autonomous spec/skill edits.
|
||
|
||
## Future
|
||
|
||
### Pulling thread (singular)
|
||
**Execute the charter on Fable[1m]:** read the Chamber side + the failure forensics, produce the two written artifacts — **Cluster-A data-model spec** (`docs/spec/cluster-a-data-model.md`) + **Stage-1 build plan** (`docs/stage-1-build-plan.md`, with the failure-derived-constraints section) — then hand back to Opus to build the vertical slice. The prototype's job: **put the real integrity substrate (file-authoritative + disposable index; coverage-warranted silence; FTS-first) under the chavruta that already ran by prompt.**
|
||
|
||
### Actionable resumption point (as of wrap)
|
||
The steward's plan: **this session ends → clear context → `/wake-up` (lean, on Opus) → switch to `claude-fable-5[1m]`, thinking HIGH → tell it: "Read `docs/stage-1-planning-brief-2026-06-12.md` and go."** The charter is the entire instruction set; the fresh session reads §3, produces §4, reports §5, stops. Then steward reviews the two artifacts, switches back to Opus 4.8, build begins from the artifacts. *Do NOT cold-re-derive — the charter + bridge doc + seed brief hold everything.*
|
||
|
||
### Other open horizons (ranked)
|
||
- **ARC §VII.f spec truth-up** (option i) — record the mobile-WebKit leaky-@supports limitation in §VII.f + §III.b; optionally suppress the dead 69px band on mobile. ~5-min, not a build. Into `project-arc-open-work-register.md` at next ARC touch. (Plus: verify the frontispiece W1.15 reveal on mobile.)
|
||
- **ARC open builds still pending** (from the register): A1 Vignette (F+1), A2 cul-de-lampe (§IV Close ornament SVG → B3's 95-file migration). The essay also waits.
|
||
- **Studium loose ends:** the bridge doc + the charter are untracked in `studium-engine` (steward's review/commit call — bridge doc was left uncommitted *for review*).
|
||
- Baton: **be** (Pat WTP) · **L1** (Seb — do not re-enter until he responds).
|
||
|
||
### Pause statement
|
||
I am about to be away from this. The charter is written and the rulings are settled — that chapter is closed; I don't expect it to pull on return. What I want to find still pulling is **the Fable[1m] session having produced the two artifacts** (or being mid-flight on them) — and if not yet run, the resumption point landing the fresh session cleanly at "switch to Fable[1m], read the charter, go" without re-deriving what we already settled.
|
||
|
||
### Literal question for next-Claude
|
||
**Has the Fable[1m] planning session run — and if so, do the two artifacts (Cluster-A data-model spec + Stage-1 build plan) exist, are they faithful to the charter (esp. the sidecar schema reconciled against the real reading-index YAMLs, and the failure-derived-constraints tracing each defense to its failure), and are we ready to switch to Opus and build?** (If NOT yet run: confirm the model is `claude-fable-5[1m]` at high thinking before telling it to read the charter.)
|
||
|
||
## Decisions deferred (and why)
|
||
- **The whole Fable planning execution** — deliberately NOT started this session; staged behind clear+wake so Fable never rereads this long chat (steward's cost call).
|
||
- **ARC running-head fix** — option (i) chosen but the spec truth-up itself deferred (not worth a build today; steward stopped the rabbit hole).
|
||
- **Committing the studium-engine untracked files** — left to the steward (his repo; the bridge doc is explicitly awaiting his review).
|
||
- **TEI tier, license, deep landscape audit, Stage 2/3** — all explicitly out of Stage-1 scope per the charter.
|