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
88 lines
8.1 KiB
Markdown
88 lines
8.1 KiB
Markdown
---
|
||
name: ARC universal breadcrumb system — design spec session pending; sequenced AFTER
|
||
type-pass
|
||
description: Steward identified 2026-05-01 that the breadcrumb system should appear
|
||
for all content, not just about-enfilade pages. Current state has duplicated breadcrumb
|
||
logic across 3 templates with inline encoding of parent destinations. Spec session
|
||
deferred until after the type-pass; type-pass resolves which content types exist
|
||
and their relationships, which is the substrate breadcrumb design needs.
|
||
type: project
|
||
originSessionId: 597aba4e-942b-4f20-8a89-3d801b14c971
|
||
permalink: claude-memory/project-arc-breadcrumb-spec-pending
|
||
superseded_by: project-arc-open-work-register.md
|
||
superseded_on: 2026-08-17
|
||
---
|
||
> **SUPERSEDED 2026-08-17.** Register E1 → `[DONE—retire]` **[verified]** — breadcrumb componentized and governed 2026-06-03.
|
||
>
|
||
> Current record: **project-arc-open-work-register.md**. Kept for detail and provenance — do not read the
|
||
> status below as live.
|
||
|
||
|
||
# ARC universal breadcrumb system — pending
|
||
|
||
**Status:** Design spec session pending. Sequenced AFTER the corpus `type:` audit.
|
||
|
||
## Origin (2026-05-01)
|
||
|
||
While doing a small fix for missing breadcrumbs on `/bio/` and `/cv/`, steward noted: *"the breadcrumb system should appear for all content."* Then, after I sketched a unified-partial proposal, steward asked whether that was Prime-Directive-aligned. Honest answer surfaced three smells:
|
||
|
||
1. The lift to a unified partial requires answering content-typology questions that aren't answered yet (where does each type's breadcrumb point?). Doing it silently would be unauthorized scope expansion.
|
||
2. The proposal conflated three things: small fix (bio + cv), design pass (typology→parent), consolidation refactor (partial template).
|
||
3. *"Build what you will not need to rebuild"* argues against encoding wrong content-typology decisions today and rebuilding everything later when steward disagrees.
|
||
|
||
Steward's call: *"Ok, this sounds like we need to write a spec to do this correctly. Let's follow your suggestion for right now and then spend a focussed session designing the spec — the code should flow easily afterwards. And, now that I think of it, this should probably be done after the `type:` audit."*
|
||
|
||
## Sequencing locked
|
||
|
||
1. **Now (done 2026-05-01):** stopgap fix for bio + cv only — `enfilade-hidden: true` flag added to `collectEnfiladeIds` in site.hs; bio + cv route through about-page.html for breadcrumb but stay out of the enfilade door strip. Site.hs edit carries an explicit STOPGAP comment naming this deferral.
|
||
2. **Next: corpus `type:` audit** — reclassify Heliotrope → Meditation, Graffiti Girl → Reverie, Dec 23 dream → Reverie/Dream, Dec 22 half-light → Meditation, Death of a Hero → Hommage, Matthieu Taliesin → Heteronym, Vespers boundary, /now-page reclassify, etc. (per `project-arc-rework.md` 2026-04-20 + 2026-04-23 sections). Resolves *which types exist* and *what their relationships are*. Gated on MemPalace returning queryable + chamber-library mine completing.
|
||
3. **Then: breadcrumb spec session** — focused 2-3 hour design conversation. Walk through each content type, decide its parent. Open questions:
|
||
- Does an essay-in-a-sequence breadcrumb to `/essays/` or to `/essays/after-the-reply/`?
|
||
- Where does an `observation` breadcrumb to — `/observations/` or `/annals/`?
|
||
- Chamber-attached pieces (with ⟐ apparatus) — to their content type or to `/chamber/`?
|
||
- Does the homepage have one? Does `/annals/` (a listing page itself)?
|
||
- How do bio + cv re-integrate cleanly when the unified system replaces the stopgap flag?
|
||
4. **Then: implementation** — single `templates/partials/breadcrumb.html`, class-to-parent map in site.hs as faithful encoding of the design decisions. Existing inline breadcrumbs in `post.html` / `about-page.html` / `sequence-index.html` get removed (preserve-don't-delete: archive the inline blocks with provenance). The `enfilade-hidden: true` stopgap is retired; bio + cv use the unified mechanism.
|
||
|
||
## About-enfilade siblings need consistent classification (added 2026-05-02)
|
||
|
||
While diagnosing why Hearth's body-block sidenote rendered roman-on-roman (against Bringhurst contrast), we found that `class: lex` in Hearth's frontmatter was firing the lex sidenote density-exception inappropriately. Surface fix shipped (SCSS selector narrowed from `article.lex .sidenote` to `article.lex .voice-block .sidenote` in commit `0abfe88`). But the deeper issue is **misclassification**: Hearth is an About-enfilade page (alongside Colophon, AldineXXI, Vignette, Attention, Tools, Now, plus Bio + CV) — it is not a lex-cluster page like posture / marks.
|
||
|
||
Steward verbatim 2026-05-02: *"The Hearth is an About page, like the rest of the enfilade ... and Colophon, AldineXXI, Vignette ... and the rest."*
|
||
|
||
Current state of About-enfilade `class:` assignments — scattered across the typology by accident of when each page was created (the About-enfilade-as-shape only became architecturally explicit in the 2026-04-27 enfilade-emergent session):
|
||
|
||
- Bio · CV — no `class:` (default)
|
||
- Colophon — `class: essay`
|
||
- Hearth — `class: lex` (now misclassified per above)
|
||
- AldineXXI · Vignette · Attention · Tools · Now — varied, need to be checked
|
||
|
||
**Type-pass scope expansion:** the audit should not only reclassify content-types (Heliotrope → Meditation, etc.) but also normalize the About-enfilade siblings — possibly under a new shared `class: door` (or `class: about-page`, or whatever serves) so the entire 8-door slate is consistent and a future enfilade addition has a predictable class to take. The reward: the SCSS narrowing for Hearth becomes unnecessary (Hearth would no longer be `article.lex` and would inherit base sidenote behavior naturally) — what is currently a hack at the SCSS layer dissolves at the data layer where it belongs.
|
||
|
||
Steward verbatim acknowledgment: *"the about pages (or whatever we will assign them as `type:`) need to be unified, this should make everything easier and then we can have the Hearth sidenotes render without a hack."*
|
||
|
||
## Adjacent architectural concerns to surface in the spec session
|
||
|
||
The steward's "is the enfilade system simple, consolidated, elegant?" question surfaced three smells worth addressing or naming-as-acceptable in the spec session:
|
||
|
||
1. **`enfilade-order: 0` does double duty** — both "position" and "hide-from-row." A new page wanting "hidden member" semantics has nowhere clean to live (which is why I had to add the `enfilade-hidden` flag as fourth field stopgap).
|
||
2. **Two parallel mechanisms.** `enfilade-*` (about) and `sequence_*` (After the Reply) do morally the same thing — gathered navigation by membership — with different vocabularies, different gather logic, different templates. Could be unified under one "collection" abstraction. Unifying is bigger work; declaring them as intentionally separate (different purposes despite morphological similarity) is also a valid call.
|
||
3. **Hardcoded pattern union in site.hs.** `aboutEnfiladeCtx` literally enumerates `pages/*.md ∨ chamber/index.md ∨ lares/index.md`. Each new enfilade-bearing tree requires a site.hs edit. Could be data-driven.
|
||
|
||
These don't have to be solved in the breadcrumb spec — but they sit adjacent and the spec session should at least name whether to include or defer them.
|
||
|
||
## Stopgap details (for later cleanup)
|
||
|
||
When the unified breadcrumb lands and the stopgap retires:
|
||
|
||
- Remove `enfilade-hidden: true` filter from `collectEnfiladeIds` in `site.hs`
|
||
- Remove the `enfilade-hidden: true` field from `content/pages/bio.md` and `content/pages/cv.md`
|
||
- Remove the `enfilade-name: "Bio"` from bio.md if the unified breadcrumb has its own label-override mechanism
|
||
- Verify bio + cv still get correct breadcrumbs under the new mechanism
|
||
|
||
## Cross-references
|
||
|
||
- Steward verbatim direction: this session 2026-05-01
|
||
- `project-arc-rework.md` — full ARC rework landscape including the type-audit work that gates this
|
||
- `project-after-the-reply-publication-state.md` — the closed sequence work that introduced the parallel `sequence_*` family
|
||
- `feedback-canonical-workstream-tracker-discipline.md` — read this file at /wake-up when ARC work is in scope |