diff --git a/plans/astro-refactor/task-15d-page-full-guide.md b/plans/astro-refactor/task-15d-page-full-guide.md index 1215dba..dd59ffa 100644 --- a/plans/astro-refactor/task-15d-page-full-guide.md +++ b/plans/astro-refactor/task-15d-page-full-guide.md @@ -100,3 +100,33 @@ another task's work — report the gap instead. snapshot to make a diff go away. - **`renderHandsOn` takes no argument** and is not part of GuideSelector's nine-group pattern. It is yours. Its name is asserted by `verify.mjs`. + +## The data exists now (task 05b) + +Your first attempt stopped here, correctly: six of the nine selector groups had +no collection to read. Task 05b fixed that. `src/content/` now carries `workers` +(3), `trees` (4), `routes` (4), `skillFiles` (4), `skillWorkflow` (5) and +`commonSkills` (7) alongside the six task 05 already migrated. Every string was +verified byte-identical to its `app.js` original — 221 values, zero mismatches — +so read them as authoritative and do not re-derive from `app.js`. + +Two things 05b decided that you should know: + +- `trees[id].status` is in the schema although `GuideSelectorData` omits it. + `index.html` renders it as the dot colour on each tree node. The island does + not consume it; the page may. +- `commonSkills[id].source` is embedded per entry rather than joined from + `skillSources[id].url` at render time. Both carry the same URL. + +## The one piece still missing: `labels` + +`GuideSelectorData.labels` is not a collection. Those strings — `OWNER` / +`RESPONSÁVEL`, `REASONING LOAD` / `CARGA DE RACIOCÍNIO`, `context: isolated` / +`contexto: isolado` and the rest — are still hard-coded bilingual literals +inside the `render*` functions in `app.js`. 05b deliberately left them, because +they are page-chrome rather than content. + +They are yours. Lift them verbatim — same rule as everything else, both locales +mandatory, no retranslation, copy the exact strings out of `app.js`. Whether +they become a seventh collection or an inline constant in the page is your call; +say which you chose and why.