Files
ai-for-dummies/plans/astro-refactor/task-04b-chapters-data.md
Marcos Paulo 107e429fb9 docs(plan): add task 04b for unfilled chapters collection
Task 04 defined the chapters collection; nothing ever filled it. Task 08
built RouteCard/GridGroup and found no data and no href/cta field to feed
them. Blocks 12 and 13.
2026-09-05 16:41:18 +00:00

61 lines
2.6 KiB
Markdown
Raw Permalink 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.
# Task 04b — Chapter and landing content
**Agent**: `content-i18n-migrator` · **Model**: MiniMax-M3 **Depends on**: 04 ·
**Parallel with**: 14, 15, 16, 17 · **Blocks**: 12, 13 **Worktree**:
`.agents/scripts/worktree.sh start 04b chapters-data`
## Why this task exists
It is not in the original plan. Task 04 defined the `chapters` collection and
tasks 0506 filled `skillSources`, `phases`, `providers`, `efforts`,
`handsOnPrompts`, `skillInstallPrompts`, and `reviews` — but nothing ever filled
`chapters`. `src/content/chapters/` does not exist, so the collection is defined
and empty. Task 08 hit this from the other side: it built `RouteCard` and
`GridGroup` and then had no data to feed them.
Two tasks are blocked on it, so it is worth doing on its own rather than
smuggling it into either.
## Scope
`src/content/config.ts` (the `chapters` schema only) and
`src/content/chapters/*.json`. **You own `config.ts`** — you are the only agent
who may edit it. Do not touch any other collection's schema.
## Two things to deliver
### 1. The landing route map has nowhere to live
`index.html` has six cards, each with a destination and its own call-to-action
text. The current `chapters` schema has `cards[]` with `label`/`title`/`copy`
and no `href`, and no CTA field anywhere.
Add what the real markup needs. From task 08's report, the six CTAs are not
uniform — four read "Open chapter →", one "Open lab →", one "Open desk →", so a
single hardcoded default would be wrong. Verify that against `index.html`
yourself rather than trusting it.
### 2. The four chapter pages have no entries
Fill `chapters` for `/models/`, `/agents/`, `/skills/`, `/summary/` plus the
landing page, both locales, from the existing HTML.
## Rules that bite here
- **Both `en` and `pt` are mandatory on every localized field.** A missing `pt`
must fail the build. Do not make a field optional to get past a validation
error — find the real Portuguese string in the existing HTML.
- Copy strings **verbatim** from the current HTML. This is a move, not a
rewrite. No fixing typos, no improving phrasing, no translating anything that
is already translated.
- Do not migrate any page. Tasks 12 and 13 own that. You produce data only.
- Do not edit `verify.mjs`, `tokens.css`, `astro.config.mjs`, or any component.
## Done when
- [ ] `chapters` schema carries the landing route map's real fields
- [ ] Entries exist for landing + the four chapter pages, both locales
- [ ] Every string traceable to the HTML it came from
- [ ] `pnpm run gate` green, 42 assertions intact
- [ ] Report names the exact schema change so tasks 12 and 13 can rely on it