doxa-maps/documentation/reference-capability-exemplars.md
doxa-maps-88655c70 79bd6d2ac3
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
public/ is one folder: the output tree plus a README, with the Plugin Studio as its front page
Driver decisions (cards BUILD-OUTPUT-IS-ONE-FOLDER, BUILD-PLUGIN-STUDIO-IS-THE-OUTPUT-FRONT-PAGE).

- public/ holds only <tree>/ and a generated README.md. The build no longer writes public/index.html,
  public/assets/ or public/__gallery/; `rm -rf public && bun run build` recreates exactly these two.
- The Plugin Studio is <tree>/index.html (tree-base "."), replacing the staging-forge chooser; nothing
  is written above the tree. check:staging-lang, which tested that chooser, is retired with it.
- Assets are gathered in a temp directory and the fetched allowlist staged into <tree>/assets/ as
  before. fonts/, images/, brand/ and legacy/ existed ONLY in public/assets: they are sources and move
  to data/ (git mv). Poster previews keep their tracked sources in plugin-designs/*/assets/previews
  (all 378 verified present).
- __gallery/ is archived out of public/ (a copy kept in the umbrella's _qa-cycle/archive) and out of
  the build; generate-gallery renders only on request, into a directory you name, never public/.
- Native shells load the output folder: capacitor webDir public/<tree> (cap copy needs an index.html
  there), Tauri frontendDist + window url relative to it. internal/sync-app-shells.mjs keeps both in
  step with the tree's name on every build, so the coming rename stays one config line; the Capacitor
  start page resolves its leaf tree-relative.
- dropin.include now lists only extras (README.md): the tree is always shipped and never named twice;
  excludes are tree-relative ({tree}/...). clean.mjs removes the old root entries from existing
  checkouts; the build lock and public/.gitignore's rules move out of public/.
- check:wp-embed read the BUILT manifest from gates:pre, before the build, so a from-scratch build
  could never pass; it runs in gates:post and reads the tree name from config.
- Stale bundles refreshed by the clean build (key-cities, template-bundle, wall-of-people-groups);
  the CLI doc's quoted scripts re-synced; capability exemplars regenerated; the '#' note leaves
  check:stale-sweep-claim's command (it was already in //scripts).

Proof: rm -rf public && bun run build -> public/ = README.md + doxa-maps/; check:sri, check:drop,
check:parse, check:public-hygiene, check:quoted-scripts, check:capability-exemplars PASS; all 57 pages
(the front page + 56 leaves) mount under /doxa-maps/ on this tree. check:facet-cascade is red as on main.
2026-09-25 17:41:56 +00:00

4.3 KiB

Reference — capability exemplars (GENERATED)

Do not hand-edit. Regenerate with bun run capability-exemplars; bun run check:capability-exemplars fails 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-designer skill. The trap is that a folder's apparent simplicity does not decide its tier — an *.instances.json makes a bundle parameterized (cap-2) no matter how light it looks, and a meta.json type declares tiers 3/4/5.

Generated from 23 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 pplr-data-maps
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-designer skill, which lives outside this repo and so cannot be gated from here): unified-research-dashboard as the cap-4 reference — that bundle does not exist; it became research-dashboard (cap-3) plus dashboard-plus-grid (cap-4). And doxa-vision-card as the cap-1 example — it ships a doxa-vision-card.instances.json with 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
prayer-walk-planner prayer-walk-planner single
regions-dashboard region-dashboards single
regions-dashboard regions-list 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
pplr-data-maps pplr-data-maps monolithic
research-dashboard research-dashboard monolithic
upg-neighbor upg-neighbor monolithic
wall-of-people-groups wall-of-people-groups monolithic

Capability 4 — composite-element (nested-element SPA)

Bundle Profile Machine key
big-picture big-picture nested-elements-mfe
country-posters country-posters-mfe nested-elements-mfe
dashboard-plus-grid dashboard-plus-grid nested-elements-mfe
gospel-resources gospel-dashboard nested-elements-mfe
my-upg-100-list upg-100-mfe nested-elements-mfe
regions-dashboard regions-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