# 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 05–06 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