session 2026-06-08: ARC W3R Stage 2 (@layer middle path, !important 56→12 live) — session memory + ledger + Fowler skill-harvest + verification-ladder (delayer-diff + token-strip/render-proof cautions)

This commit is contained in:
David F Glidden
2026-06-08 14:24:15 +02:00
parent e9d2ddbb34
commit ce9760e2d2
5 changed files with 235 additions and 0 deletions
@@ -0,0 +1,32 @@
---
name: session-ledger-2026-06-08
description: "Practice-of-return ledger maintained by /symmetria — returns, open horizons, recalibrations, authorization moves, sub-agent dialogues, bypasses."
metadata:
node_type: memory
type: feedback
originSessionId: 69ced5cd-4504-4a05-ba7a-357c77529189
---
# Session Ledger — 2026-06-08
## Returns
- 2026-06-08T07:40 — **measure-don't-speculate paid (Fowler ch2 date-range lesson, applied to ourselves).** The raw `grep -c '!important' = 70` was over-count: 10 dead (archive-v1, not in main.scss build) + 4 comment mentions of the word ("these three !importants…"). Clean live declaration count (`!important;` in built partials) = **56 — the audit number holds.** Two would-be mis-classifications caught by checking instead of assuming: (a) the visually-hidden mixin's 9 are LIVE not dead (it IS `@include`d at compass:97); (b) `_base.scss` has 3 real decls not 4. The literal-question census is answered by measuring, exactly as the chapter teaches.
## Returns (cont.)
- 2026-06-08T09:10 — **2a (5-layer whole-file wrap) REVERTED — design fault caught by steward render-review.** Class of failure: wrapping a heterogeneous partial in one layer promotes ITS low-specificity blanket rules (mobile `p{text-align:left}`, `*{animation}`, `.fragment{max-width:85%}`) above component rules that previously beat them by SPECIFICITY — because @layer overrides specificity. ≥3 instances spotted (mobile epigraph left-align, fragment width, epigraph/attribution spacing) but the class is unbounded by what the eye caught. My delayer-diff proved CSS-TEXT identity but NOT rendered identity — exactly the honest-degradation gap I'd flagged; the steward's eye was the real gate. Lesson: **role ≠ file** — a partial's name doesn't map to a cascade layer when its rules span roles. Reverted to clean 69d1c4a; local==live restored. Corrected design = base+overrides (everything in base = baseline cascade; only the !important override-blocks promoted) — provably rendered-identical, zero inversion surface. Awaiting steward design pick.
## Open horizons
- 2026-06-08T07:09 — ARC Wave 3R SCSS day. Discipline: READ Fowler Refactoring chs 1–3 (Chamber, craft_of_software/) BEFORE any SCSS edit. Two hats; byte-identical gate = green bar. !important re-census + per-survivor classification (ch3 Bad Smells lens) is the open literal question — raw grep now 70, not the remembered 56; classification untouched.
- be §2 fonts/images (images gated on Seb tenant repo); L1 baton with Seb (connection-leak finding to relay; PENDING-27 with jurist); PENDING-32 stale-copy premise to relay to jurist; MemPalace 3.4.0 upgrade (saved plan, post-heavy-work slot).
## Confidence to recalibrate
- 2026-06-08T10:05 — **2b sed over-breadth: `s/[[:space:]]*!important//g` across whole files stripped the word from 4 COMMENTS too** (a code-ref in backticks, two prose mentions, and my own 2a layer-note "not by !important"). Caught by comparing raw-before (15/23) vs clean-decl (12/22) counts → diffed comment lines → restored all 4. Lesson: a mechanical token-strip across a whole file hits the token in comments/strings/code-refs; either scope to declaration lines or verify comment integrity after. (Same family as the 06-08 morning census over-count: the word lives in prose too.) Added to the watch-list for a verification-ladder note.
- 2026-06-08T08:20 — Wave 3R Stage 2a structural proof is CONCLUSIVE *only* at the CSS-text level (delayered new == baseline, byte-identical, 34273 B). It does NOT prove rendered-identity: @layer overrides specificity, so the cascade *basis* changed. Residual risk = non-!important cross-layer specificity competition (a higher-spec rule in a lower layer that a lower-spec rule in a higher layer would now beat). The 56 !importants are RETAINED in 2a, so the previously-!important winners (compass-points, full-bleed img) are unaffected — risk is confined to normal declarations. Confirm via render-review on the per-type×per-viewport ladder before commit. Honest degradation: I cannot render here.
## Authorization moves
- 2026-06-08T09:40 — **Stage 2a RE-EXECUTED as base+overrides (steward-authorized; "which would Fowler do?" → Option 1 on Yagni/Speculative-Generality/small-steps grounds; cathedral deferred till earned).** `@layer base, overrides;` declared in _foundation with a written future-rule placement rule. 18 partials whole-wrapped → base; _compass whole → overrides; _frontispiece split in-place (epigraph/layout/nav → base, .frontispiece-compass → overrides); _variables/_mixins unwrapped. SCOPE REFINED mid-execution: overrides = compass-points ONLY (clean 34). The glimpse full-bleed 9 DEFERRED — they're `.glimpse img` nested in a mixed content-type block; clean promotion needs extraction or risks re-introducing the inversion class on figcaption/p; some may be specificity-redundant (removable with no layer). Verified: delayer-diff byte-identical to baseline (34273 B; nothing moved) + rendered-identity by construction (only already-!important-winning compass-points promoted; their non-!important rules have no base competitor; the 3 regression-causers all stay in base). 20 files, +86/−4. NOT committed/deployed. Awaiting steward re-review → commit. Then 2b = remove the 34 compass !importants.
- 2026-06-08T08:20 — **Stage 2a (5-layer) executed in working tree** (steward-authorized over two turns): `@layer reset, base, layout, components, utilities` declared authoritatively in _foundation (first emitter); 20 emitting partials wrapped in their layers; _variables/_mixins unwrapped (emit nothing). 21 files changed, +64/−4. NOT committed, NOT deployed. _site rebuilt to wrapped state. Two hazards resolved pre-wrap: %clearfix @extend (single, cascade-neutral — Stage-3 note stands) + variables-emits-nothing. Awaiting steward render-review → then commit.
## Sub-agent dialogues
## Bypasses