Specs: repo-structure, 10 framework layer specs, packs, site. Changes: repo-restructure (10 tasks), css-refactor (12 tasks), legacy-import (proposal + triage categories). Supersede docs/css-refactor-plan.md in favor of OpenSpec change. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4 KiB
Tasks: CSS Layer Refactor
Imported from docs/css-refactor-plan.md. Each step = one agent session.
Prerequisite: repo-restructure change must be complete. All files in src/layers/.
Task 1 — Add missing aliases to token file
Files: src/layers/01-asw.css (pre-rename)
Action: Add semantic aliases for --font-weight-N, --shadow-N, --border-size-2, --size-px-12, and --space-5a gap.
Acceptance: Build passes. No visual change. New aliases exist in :root.
Task 2 — Extract editorial rules from token file
Files: src/layers/01-asw.css, src/layers/08-layout.css
Action: Move body > nav padding rule to 03-components.css. Move [data-layout="docs"] > article max-width to 08-layout.css. Token file becomes pure :root only.
Acceptance: Build passes. Nav centering and docs prose width unchanged.
Task 3 — Rename 01-asw.css → 01-tokens.css
Files: src/layers/01-asw.css, src/main.css
Action: Rename file, update @import.
Acceptance: Build passes.
Task 4 — Fix primitive leaks in 03-components.css
Files: src/layers/03-components.css
Action: Replace all --font-weight-N, --size-N, --shadow-N, --border-size-N with semantic aliases.
Acceptance: Build passes. No visual change.
Task 5 — Fix primitive leaks in 06-charts.css
Files: src/layers/06-charts.css
Action: Replace --size-1/2/3 with --space-1/2/4.
Acceptance: Build passes. Charts render unchanged.
Task 6 — Fix primitive leaks in remaining files
Files: src/layers/02-semantic.css, src/layers/07-chroma.css, src/layers/08-layout.css, src/layers/09-landing.css
Action: Replace all remaining --font-weight-N, --size-N primitives with semantic aliases.
Acceptance: Build passes after each file.
Task 7 — Create 03-landmarks.css, extract from 03-components.css
Files: src/layers/03-components.css, new src/layers/03-landmarks.css, src/main.css
Action: Move landmark sections (nav, article, dt/dd, section, hgroup, footer) to new file.
Acceptance: Build passes. All landmark styles render unchanged.
Task 8 — Create 04-forms.css, extract from 03-components.css
Files: src/layers/03-components.css, new src/layers/04-forms.css, src/main.css
Action: Move buttons and form elements to new file.
Acceptance: Build passes.
Task 9 — Create 06-navigation.css, extract from 03-components.css
Files: src/layers/03-components.css, new src/layers/06-navigation.css, src/main.css
Action: Move sidebar nav and TOC sections to new file.
Acceptance: Build passes. Sidebar and TOC render unchanged.
Task 10 — Rename files to final numbering + merge essay
Files: All layer files, src/main.css
Action: Rename to final numbers (see proposal layer map). Merge 08a-essay.css into 11-layout.css. Update all @import statements.
Acceptance: Build passes.
Task 11 — Audit unused tokens
Files: src/layers/01-tokens.css
Action: Build CSS, grep for token usage, diff defined vs used. Remove confirmed unused.
Acceptance: Build passes. Spot-check 3-4 pages visually.
Task 12 — Fix HTML template issues from sidebar/TOC refactor
Files: site/layouts/docs/single.html, site/layouts/notes/single.html (post-restructure paths)
Action: From docs/css-html-cleanup-todo.md:
- Remove redundant
nav[data-nav="sidebar"] ul li { margin: 0; padding: 0 }resets (if not already caught in Tasks 7/9) - Remove redundant
aside[data-toc] nav ul li { margin: 0; padding: 0 }resets (if not already caught in Tasks 7/9) - Replace
<small>← Previous</small>/<small>Next →</small>with appropriate element in prev/next footer - Remove
role="main"from<article>in docs single layout - Move hardcoded
"On this page"string to Hugo i18n or site param Acceptance: Build passes. Prev/next links render correctly. TOC heading uses i18n string. Norole="main"on<article>.