Files
dotfiles/claude/memory/project-arc-apparatus-refactor-todo-2026-05-06.md
T
David F GliddenandClaude Opus 5 ef6fa94dcd [FIX] Stamp 16 superseded trackers; harvest the rule one of them carried
The record is updated where information ARRIVES and never where a reader LOOKS.
Three instances found the same day, each with the correct information already
written down elsewhere:

  REVIEWED-81 (AUTHORIZED 07-28)      -> PENDING-81 still reads open
  the ARC open-work register, which   -> those 6 trackers still read live
    says in its own description that
    it supersedes them, with a
    per-file verified verdict
  register entry A2: "the content     -> register entry B3, one page below:
    half (B3) is now unblocked +         "[OPEN - gated on A2]"
    started" (06-17)

The third is the sharpest: both halves sit in the SAME document, so no tooling
gap explains it. ~/CLAUDE.md already rules this under Memory Discipline
("mark the superseded record as superseded"); the rule is being applied to facts
and not to trackers, PENDING items or register entries, which are also facts
about state.

Executed under steward authorization, arrears only:
- 16 trackers stamped `superseded_by:` + `superseded_on:` AND a visible in-body
  banner. The banner is the point — metadata alone repeats the defect, since the
  finding is about what a reader sees. 9 obsoleted by the 2026-07-07 MemPalace
  wind-down; 7 already carrying the register's own verified `DONE-retire`.
- B3's label corrected, with the two-month error left visible rather than
  silently amended.
- Nothing moved, renamed or deleted: 381 pointers resolve, 0 dead, 0 mis-authored.

HARVESTED BEFORE STAMPING, and this is why the harvest came first:
`project-mempalace-library-incremental-remine-strategy` carried a steward-verbatim
rule that is instrument-independent — never run a single multi-day index; order by
criticality; gate each tranche on READBACK, not on write-success (933,576 drawers
once stored successfully and could not be read back at all). It lived only inside
a MemPalace tracker, so retiring the instrument would have retired the rule with
it. ~/CLAUDE.md names that exact hazard: "state the obligation first and the
instrument second, or the next retired tool takes a rule down with it." Now
`feedback-bulk-indexing-runs-incrementally-with-readback.md`, and it applies to
studium-engine corpus work.

Held back deliberately: 2 correctly-parked files with named dependencies, 2 named
nowhere (returned to the steward), and 39 trackers unread — recorded as a gap,
not as a finding.

Measurement note: every earlier estimate of tracker staleness was wrong, because
both mtime and git-last-commit were reset across 283 files by the 2026-06-06
normalization sweep. The honest figure excludes it: median 90 days.

Filed as PENDING-142 ADDENDUM 2 per steward direction (fold, do not file anew).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013Y6t6qx7cpaCu5xGdD36u4
2026-08-17 15:23:26 +02:00

130 lines
8.3 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
superseded_by: project-arc-open-work-register.md
superseded_on: 2026-08-17
---
> **SUPERSEDED 2026-08-17.** Register E4 → `[DONE—retire]` — Tiers 1/2 shipped; the Tier-3 residual lives on as register B1.
>
> Current record: **project-arc-open-work-register.md**. Kept for detail and provenance — do not read the
> status below as live.
# 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.