docs: tell 15d what 05b shipped and that labels are still its job
verify-and-publish / gate (push) Successful in 8m24s
verify-and-publish / publish (push) Has been skipped

This commit is contained in:
Marcos Paulo
2026-09-05 19:26:55 +00:00
parent 595006bcba
commit dc01460ee3
@@ -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.