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>
123 lines
8.0 KiB
Markdown
123 lines
8.0 KiB
Markdown
---
|
||
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. |