Files
dotfiles/claude/memory/project-arc-apparatus-refactor-todo-2026-05-06.md
T

7.9 KiB
Raw Blame History

name, description, type, originSessionId
name description type originSessionId
ARC apparatus refactor — todo list (2026-05-06) Tracks the multi-session refactor flowing from the universal dateline + photo-apparatus + three containment patterns spec consolidation (2026-05-06). Captures what was decided, what's done, what remains, and the location data the steward provided for the content audit. project 3bf7ae75-1138-4745-9024-0c40b3755ad3

ARC apparatus refactor — todo list

Spec foundation locked 2026-05-06 across §V (containment patterns), §VII (universal dateline + photo caption), and §V applicability table. Implementation is multi-session work; this list tracks state.

Spec decisions locked (2026-05-06)

  • Universal dateline — every content type carries a dateline, including glimpses and photo essays
  • Format: City, Country, Day Month Year
    • Country always included (half-located is a lapse)
    • Local form preserved (Wien, Austria; Sevilla, Spain)
    • Day included
  • Three containment patterns:
    • Text-primary (essay, meditation, observation, fragment, chamber, lex, about): vessel applies (3-lane: left margin = register marks; body = body+dateline+sources; right margin = sidenotes)
    • Photo essay: vessel + .full-bleed image breakout; caption block at end of piece
    • Glimpse: no vessel, image at full register, caption beneath, dateline at piece end
  • Caption (photo apparatus) for glimpse + photo essay only:
    • Content: technical EXIF (ƒ-stop · shutter · focal length) + austere subject identification when needed for comprehension
    • Position: beneath image (glimpse) or end of piece (photo essay)
    • Italic, subordinate, baseline-aligned (Müller-Brockmann)
    • Test: helps viewer SEE, never tells them what to think
  • Boundary rule: if image's comprehension needs more than austere caption identification, the work is not a glimpse — reclassify to meditation or essay
  • Container class name: .bears-apparatus proposed (role-named, replaces .has-margins)

Spec commits: e42ae0c (consolidation), 137ddd1 (dateline alignment fix)

Done 2026-05-06

  • ✅ §V applicability table extended (universal dateline; new Caption row; new Vessel row)
  • ✅ §V.b Containment patterns subsection added
  • ✅ §VII Dateline section revised (universal, format, alignment principle)
  • ✅ §VII Captions section revised (photo apparatus, two placements, EXIF + identification)
  • ✅ Dateline alignment fix: removed margin-auto + max-width centering hack from .dateline. On grid pages now aligns body-column-left via existing > * rule. (commit 137ddd1)

Remaining work — ordered by readiness

Tier 1 — bounded SCSS + template work (~1-2 hours, ready)

  • .has-margins → .bears-apparatus rename
    • Rename selector across _sidenotes.scss (3 references)
    • Update spec implementation notes that reference .has-margins
    • Templates: apply bears-apparatus class to article elements based on content class (post.html, about-page.html, lex.html, sequence-index.html). Excluded for class=glimpse and class=photo-essay.
    • Investigation needed: Pandoc templating doesn't easily support negation; cleanest is a context variable from site.hs (bears_apparatus = class != "glimpse" && class != "photo-essay")
  • Extend §XII grid scope to observation/meditation/fragment
    • Currently grid scopes only to .post-content, article.essay, article.lex, article.about, .has-margins
    • Per spec, observation/meditation/fragment should also bear the apparatus
    • Once .bears-apparatus rename lands, this becomes automatic (templates apply the class for all bearing types)
    • Visual change for these types: body-column-width instead of full-page-content-width — verify acceptable

Tier 2 — content audit (~30-60 min once tooling ready)

  • Add location: frontmatter to all text posts that lack it

Locations the steward has provided (canonical, use exactly):

Essays:

Title Location
The Death of a Hero Seoul, Korea
The Discovery of Matthieu Taliesin Barcelona, Spain
From Mushi-Ken to Morra – The Ritual of Choosing Barcelona, Spain
Vespers for the living Cremona, Italy

Observations:

  • All Paris, France
  • Exception: 2024-01-11 → Chez Bourny, Champagnat, France

Glimpses:

  • Locations extrapolated from titles (per steward's note)

After the Reply essays — already have locations (Wien, Barcelona, etc.)

  • Reformat existing datelines to new spec form (City, Country, Day Month Year):
    • Existing pieces with location-but-no-country (e.g., "Wien" → "Wien, Austria")
    • Existing pieces with location-but-no-day (verify post.html template handles day-rendering correctly; some pieces may have only month-year in frontmatter)
  • Update post.html template to render dateline in canonical format (currently renders $dateline_date$ — confirm the day component)

Tier 3 — EXIF integration (investigation needed before scoping)

  • Investigate EXIF reading at Hakyll build time
    • Possible approaches: (a) exiftool preprocess emitting JSON → Hakyll context, (b) Haskell library called from site.hs, (c) manual frontmatter (least automated, most reliable)
    • Need: f-stop, shutter speed, focal length per image
    • Decision needed: does this happen for ALL images on the site, or only for glimpse/photo-essay content?
  • Caption template — once EXIF is available, render caption per spec:
    • Glimpse: beneath image (template includes after <img> block)
    • Photo essay: collected at end of piece in Image-Apparatus block (parallel to §VII.b Sources)
  • Content audit: identify all glimpses + photo essays needing caption migration; verify EXIF data is intact in source images

Tier 4 — verification (after each tier)

  • Visually verify dateline alignment across all six content types after each tier lands
  • After the Reply sequence — validated form, must remain unchanged visually
  • Death of a Hero — first individual-essay Sources instance (already shipped 2026-05-05); dateline must reformat to "Seoul, Korea, 5 March 2016"
  • At least one glimpse with caption (use Felsenreitschule as a candidate after EXIF tooling is ready)

Open spec questions (note in §VII when decided)

  • Glimpse dateline alignment — RESOLVED 2026-05-07. Locked as centered per Bringhurst's coherence principle (don't mix symmetric and asymmetric apparatus); follows the symmetric register the glimpse piece already establishes (full-bleed image + centered figcaption). Sourced in §VII Dateline Alignment subsection (AldineXXI-specification.md). First-instance verification on 2015-03-02-5e-arrondissement-paris-france.
  • ISO in caption EXIF — currently spec says "judgement call, not default." Lock once first photo essay decides.
  • Photo essay end-of-piece block name — "Image apparatus" tentative. Lock with first instance.

Notes for future sessions

  • Spec changes today were heavy — ~116 insertions in AldineXXI-specification.md (commit e42ae0c). The Pass 1 SCSS audit + spec consolidation + dateline fix were three substantial pieces of work. The refactor remaining is bounded but multi-session.
  • The .bears-apparatus rename is the gateway to making observation/meditation/fragment dateline alignment work. Until that rename lands, those types keep current visual behavior.
  • The EXIF investigation is the unknown-scope item. Treat it as its own session.
  • Cross-reference: feedback-fittingness-as-refactor-test.md (the elegance test for code) and feedback-deploy-is-not-commit.md (session-end discipline).

Drift patterns to watch

  • Structural-counter-as-health-signal: a green build doesn't mean spec compliance. Verify visually on representative pages of each content type.
  • Deploy ≠ commit: every refactor pass ends with git status check and explicit commit before declaring done.
  • Cosmetic refactor: don't rename or restructure unless redundancy or unclarity is being removed. The fittingness test applies.