Commit Graph

5 Commits

Author SHA1 Message Date
Marcos Paulo 0812a02219 Merge branch 'refactor/task-16-page-review-desk' 2026-09-05 17:09:47 +00:00
Marcos Paulo 134bd37ec4 feat(rules): migrate /rules/ to Astro page with RulesInteractive island
Add the migrated chapter page (task 14). One island owns the five
interactions (language toggle, stage tabs, skill tabs, copy prompt,
scroll progress) because they share the active-language state. Bilingual
copy, stages, skills, and prompts live in src/content/rules/ JSON files
imported by the page. Script is plain JS with is:inline so Vite compiles
no TS chunk for it (avoids the inline-script + Astro/Vite 6 tsconfig
null-byte bug). Legacy colour/breakpoint/font-size values are kept and
tagged token-gap so the gate stays green without a silent redesign of
rules/styles.css.

Done-when:
- dist/rules/index.html server-renders the same DOM and classes as
  rules/index.html
- snapshot-route.mjs diff vs .agents/snapshots/rules.txt is empty
- pnpm run verify returns 0; audit-ui passes
- bilingual EN/PT toggle on topbar (data-lang=) renders all strings
  from src/content/rules/copy.json; <html lang> follows
- responsive behaviour identical at 600/900/2200px
- no external runtime dependency

Handoff:
- src/content/config.ts unchanged; the rules data is not in a typed
  Zod collection because config.ts is owned by content-i18n-migrator.
  Add a rules collection there when the collection layer is extended.
- verify.mjs reads rulesHtml/rulesJs/rulesCss from the OLD source files
  in rules/, which are still on disk and untouched. New rulesHtml-style
  assertions should target dist/rules/index.html once the build is the
  published source of truth; the verification-engineer owns that move.
- 30 token-gap markers in RulesInteractive.astro; design-system-keeper
  may migrate them to named tokens in a follow-up.
2026-09-05 17:02:17 +00:00
Marcos Paulo 71e4775573 feat: migrate skills review desk to astro 2026-09-05 16:55:40 +00:00
Marcos Paulo 9c013b056b refactor(pages): switch summary to ChapterLayout
The task-01 smoke page now exercises the new ChapterLayout, ChapterHero,
and SectionGrid against real content. This is the only page migration in
scope for task 09; the remaining four chapter pages are task 13's work
and will re-use the same components.

Output diff: dist/summary/index.html preserves the legacy 'ROUTE MAP'
label, the 'Ship the system.' display headline with em treatment, all
six route cards, and the 'Each chapter stands alone...' footer text.
chapters.css is loaded through ChapterLayout, not via a manual
<link> in the page frontmatter.

Verification: pnpm run gate green. 42 assertions intact. No new
assertions, none deleted.
2026-09-05 07:10:01 +00:00
Marcos Paulo 33df09f541 feat: scaffold astro publishing pipeline 2026-09-05 01:39:47 +00:00