Two composites nested a child by tag and URL without a profile-config. Those children do not render a component directly — their bundle entry mounts ProfileLoader, which reads profile-config.profile to choose which view to load. With none, the element still mounts and still reports its tag, so every structural check said both children were present, while the loader rendered "missing or invalid profile-config prop" where the map should be. The grid half of each page worked, which is how it survived. Found by reading a regenerated README screenshot, not by any gate. The mobile screenshot showed an error card and an empty pane; the fixed one shows the real research map with its data, controls and progress figures. research-map-plus-grid was mine, shipped that way. stack-demo predates it and had the same defect against research-dashboard. Both now pass the shape their own generated leaf pages use, so nested and standalone mounts ask for the same thing. check:composite-srcs now requires a profile-config on any child whose bundle mounts ProfileLoader, derived from which entries import it rather than a list. The first version of that check tested for the word and passed on its own explanatory comment; it now matches the quoted attribute key, and a negative test that mutates only the key fails as it should. Also regenerates three derived artifacts that had drifted behind this flight's changes: the library index, the capability exemplars table, and all twelve README screenshots.
3.9 KiB
Reference — capability exemplars (GENERATED)
Do not hand-edit. Regenerate with
bun run capability-exemplars;bun run check:capability-exemplarsfails if this file falls behind the manifest.This answers one question authoritatively: which bundles are the capability-N examples right now? It is derived from
public/doxa-maps/manifest.json, which is what the build computed from each folder's real shape — so it cannot drift from what ships.Cite this file rather than remembering. The same citation has been wrong in three separate places: a gate, the README, and the
/plugin-designerskill. The trap is that a folder's apparent simplicity does not decide its tier — an*.instances.jsonmakes a bundleparameterized(cap-2) no matter how light it looks, and ameta.jsontypedeclares tiers 3/4/5.
Generated from 19 bundle(s).
One canonical exemplar per tier (generated — quote these)
| Capability | Machine key | Cite this |
|---|---|---|
| 1 — single-element | single |
all-people-groups |
| 2 — preset-element (prop-table) | parameterized |
doxa-simple-map |
| 3 — multi-view-element (monolithic) | monolithic |
research-dashboard |
| 4 — composite-element (nested-element SPA) | nested-elements-mfe |
big-picture |
| 5 — app-shell (nested-SPA) | nested-mfe-spa |
doxa-maps-spa |
Known-wrong citations this block replaces (both measured 2026-09-22, both in the
/plugin-designerskill, which lives outside this repo and so cannot be gated from here):unified-research-dashboardas the cap-4 reference — that bundle does not exist; it becameresearch-dashboard(cap-3) plusdashboard-plus-grid(cap-4). Anddoxa-vision-cardas the cap-1 example — it ships adoxa-vision-card.instances.jsonwith 2 instances, which makes it cap-2 parameterized by the project's own rule.
Capability 1 — single-element
| Bundle | Profile | Machine key |
|---|---|---|
all-people-groups |
all-people-groups |
single |
cities-internet |
connectivity-list |
single |
cities-internet |
connectivity-map |
single |
cities-internet |
data-tables |
single |
country-posters |
countries-map |
single |
country-posters |
country-poster-wall |
single |
golden-path-check |
golden-path-check |
single |
gospel-resources |
charts |
single |
gospel-resources |
data-tables |
single |
gospel-resources |
resources-list |
single |
gospel-resources |
resources-map |
single |
my-upg-100-list |
poster-wall |
single |
my-upg-100-list |
upg-100-list |
single |
template-bundle |
template-map-a |
single |
template-bundle |
template-map-b |
single |
Capability 2 — preset-element (prop-table)
| Bundle | Profile | Machine key |
|---|---|---|
demo-map |
demo-map |
parameterized |
doxa-simple-map |
doxa-simple-map |
parameterized |
doxa-vision-card |
doxa-vision-card |
parameterized |
people-groups-grid |
people-groups-grid |
parameterized |
Capability 3 — multi-view-element (monolithic)
| Bundle | Profile | Machine key |
|---|---|---|
doxa-research-map |
research-map |
monolithic |
research-dashboard |
research-dashboard |
monolithic |
Capability 4 — composite-element (nested-element SPA)
| Bundle | Profile | Machine key |
|---|---|---|
big-picture |
big-picture |
nested-elements-mfe |
dashboard-plus-grid |
dashboard-plus-grid |
nested-elements-mfe |
my-upg-100-list |
upg-100-mfe |
nested-elements-mfe |
research-map-plus-grid |
research-map-plus-grid |
nested-elements-mfe |
stack-demo |
stack-demo |
nested-elements-mfe |
Capability 5 — app-shell (nested-SPA)
| Bundle | Profile | Machine key |
|---|---|---|
doxa-maps-spa |
doxa-maps-spa |
nested-mfe-spa |
plugin-studio |
plugin-studio |
nested-mfe-spa |