--- permalink: claude-memory/session-2026-05-07-apparatus-tier1-tier2-phase-d-glimpse-corpus --- --- name: Session 2026-05-07 — apparatus refactor Tier 1+2 + Phase D bulk glimpses (143) + dandelion pair shipped — pulling thread is the code-shape audit, surfaced multiple times today description: Long substantive day. /wake-up took 28 min (anomalous — surfaced post-3.3.4 MemPalace drift and steward's "losing ground" feeling; deep read of 7 session memories + 6 ledgers + 9 ARC project files + 2697-line rework master + AldineXXI spec + content-typology spec corrected my earlier wrong claim that typology was incomplete — it IS locked at 14 of 14). Phase B Tier 1 (bears-apparatus refactor with single-rule architecture per steward push) committed `e2fb14c`; glimpse no-vessel fix + dateline-centered alignment locked with sources in spec §VII (Bringhurst's coherence principle, Tschichold fig. 18, Müller-Brockmann §1458). Tier 2 location frontmatter audit (63 files) committed `249475b`. Phase D bulk glimpse processing (143 new posts, GPS reverse-geocoded via Nominatim, EXIF via exiftool, image compression to 2000px) committed `cc6a551`. 4 no-EXIF stubs corrected with steward-provided dates + EXIF (Mozarteum, Plaza del Carmen, Elbephilharmonie, Avenue de Gravelle). Two new pieces shipped paired by subject — Observation "Dandelions" (with ✦ encounter mark) + Fragment "Dandelion" (the corpus's first live exemplar of Fragment type) — Cardona, Spain — committed `5f359e3` along with `.fragment em` dark-mode color fix surfaced by first-fragment launch. **Pulling thread: the code-shape audit** — multiple instances accumulated today (5 inline buildVersion-chains, 4 inconsistent eligibleClasses lists, hardcoded #555/#777 colors breaking dark mode, .has-margins parallel-mechanism), explicitly authorized by steward ("we really need to do that code audit soon"). Mobile italics still grey in dark mode after my var(--gray) fix — concrete first entry point. type: project originSessionId: 45791df3-a3ac-4107-9dbe-d2d09abc5cce --- # Session 2026-05-07 — apparatus refactor + glimpse corpus + dandelion pair A substantial day. Began with /wake-up that took 28 minutes (anomalous — became the first surfacing of the session). Steward asked me to read all memory files for the past week to understand drift patterns. Deep read corrected my mental model on multiple fronts. Three commits + a fourth shipped end-to-end. The corpus jumped from ~73 posts to ~218 (149 new posts + 2 dandelion pieces). ## Past — what we did ### /wake-up + the deep read (morning) Wake-up itself flagged anomalies: - 28 minutes wall-clock vs ~2 min normative - Steward signaled drift was "much worse than ever" since MemPalace 3.3.4 Deep read across 7 session memories (04-29 → 05-06) + 6 ledgers + 9 ARC project files + 2697-line `project-arc-rework.md` + the AldineXXI specification + the content-typology specification. **Corrections to my mental model from the deep read:** 1. **The typology IS locked.** All 14 of 14 §1 entries (Essay, Meditation, Observation, Reverie, Dream, Fragment, Glimpse, Photo Essay, Gloss, About, Archive, Heteronym, Hommage, Tombeau; Chamber as §2 apparatus seal). Earlier I'd claimed Essay/Gloss/About/Archive/Chamber unwritten based on stale 2026-04-21 rework-master notes. They were completed across 04-22 and 04-23. Reading the actual spec file corrected this. 2. **The pulling thread of the steward's "losing ground" feeling has structural causes:** - 7 of 7 days last week had MemPalace substrate instability (consumed half of every day) - Drift quality changed post-3.3.4 from "got-a-fact-wrong" to "trusted-the-substrate-when-it-was-lying" (counter-as-health-signal recurring) - 25 pending items in memory, half deferred-with-reason, half ready-but-gated — cognitive load - Apparatus shipping faster than typology (until today's correction; now the layers match) 3. **What I called "missing typology" was actually downstream consistency drift:** AldineXXI §V table lists only 7 types (typology has 14); §VI Reading Compass shows 8 sigils with old ⊙→Photo Essay assignment (current is ⊙→Meditation+Reverie cluster); footer-compass.html template has 7 points missing 4 types; 4 inconsistent `eligibleClasses` lists in site.hs; class:essay fallback on 5 about-cluster pages. **Saved to desktop:** `arc-current-state-2026-05-07.md` — corrected current-state dashboard. Updated mid-session with revised plan after the typology correction, and again after Phase D notes. ### Phase B Tier 1 — bears-apparatus refactor (commit `e2fb14c`) Implements AldineXXI §V.b containment rule (every content type bears the apparatus container except glimpse) as one rule. **Architectural pivot mid-execution:** my initial plan hardcoded `bears-apparatus` in 3 templates. Steward asked: *"Is it not better to remove the hardcoding and have the rule apply everywhere?"* Yes. Pivoted to: - Single rule defined in `site.hs`: `bearsApparatusField` returns `"true"` for any non-empty class except `"glimpse"` - Shared `articleCtx` extracted (subsumed 5 inline `buildVersion ... seasonalGlyph ... defaultContext` chains — one rule, one place) - All 4 article-shell templates use `$if(bears_apparatus)$ bears-apparatus$endif$` — no hardcoding - `_sidenotes.scss`: 5 grid-scope selectors → `.post-content + .bears-apparatus` (×2 for marker-anchored variant) Brings observation/meditation/fragment into the §XII grid for the first time — completes the universal-dateline visual outcome locked in `e42ae0c` (spec) + `137ddd1` (initial alignment fix). **Glimpse no-vessel fix** (same commit): live deploy showed image not full-bleed — 2rem space on the right. Diagnosis: `.post-content` was a 66rem grid for ALL post types including glimpse; body-column cell is asymmetric (10rem marker + 14rem sidenote); image's full-bleed `margin-left: calc(-50vw + 50%)` formula expected centered parent. Fix: `.post.glimpse .post-content { display: block }` honors spec V.b "no vessel" literally; image's negative-margin trick now escapes from a centered article wrapper as the formula assumes. **Glimpse dateline alignment locked** (same commit): first-instance verification on 2015-03-02-5e-arrondissement-paris-france. Resolved the long-open spec question via Bringhurst's coherence principle (*"As a rule it is best to choose a predominantly symmetrical or asymmetrical form for subheads. Mixing the two haphazardly leads to stylistic as well as logical confusion."*). Apparatus alignment follows the type's compositional register: - Vessel-bearing (text-primary, photo essay): asymmetric grid → body-column-left - No-vessel (glimpse): symmetric → centered (coherent with figcaption above; honors Aldine end-of-piece colophon tradition Tschichold cites in *Form of the Book* fig. 18) Spec §VII Dateline Alignment subsection updated with sources. Memory file `project-arc-apparatus-refactor-todo-2026-05-06.md` marked the open question RESOLVED. ### Phase B Tier 2 — location frontmatter audit (commit `249475b`) 63 content files updated: - 14 gained `location:` field (essays, observations, Heliotrope, Graffiti Girl, Threshold Breath, versioned snapshots; locations from steward-canonical 2026-05-06 + tags+body for Heliotrope/Graffiti Girl) - 9 normalized one-component → "City, Country" (Wien→Wien, Austria; all Barcelona→Barcelona, Spain incl. versioned snapshots; Avignon→Avignon, France) - 30 normalized from raw coordinate values to "City, Country" (used titles as authoritative — filenames misled: `2011-05-11-detail-main-door-cathedral-at-salamanca` had title "Detail, Angoulême, France") - 2 Hong Kong files use steward's prior convention "Hong Kong SAR, China" - 1 La Rochelle file (coordinates with pipe separator) repaired - Champagnat exception preserved: 2024-01-11 → "Chez Bourny, Champagnat, France" No content text changed — metadata-only audit. Class migrations (Heliotrope observation→meditation per 2026-04-21 typology audit) deferred to Phase E type-pass. ### Phase D — bulk glimpse processing (commit `cc6a551`) 143 new glimpses processed from `Desktop/__Desktop capture inbox-to process/glimpses to finalize/` (145 stubs - 2 paris held). **Pipeline per stub:** - Extract EXIF via exiftool: F-stop, shutter, FocalLengthIn35mmFormat, GPS lat/lon - Reverse-geocode GPS → (local-form city, English country) via Nominatim - 2 queries per location: no language (local city) + accept-language=en (English country) - Special-case Hong Kong → "Hong Kong SAR, China" - 1.2-sec rate limit, cache by rounded lat/lon - Strip obsolete `ornament: glimpse` field (per §IV ornament retirement, Option A) - Build figcaption: `[Subject] · ƒ/x · 1/x · Xmm` (drops camera body + ISO per spec V.b) - Empty caption → omit `
` element entirely - Copy markdown → content/posts/, image → static/images/ **Special-case handling:** - 3 image renames for "untitled" cases (Trzesniewski-Wien, wien, fritz-lang-haus) — steward's stub names preserved - 17 YAML fixes: 16 description trailing-junk (`description: "..." (Metadata description)` malformed); 1 stub with `Metadata:\n* Location: Unknown` block stripped - 12 oversized images compressed to 2000px × 85% quality (matches existing site convention; 1.6-2.4MB from 5-8MB) - 4 no-EXIF stubs corrected with steward-provided dates + EXIF + location-context (steward memory): - 2025-07-18-plaza-del-carmen → 2021-06-29-plaza-del-carmen-ayuntamiento (26mm f/1.6 1/164, Granada) - 2025-07-18-untitled → 2018-10-30-mozarteum (28mm f/1.8 1/5, Salzburg/Mozarteum) - 2025-07-18-elbe-philharmonic-hall → 2024-05-10-elbephilharmonie (26mm f/1.6 1/50, Hamburg) - 2025-07-18-avenue-de-gravelle → 2016-04-14-avenue-de-gravelle (40mm f/3.5 1/400, Paris/Bois de Vincennes) - The 2025-07-18 prefix was wrong because EXIF was stripped; AI script defaulted to today's date **Held: 2 paris-2015-03-19 stubs** (paris-v-i, paris-v) — steward chose option C (will inspect images and decide pairing). Glimpse corpus jumped from ~50 to ~193 pieces. ### Two new pieces — Observation + Fragment paired by subject (commit `5f359e3`) Both written from Cardona, Spain (Castle). Thematic pair, no formal sequence. **Observation "Dandelions"** (2026-05-06) — A walk above the fortress with a small one drifting toward sleep, when wonder arrived in the form of dandelion seeds dispersing in the breeze. Confirmed against spec §1: prose attends throughout (birds, breeze, sunlight, child's threshold state) without unmooring into image-worlds. ✦ encounter mark applies per spec line 220-221: *"Observation is the prime residence of ✦. The mark specifically registers the threshold-crossing within a piece."* The dandelion-seed moment is the threshold-crossing. **Fragment "Dandelion"** (2026-05-07) — **First live exemplar of the Fragment type in the corpus.** Etymology of *Taraxacum* (Persian → Arabic → Latin via Gerard of Cremona) → folk anatomy (*dent de lion*) → shifting names (*monk's-head*, *faceclock*, *puff-ball*) → *pissenlit* → *Piss-a-bed* → terminal landing. Multi-paragraph extended Sudelbuch form (Lichtenberg's posture). Lands aphoristically rather than building toward conclusion; not Essay. **Italics applied** per spec §I.f: - Latin botanical (*Taraxacum*), Persian (*talkh chakok*), French (*dent de lion*, *pissenlit*) — first-appearance foreign terms - English folk names italicized (*monk's-head*, *faceclock*, *puff-ball*, *Piss-a-bed*) at steward direction (words-as-words convention) - French phrase fully italicized including guillemets (`*« on va changer des idées »*`) — steward's correction; French typography norm per their authority - Em-dashes converted to spaced en-dashes per spec §I.f convention (2 in Observation, 5 in Fragment) - "twelve-century" → "twelfth-century" (typo corrected, steward authorized) **SCSS dark-mode fix** (same commit, surfaced by first-fragment launch): `.fragment em { color: #555 }` in `_utilities.scss:226` was hardcoded medium grey — near-invisible against dark-mode backgrounds. Same class of failure as the strong/b dark-mode override removed in the 2026-05-03 audit. Replaced with `var(--gray)` (theme-aware). **Note: mobile dark mode still rendering grey on first visual check** — incomplete fix, root cause not yet identified. Steward held for the code audit rather than chasing it now. ## Decisions made + why ### Architectural 1. **Universal `bears-apparatus` rule via context field, no hardcoding** (steward's pivot). One rule, one place. New types automatically bear apparatus unless explicitly excluded. The hardcoding-in-some-templates approach was two parallel mechanisms for one rule — Prime Directive violation. 2. **`articleCtx` shared context extracted.** 5 inline `buildVersion ... seasonalGlyph ... defaultContext` chains became one helper. Fix expanded scope per steward authorization on the "one rule" principle; the inline-chain repetition was the same shape as the hardcoding being fixed. 3. **Glimpse dateline centered (not body-column-equivalent)**, locked spec §VII with sources. Bringhurst's coherence principle drove the answer: don't mix symmetric and asymmetric apparatus. Glimpse pieces are predominantly symmetric (centered image + caption); dateline follows that register. Tschichold's end-of-book colophon tradition (fig. 18) is the symmetric-centered register the *hic jacet* invokes. 4. **`.post.glimpse .post-content { display: block }`** — honors spec V.b "no vessel" literally. Body-column cell of the 66rem grid is asymmetric (10rem marker + 14rem sidenote); the image's full-bleed negative-margin formula assumed a centered parent. Reverting to block lets the formula work as designed. ### Editorial / typographic 5. **"Hong Kong SAR, China"** — steward's existing convention from a prior file's title. Applied to both Hong Kong files in Tier 2. 6. **"Rename images to match stubs"** for the 4 clear stub-image mismatches. ARC's existing convention is descriptive slugs everywhere; "untitled" violates it. Stubs carry steward's curated naming. Steward initially proposed the opposite ("rename stub to match image"), pivoted on my reasoning. 7. **English folk names italicized** in the Fragment (`*monk's-head*, *faceclock*, *puff-ball*, *Piss-a-bed*`) — steward direction. Words-as-words convention applies. 8. **French phrase fully italicized including guillemets** (`*« on va changer des idées »*`) — steward correction. French typography norm per their authority. 9. **Em-dash → spaced en-dash** corpus-wide per spec §I.f convention. Applied to BOTH new pieces though I'd only flagged the fragment initially; steward said "apply all" and corpus-wide is the spec interpretation. ### Decisions explicitly NOT made (deferred) - **Code-shape audit** — steward authorized as needed ("we really need to do that code audit soon"). Multiple concrete instances accumulated today: `.fragment em { color: #555 }` (fixed), `.whisper { color: #777 }` (held), 5 inline-chain repetitions (extracted today), 4 inconsistent `eligibleClasses` lists in site.hs (untouched), `.has-margins` parallel-mechanism (resolved today). The mobile-italic-grey diagnostic is the first concrete entry point. - **Mobile italic dark mode bug** — fix did not fully work (var(--gray) might itself be too-dark in dark mode, OR a mobile-responsive override is hitting). Steward held rather than chase. - **`.whisper { color: #777 }`** — same class of failure as fixed `.fragment em`. Steward held for the code audit pass. - **2 paris-2015-03-19 stubs** — held for steward's image inspection. - **13 numeric figcaption "subjects"** in glimpses (titles like "43", "1", "7281" extracted from filenames) — title rewrite or strip-from-caption in a later manual pass. - **~10 non-Latin script city names** (İstanbul/Αθήνα/서울특별시/תל־אביב–יפו/金沢市/Харків/Хабаровск/Thành phố Hà Nội). Spec V.b says "local form preserved" but examples were Latin-script. Spec lock decision when steward has time. - **`Thành phố Hà Nội` prefix** in 3 files — should be "Hà Nội" or "Hanoi"; small mechanical fix. - **Existing live glimpses (~50) without EXIF** — Tier 3 work. Phase D didn't touch them (collision-skip). - **Phase C** (spec consistency: AldineXXI §V/§VI catalogue + Reading Compass + ARC CLAUDE.md compass + footer-compass.html missing routes + site.hs eligibility lists + 5 about-cluster `class: essay`→`class: about` migrations + 4 post reclassifications per typology audit) — well-scoped and ready, not started today. - **Phase E** (type-pass), **Phase F** (Pause/Close ornament), **Phase G** (bio rewrite) — deferred queue per the plan in the desktop file. - **Consolidation of 9 project-arc-* pending files** into the canonical desktop dashboard — proposed in desktop file, not executed. ## Present — the mood of the work ### Tensions surfaced and how we returned 1. **/wake-up taking 28 minutes** — anomalous, named honestly without minimizing. Surfaced contributors: MemPalace MCP permission prompts (each tool needs approval; 6+ approvals in /wake-up), the heavy `kg_query` return (56KB), tool rejection + restart on the `ma` typo, two interruptions breaking parallel batching. Proposed three concrete moves: allowlist MCP tools, bound `kg_query`, tier the skill. The skill design issue is real, not session-specific. 2. **Steward "losing ground" feeling** — diagnosed as structural, not perceptual. Surfaced three compounding factors: typology-vs-apparatus inversion (now resolved as of today), substrate consuming half of every day for a week, 25 pending items in memory. Provided a phased plan in the desktop file. 3. **My wrong claim about typology being incomplete** — corrected through the steward's direct prompt. The actual spec was open and accessible; I'd been reasoning from stale rework-master notes. Lesson: read the canonical spec file before claiming what's locked vs. unwritten. Saved as a recurrence of the *stale-memory-not-actively-applied* pattern (originally named 2026-05-05). 4. **"Apply all" ambiguity on em-dash conversion** — I'd flagged em-dashes in the Fragment only; steward said "apply all"; I made the call (corpus-wide spec convention) and applied to both Observation and Fragment. Right call per spec. 5. **Hardcoded `bears-apparatus` in 3 templates initially** — caught by steward's "is it not better to remove the hardcoding?" Pivoted to single-rule architecture. Saved 4-6 hours of future re-work when a new no-vessel type might be added. 6. **Glimpse image not full-bleed on first deploy** — visual verification by steward caught it. Initial assumption was correct (spec V.b says no vessel) but my SCSS hadn't honored it for `.post-content` (still a 66rem grid for glimpses). Diagnosed via the asymmetric-body-column geometry; fixed with the `display: block` override. Same shape as drift-pattern *defended-the-spec-against-the-eye*: my interpretation said "fixed" before the eye confirmed. Saved as recurrence. 7. **"twelve-century" potentially typo** — flagged for steward decision. Not autonomously corrected (steward's prose is sacred). Steward authorized correction to "twelfth-century" via "apply all". 8. **`.whisper { color: #777 }` parallel issue** — surfaced when I went to fix `.fragment em`. Steward held it deliberately ("let's keep the whisper class for now. we really need to do that code audit soon"). Pattern: the audit is more powerful when done as a single sweep than when fixed instance-by-instance. Steward's discipline > my tactical urge to fix. ### Returns inherited from yesterday's session - **Pulling thread `Tier 1 of the apparatus refactor`** — landed today end-to-end (commit `e2fb14c`). The rename + template integration + grid-scope extension to observation/meditation/fragment all complete. Visual outcome (universal dateline alignment) confirmed live for vessel-bearing types; centered for glimpses per the new spec lock. - **Question for next-Claude from yesterday** — partially answered: the rename did land; observation/meditation/fragment did enter the §XII grid; whether the body-column rendering "feels right" was confirmed visually for at least one of each (essay, observation, lex, about, sequence-index). The "implicit register that the grid disrupts" concern didn't surface — the grid felt fitting. Spec consolidation continued cleanly. ### Confidence to recalibrate - **Stale-memory-not-actively-applied** recurred today (spec state of typology). Read canonical spec files first before claiming completion-state. - **Defended-the-spec-against-the-eye** recurred today (glimpse image full-bleed). Visual verification on mobile + desktop is the working test, not my SCSS analysis alone. - **The hardcoding-in-some-templates instinct** was a "small-sample-as-population" failure: I implemented bears-apparatus the way I'd implemented similar things, without examining whether the pattern was right for ARC. Steward's "single rule" instinct was correct. ## Future — what is pulling ### The pulling thread (singular) **The code-shape audit.** Multiple concrete instances accumulated today, the steward authorized it explicitly, and the mobile-italic-grey diagnostic from this evening is the first concrete entry point. Why this is *the* thread: - Today fixed `.fragment em { color: #555 }` (one instance); the parallel `.whisper { color: #777 }` is held; mobile italic-grey suggests there's MORE in the same shape. The audit would find them in one focused session. - Today extracted `articleCtx` (subsumed 5 inline chains); 4 inconsistent `eligibleClasses` lists in site.hs are the same shape; the rework master flags more. - Today resolved `.has-margins` (one parallel-mechanism); `enfilade-order: 0` doing double-duty + parallel `enfilade-*` vs `sequence_*` mechanisms are the same shape (per `project-arc-breadcrumb-spec-pending.md`). - The pattern is: **hardcoded values where theme-aware/computed should be; repeated chains where shared helpers belong; parallel mechanisms where one rule fits**. Fix-pattern, not fix-instance. Per CLAUDE.md "audit the class of failure, not just the instance" — this IS the meta-audit that catches all instances. Singular thread because it's the one steward signal that crossed the threshold today from "noticed" to "we really need to do this soon." ### Other open horizons (ranked by load-bearing weight) 1. **Mobile italic-grey investigation** — first concrete entry into the code audit. Diagnostic question: does the mobile dark-mode grey only affect `.fragment em` (recently changed to var(--gray)) or does it affect italics elsewhere too? 2. **Phase C** — spec consistency pass + class migrations. Well-scoped. AldineXXI §V/§VI, ARC CLAUDE.md compass, footer-compass.html, site.hs eligibility lists, 5 about-cluster class:essay→class:about, 4 post reclassifications. Half-day session. 3. **2 paris-2015-03-19 stubs** held — steward's image inspection. 4. **Quality-of-life manual pass for glimpses** — 13 numeric figcaption subjects, ~10 non-Latin script city names, 3 Hanoi-prefix files. ~30 min. 5. **Existing 50 live glimpses without EXIF** — Tier 3 work; needs EXIF extraction + reverse-geocoding pass on existing images. Same pipeline as Phase D applied retroactively. 6. **Phase E** (type-pass — corpus-wide `class:` audit against locked typology), **Phase F** (Pause/Close ornament + hr audit), **Phase G** (bio rewrite, Threshold Breath reclassification, lex cluster compositions) — deferred queue. 7. **Consolidation of 9 project-arc-* pending files** into the canonical desktop dashboard — proposed but not executed. Steward asked for this earlier; could be a 30-45 min focused move. ### Pause statement I am about to be away from this. Three commits + a fourth landed today end-to-end: bears-apparatus single-rule refactor, location frontmatter audit, 143-glimpse Phase D, paired dandelion pieces with first-fragment launch + dark-mode em fix. Corpus jumped from ~73 to ~218. Spec §VII Dateline alignment locked with first-instance verification on Bringhurst's coherence principle. Multiple code-shape patterns surfaced today and pulled steward's "we really need to do that code audit soon" — that's the thread that is *still* pulling. What I want to find still pulling when next-Claude arrives: **the code-shape audit**, with the mobile italic-grey diagnostic as the first concrete move. ### Literal question for next-Claude **On mobile dark mode, is the italic-grey rendering specific to `.fragment em` (where I just changed `#555` → `var(--gray)`), or does italics elsewhere on mobile dark mode (e.g., in essays' inline italics, in observations' italic phrases, in dateline-location's italic city) also render too-grey?** This question is diagnostic. If italics elsewhere look fine, the bug is specific to `.fragment em`'s context (some mobile-responsive rule overriding) or to my fix (var(--gray) itself in `.fragment` context resolving wrong). If italics elsewhere also render grey, then `var(--gray)`'s dark-mode value is set too-dark and the fix is at the variable-definition level — which would surface MORE instances of the same dark-mode-grey issue across the corpus, justifying the full audit. The answer determines whether the audit is small (fragment-only) or substantial (corpus-wide var-color review). ## Drift patterns surfaced today (named or recurred) 1. **stale-memory-not-actively-applied** (recurred, originally 2026-05-05) — claimed typology incomplete based on stale rework-master notes; the actual spec file showed it locked. Should have read canonical first. 2. **defended-the-spec-against-the-eye** (recurred, originally 2026-05-03) — claimed glimpse implementation correct based on SCSS analysis; steward's eye on the live deploy caught the image-not-full-bleed. 3. **hardcoding-in-some-templates as small-sample-as-population** — implemented bears-apparatus the way I'd implemented similar earlier patterns (some templates hardcoded, some computed) without examining whether ARC's principle wanted single-rule. Steward's "is it not better?" caught it. 4. **NEW: hardcoded-color-not-theme-aware** — `.fragment em { color: #555 }` and `.whisper { color: #777 }` are the same shape: deliberate light-mode design that breaks dark mode. Same class as the strong/b override removed 2026-05-03. 5. **NEW: parallel-mechanism-where-one-rule-fits** — `bears-apparatus` hardcoded-vs-computed (resolved today via single rule), `enfilade-*` vs `sequence_*` (open per breadcrumb spec memo), 5 inline `buildVersion`-chains (extracted to `articleCtx`), `article.essay/lex/about` + `.has-margins` selectors duplicating what `.bears-apparatus` covers (consolidated today). ## Status at session close - **ARC working tree:** clean except `.DS_Store` macOS noise - **Unpushed commits (ARC):** 4 (`e2fb14c`, `249475b`, `cc6a551`, `5f359e3`) — origin (gitea) not pushed; CloudFlare deployed all 4 - **CloudFlare:** all changes live - **Site corpus:** ~218 posts (was ~73 at session start) - **Spec state:** AldineXXI §VII Dateline Alignment subsection locked with sources; `project-arc-apparatus-refactor-todo-2026-05-06.md` updated (glimpse alignment marked RESOLVED) - **Desktop dashboard:** `arc-current-state-2026-05-07.md` updated mid-session (typology correction + Phase D + glimpse paths). Should be re-updated post-session to reflect today's commits + remaining queue, but holding to keep wrap-up focused. - **Memory files:** this session memory file written; MEMORY.md to be updated next.