Files
dotfiles/claude/memory/project-arc-apparatus-refactor-todo-2026-05-06.md
T
David F GliddenandClaude Opus 4.8 3f9a89b00c chore(memory): Basic Memory trial begins — sync normalization baseline (283 files)
Basic Memory v0.21.6 first sync over the live memory dir (steward-authorized
live-dir trial, Option A 2026-06-06): adds permalink: to frontmatter, refolds
long YAML description lines, strips final newlines. Bodies untouched —
verified via full diff classification. From this commit forward, any diff in
claude/memory shows only what Basic Memory or the session writes.

Trial design: MemPalace untouched as incumbent; git status check on this dir
at every wrap; end-of-day evaluation (recall quality, sync robustness,
rebuild-from-files, malformed-file behavior).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 09:52:17 +02:00

123 lines
8.0 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: ARC apparatus refactor — todo list (2026-05-06)
description: 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.
type: project
originSessionId: 3bf7ae75-1138-4745-9024-0c40b3755ad3
permalink: claude-memory/project-arc-apparatus-refactor-todo-2026-05-06
---
# 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)
- [x] **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.