doxa-maps/internal/fixtures/driver-references-baseline.json

510 lines
77 KiB
JSON

{
"about": "Lines in shipped text that referred to the Driver on 2026-09-29, keyed by file and text, to be removed by the owners' sweep before the public giveaway. Forward-only: this list may only shrink (--shrink).",
"counts": {
"documentation/THIRD-PARTY.md\u0000confirmed would be worse than the present gap, so those go to the Driver.": 1,
"documentation/THIRD-PARTY.md\u0000| `boundaries/world-adm0*.geojson` (2 files, 162 countries) | geoBoundaries gbOpen, assembled per country (its features carry geoBoundaries' own `iso3`/`shapeGroup`/`shapeName`; corrected — this register first guessed Natural Earth) | **MIXED, and ESTABLISHED per country as of 2026-09-28**: 162 upstream licences. **32** duty-free (28 Public Domain + 4 CC0) · **65** attribution-only · **65 SHARE-ALIKE CLASS** (58 ODbL 1.0 + 7 explicit ShareAlike: AGO GAB GEO GIN MMR NER TUR) | **Yes** — the per-country table (licence + licenseSource + boundaryID + boundarySource, fetched verbatim from the geoBoundaries API, 162 of 162, 0 failures) ships at `plugin-designs/my-upg-100-list/data/adm0/PROVENANCE.json`. `boundaries/ATTRIBUTION` references it by path rather than copying it | **OPEN, legal — not a measurement**: whether a redistributed boundary file is a \"Derivative Database\" under ODbL is unanswered, and half the duty-bearing countries turn on it. With the Driver's data-licensing item |": 1,
"documentation/needs-eyes/README.md\u0000Driver's laptop is the other pair of eyes. So a check that can only be seen has to be *openable by": 1,
"documentation/needs-eyes/README.md\u0000Under the Playwright policy (Driver, 2026-09-25) only **rega** runs a browser on the VPS, and the": 1,
"internal/_composed-tiers.mjs\u0000* ★ WHY DERIVE AT ALL (Driver, 2026-09-27). Tiers 3-5 were AUTHORED ONLY — discover.mjs infers just": 1,
"internal/acceptance/big-picture-acceptance.mjs\u0000// dropdown -> grid prop coupling relies on. Country is excluded per Driver.": 1,
"internal/acceptance/interop-harness.mjs\u0000* ── THE COMBINATION MATRIX (Driver: \"EVERY SINGLE COMBINATION ... log whether it DISPLAYED,": 1,
"internal/backend-dev-plugin.mjs\u0000// RUDDER_ENGINE=0 (a server where Rudder is laptop-only, the Driver 2026-09-27): never start it, even if a": 1,
"internal/check-capability-citations.mjs\u0000// lives outside this repo, so no gate here can reach it. That is why the fix is a Driver edit; the": 1,
"internal/check-capability-derived.mjs\u0000* tier that does not exist; the Driver saw exactly that as \"the Research Gallery shows as": 1,
"internal/check-csv-export-shape.mjs\u0000' what the Driver saw as a \"glitched\" export. Put the provenance line LAST; a trailing one-column\\n' +": 1,
"internal/check-csv-export-shape.mjs\u0000* - \"it is tab-separated\" — FALSE. The generator joins with commas; the tabs in the Driver's paste": 1,
"internal/check-csv-export-shape.mjs\u0000* THE DEFECT THIS CATCHES (Driver-reported 2026-09-22: \"this is me exporting the CSV directly without": 1,
"internal/check-dxlife-untouched.mjs\u0000* and reported that 0 to the Driver as proof. root-dx-life IS NOT A GIT REPOSITORY — it is a": 1,
"internal/check-element-census-vs-live.mjs\u0000* OURS-ONLY, sanctioned on the preset's allowlist, which carries the Driver's words + date + card": 1,
"internal/check-element-census-vs-live.mjs\u0000* an invented bar chart by eye, past eight green gates. The Driver's scope ruling is binary — \"it": 1,
"internal/check-element-census-vs-live.mjs\u0000* excused as an omission only while our half is on the page. An allowlist entry without the Driver's words,": 1,
"internal/check-element-census-vs-live.mjs\u0000console.log('ELEMENT-CENSUS: FAIL — an unaccounted addition is a scope violation under the Driver\\'s binary test; an omission is a clone gap. Read the lists: this reports, the owner adjudicates.')": 1,
"internal/check-element-census-vs-live.mjs\u0000const sanctionedBy = (s) => { const hit = p.sanctioned.find((x) => x.re.test(s)); return hit ? `${hit.what || hit.card} — Driver ${hit.date}: \"${hit.driver}\"` : null }": 1,
"internal/check-element-census-vs-live.mjs\u0000for (const [t, x] of pairedTheirs) console.log(` ok their \"${t.slice(0, 50)}\" — the other half of a sanctioned pair (${x.what || x.card}, Driver ${x.date})`)": 1,
"internal/check-element-census-vs-live.mjs\u0000for (const k of ['match', 'driver', 'date', 'card']) if (!s[k]) bad(`${from}: sanctioned[${i}] has no \"${k}\" — every allowance carries the Driver's words, the date and the card`)": 1,
"internal/check-embed-url-absolute.mjs\u0000* THE DEFECT (Driver, 2026-09-28, testing live): the link copied from Simple Research was": 1,
"internal/check-embed-url-absolute.mjs\u0000+ ' That is the exact value the Driver copied. It must resolve against the runtime origin.')": 1,
"internal/check-embedded-rtl.mjs\u0000// Under the Playwright policy (Driver, 2026-09-25) only rega runs a browser, so this check's": 1,
"internal/check-facet-cascade.mjs\u0000* (Showing 0)\" for all three hierarchies — i.e. it reproduces the Driver's report exactly. A gate": 1,
"internal/check-facet-cascade.mjs\u0000* THE DEFECT THIS CATCHES (Driver-reported 2026-09-22): \"if you have a language selected and then": 1,
"internal/check-facet-cascade.mjs\u0000* reproduces the Driver's empty map) silently did not run and the build still went green. That is": 1,
"internal/check-facet-cascade.mjs\u0000// assertion that actually reproduces the Driver's empty map) silently did not run and the build": 1,
"internal/check-facet-cascade.mjs\u0000// reproduce the Driver's bug is how a gate becomes decorative. Only --offline with LIVE=1": 1,
"internal/check-facet-cascade.mjs\u0000// ── C. the Driver's sequence, asserted on RESULT COUNTS ─────────────────────────────────────": 1,
"internal/check-facet-changes-map.mjs\u0000* already green when the Driver reported it.": 1,
"internal/check-facet-changes-map.mjs\u0000* an answer with no prayer information in it. The Driver's words are a COLOUR request:": 1,
"internal/check-facet-changes-map.mjs\u0000* ★ WHY THE COLOUR CHECK IS CONDITIONAL. Orange (#ef6c00) is a Driver decision with a contrast": 1,
"internal/check-facet-changes-map.mjs\u0000// the feature properties intact — that is the EXACT bug the Driver reported (a correct filter whose": 1,
"internal/check-facet-one-field.mjs\u0000* neither ever saw the other's selection. Driver, from behaviour alone: \"there are duplicate": 1,
"internal/check-filter-width-stable.mjs\u0000* ★ WHY IT IS NOT COSMETIC, in the Driver's own reasoning: the selections row with Clear All sits": 1,
"internal/check-fits-the-screen.mjs\u0000* Driver assesses FITNESS FOR USE: is it slim, can I see it at once, does the wheel do what I": 1,
"internal/check-fits-the-screen.mjs\u0000* — and the Driver opened the product and found FIVE real defects in one sitting, several caused": 1,
"internal/check-fits-the-screen.mjs\u0000// Driver, verbatim: \"the dashboard rendering to the full height of the tree legend\" is the": 1,
"internal/check-fits-the-screen.mjs\u0000// the Driver actually sees stacked above the grid — measuring .rd-shell alone would miss a": 1,
"internal/check-fixed-anchoring.mjs\u0000* The Driver reported the menu appearing \"in a random spot further down to the right\" for days. It": 1,
"internal/check-hardcoded-english.mjs\u0000// for content the Driver ruled stays English. Asking someone to \"fix\" these would be asking them": 1,
"internal/check-hardcoded-english.mjs\u0000// marker for content the Driver ruled stays English (a BLUF, a source citation), so flagging it as a": 1,
"internal/check-heartbeat-threshold.mjs\u0000* holding the most people groups. Driver: \"the heartbeat zones are the most people groups in": 1,
"internal/check-heartbeat-threshold.mjs\u0000* silently changing), and only the second protects the Driver. One negative test per regression": 1,
"internal/check-heartbeat-threshold.mjs\u0000* uniformly pale and says nothing. Driver: \"that filter of 150 ... should be a variable. It": 1,
"internal/check-heartbeat-threshold.mjs\u0000// CORRECT code: the label reads \"150+ · heartbeat zone\", because naming the band in the Driver's": 1,
"internal/check-heartbeat-threshold.mjs\u0000// Driver's \"today's map must not change\" requirement — was unasserted, and a one-line edit to": 1,
"internal/check-heartbeat-threshold.mjs\u0000// the zone\" assertion still reads the Driver's words.": 1,
"internal/check-i18n-never-translated.mjs\u0000// options. REMOVE THESE TWO LINES when the Driver rules — they are a bookmark, not a verdict.": 1,
"internal/check-i18n-stopped-scope.mjs\u0000* WHY (P0, the Driver's console, 2026-09-27): in Plugin Studio's gallery every tab after the first threw": 1,
"internal/check-legend-export-reachable.mjs\u0000// The packet IS the product for this profile. The Driver: \"print options at the top right of the": 1,
"internal/check-legend-info-localized.mjs\u0000// were never catalogued. The Driver named this affordance specifically — \"the tab itself": 1,
"internal/check-legend-matches-source.mjs\u0000// NOT asserted as a gate condition here, deliberately: which figure is OFFICIAL is a Driver decision": 1,
"internal/check-legend-top-offset.mjs\u0000* Driver's two tabs and reintroduced the country-posters collision the moment the tools were shown.": 1,
"internal/check-legend-top-offset.mjs\u0000* THE DEFECT (Driver, 2026-09-28): on Simple Research's Regions and Languages tabs under MapLibre, the": 1,
"internal/check-legend-top-offset.mjs\u0000* and 'language-families' — the Driver's two tabs. It stops at 56px to avoid a MEASURED collision on": 1,
"internal/check-legend-top-offset.mjs\u0000+ ' may never be drawn. That is the Driver-reported dead band on the Regions and Languages\\n'": 1,
"internal/check-list-selection.mjs\u0000// for upg100 and the Driver, and picking a winner here would be exactly the silent join we have both": 1,
"internal/check-list-selection.mjs\u0000// plugin until the Driver rules row 87 (the \"zones fold\" regeneration), so it is read from the old": 1,
"internal/check-manifest-covers-discovery.mjs\u0000* profiles vanished from manifest.json and from the studio's tab list. The Driver was reviewing a tree": 1,
"internal/check-map-menu-anchor.mjs\u0000* THE DEFECT (Driver, 2026-09-28, mobile): the share/embed menu opens OFF-SCREEN to the right on Cities": 1,
"internal/check-map-menu-anchor.mjs\u0000* no data-map-area. The Driver reported two; the allowlist made it four. A gate that only checked the": 1,
"internal/check-map-menu-anchor.mjs\u0000+ ' Driver-reported mobile bug, and it is decided by a string literal rather than by geometry.')": 1,
"internal/check-nav-reachable-mobile.mjs\u0000* SPA runs header-OFF by default (the Driver's no-stacked-headers rule for embedding). At mobile": 1,
"internal/check-no-orphan-gates.mjs\u0000* proved a real Driver-reported bug with hard numbers (2586px of mounted grid, a real wheel gesture": 1,
"internal/check-no-public-binds.mjs\u0000* Driver stated it plainly: \"we don't need any open ports on this box because you push your changes": 1,
"internal/check-one-scroll-container.mjs\u0000* THE DEFECT THIS EXISTS FOR (Driver, 2026-09-28, \"one of my least favorite bugs\"): on DX Life's": 1,
"internal/check-optional-t-equivalence.mjs\u0000// dx-shepherd RULED the locale-honouring fallback everywhere (2026-09-27; the Driver's goal (d), a": 1,
"internal/check-packet-render.mjs\u0000// 3. Content the Driver specified explicitly: Mark 5:1-20 in full, 12 wheel segments,": 1,
"internal/check-packet-render.mjs\u0000// 32 contiguous cells fill most of row 1 of 52, so the page said \"a big green block\" where the Driver's": 1,
"internal/check-packet-render.mjs\u0000// Driver's own arithmetic (100 years x 52 weeks) and is the only number here that may not drift.": 1,
"internal/check-packet-render.mjs\u0000// Mark 5:1-20 in full is a Driver requirement for point 4: \"it actually lists out the": 1,
"internal/check-packet-render.mjs\u0000// in the packet and the one the Driver singled out (\"prayer point number four is": 1,
"internal/check-packet-render.mjs\u0000// page. The Driver's spec names the wheel as one of the packet's four sections.": 1,
"internal/check-packet-render.mjs\u0000// while page 1 — \"the map one-pager\", the first line of the Driver's packet spec — was": 1,
"internal/check-packet-render.mjs\u0000// ⚠ AND THE SAME FOR THE LIFE-CALENDAR PAGES (2026-09-27, Driver's page order). Two more structural": 1,
"internal/check-packet-render.mjs\u0000? 'Mark 5:1-20 is NOT printed in full (Driver requirement for point 4) — no .p4-passage block'": 1,
"internal/check-packet-strings-parity.mjs\u0000// ── The Driver's new packet pages, 2026-09-27: a 100-year life calendar, the same grid shaded by": 1,
"internal/check-poster-action-print.mjs\u0000* Driver rule 2026-09-28: an export-poster button opens the PRINT DIALOG with a preview, never a direct": 1,
"internal/check-poster-card-fits.mjs\u0000// Driver's \"around 4 per row\" is about; cardW is reported beside it because the two move": 1,
"internal/check-poster-card-fits.mjs\u0000// The Driver asked for \"around 4 per row on desktop, like Instagram\". The grid is ONE rule for": 1,
"internal/check-poster-card-fits.mjs\u0000// The row belongs BELOW the preview. Driver-reported 2026-09-24: \"the download print options are": 1,
"internal/check-poster-card-fits.mjs\u0000// above trivially — nothing can overlap what does not render. Driver 2026-09-24: \"it is supposed": 1,
"internal/check-poster-card-fits.mjs\u0000// print footer this same gate asserts is readable. Asserting a number the Driver has not": 1,
"internal/check-poster-card-fits.mjs\u0000// would encode a ratio the Driver explicitly left open (\"probably an equal or more": 1,
"internal/check-poster-card-fits.mjs\u0000// ★ A STICKER STRADDLES THE EDGE IT TAPES (Driver 2026-09-25, the sticker/banner brief).": 1,
"internal/check-poster-card-fits.mjs\u0000// ★ AND SWEEP LOCALES, for exactly the same reason the widths are swept. The Driver's requirement": 1,
"internal/check-poster-card-fits.mjs\u0000// ★ NO NATIVE DROPDOWN IN THE DEFAULT ROW (same ruling). The Driver's reason is not": 1,
"internal/check-poster-raster.mjs\u0000// 74 MB asset tree. Driver: \"it would be a big win to not have to have 80mb of": 1,
"internal/check-prayer-walk-planner.mjs\u0000* WHAT THIS PROTECTS (the Driver: \"the prayer walk planner is still a very tiny map, not expanding": 1,
"internal/check-prayer-walk-planner.mjs\u0000// The Driver: \"a print that stays sharp when zoomed\" — at >= 300 DPI a zoomed PDF shows real": 1,
"internal/check-print-geometry.mjs\u0000// Driver: \"make sure poster generation works and the aspect ratio of the print": 1,
"internal/check-provide-shadowing.mjs\u0000* THE DEFECT (Driver's console, 2026-09-28): 24 Vue warnings —": 1,
"internal/check-series-isolation.mjs\u0000* the Driver, 2026-09-28. It was not a mislabel: NO series parameter existed anywhere, so \"the": 1,
"internal/check-setup-order.mjs\u0000* the runtime would too. Both were found in the Driver's own console, in a gallery tab, on code": 1,
"internal/check-share-policy.mjs\u0000// Driver: \"Some maps need a map-level share button and some do not. The Prayer": 1,
"internal/check-shot-fidelity.mjs\u0000* Installing a font needs a network fetch of a binary onto this box — a Driver call, not something": 1,
"internal/check-spa-tab-order.mjs\u0000* WHAT THIS PROTECTS. The Driver specified the rail explicitly: \"cap-5 tab order (Big Picture,": 1,
"internal/check-spa-tab-order.mjs\u0000* check-spa-tab-order.mjs — the cap-5 product SPA must open on the Big Picture, in the Driver's order.": 1,
"internal/check-spa-tab-order.mjs\u0000* what the Driver described, and reading it requires no assumption about how it is built. A source": 1,
"internal/check-spa-tab-order.mjs\u0000+ `(row ${at[i - 1] + 1}) — the Driver's order is reversed here`)": 1,
"internal/check-spa-tab-order.mjs\u0000// 1. PRESENCE. A name the Driver specified must be in the rail at all.": 1,
"internal/check-spa-tab-order.mjs\u0000// It quoted the Driver correctly and then over-read it: \"(Big Picture, UPG-100, Prayer Progress,": 1,
"internal/check-spa-tab-order.mjs\u0000// Print the WHOLE rendered rail and mark the Driver's four, so a reader can see the rows that": 1,
"internal/check-spa-tab-order.mjs\u0000// The Driver's four, asserted as a RELATIVE ORDER rather than as positions 1-4.": 1,
"internal/check-spa-tab-order.mjs\u0000// The Driver's sequence, verbatim from the open-work brief. Prefix-matched (case-insensitive,": 1,
"internal/check-spa-tab-order.mjs\u0000// — and the Driver's four are ALL PRESENT, at 0/3/4/6, in their specified relative order. The": 1,
"internal/check-spa-tab-order.mjs\u0000console.error(`SPA-TAB-ORDER: FAIL — ${fails.length} problem(s) with the Driver's rail order.\\n`)": 1,
"internal/check-square-map-controls.mjs\u0000// The Driver asked for square controls as an OPTION beside the round ones. The key fact that shaped": 1,
"internal/check-studio-rail.mjs\u0000* The Driver's ask (2026-09-26): one FOLDER per BUNDLE with its ELEMENTS inside, bundles sorted by": 1,
"internal/check-studio-rail.mjs\u0000* capability, once; there is no Experimental section: every plugin is capability 1-5 (the Driver,": 1,
"internal/check-studio-rail.mjs\u0000// A row is NAMED, never shown as a bare id (the Driver: Gospel x Internet read just \"board\").": 1,
"internal/check-tab-radius-token.mjs\u0000' These are the two surfaces the Driver named as needing to match. Change both or neither.')": 1,
"internal/check-tab-radius-token.mjs\u0000* TOKEN rather than the value \"8px\" is the point: the Driver's requirement is that the tabs,": 1,
"internal/check-tab-radius-token.mjs\u0000* The Driver reversed it: \"there is nowhere else in the app that has that same roundedness.\"": 1,
"internal/check-universal-props.mjs\u0000* WARN only: whether numerals follow the locale is a Driver decision": 1,
"internal/check-universal-props.mjs\u0000+ 'people-groups-grid still warns. Revisit only if the Driver unholds numerals.',": 1,
"internal/check-universal-props.mjs\u0000// HELD Driver decision with its own card rather than an oversight.": 1,
"internal/check-universal-props.mjs\u0000if (findings.length - hard.length) console.log(`UNIVERSAL-PROPS: ${findings.length - hard.length} WARN(s): LOC-ENUS fixes numerals to en-US whatever the locale. Warn-only until the Driver decides the numerals policy.`)": 1,
"internal/check-upg-map-data-painted.mjs\u0000* THE DEFECT THIS CATCHES. Driver 2026-09-24: \"the polygons for the map and map colors and pins": 1,
"internal/check-url-resolver.mjs\u0000* string join. The Driver saw it as \"none of my plugins are working\".": 1,
"internal/check-verification-tags.mjs\u0000' A conflict means a tool says fixed while the Driver says broken. That is not a done card; it is\\n' +": 1,
"internal/check-verification-tags.mjs\u0000' Only the Driver grants human verification, and the quote is what makes that checkable. Without\\n' +": 1,
"internal/check-verification-tags.mjs\u0000* - duplicate badges: closed on LEAF-page evidence while the Driver was looking at the COMPOSITE;": 1,
"internal/check-verification-tags.mjs\u0000* THE DEFECT THIS CATCHES. A card was closed `status: \"done\"` on an agent measurement, the Driver saw": 1,
"internal/check-verification-tags.mjs\u0000* ★ THE ASYMMETRY THIS ENCODES (Driver's own words): human verification is more reliable on VISUAL": 1,
"internal/check-verification-tags.mjs\u0000* ★ THE POINT IS NOT TO REQUIRE HUMAN SIGN-OFF. The Driver explicitly rejected that — \"the backlog": 1,
"internal/check-verification-tags.mjs\u0000console.log(' only an eye can settle. It is not an error — it is the list to hand the Driver when he')": 1,
"internal/check-zoning-declared.mjs\u0000* across. Declared, pending the Driver.": 1,
"internal/clean.mjs\u0000// ONE FOLDER (Driver decision, card BUILD-OUTPUT-IS-ONE-FOLDER, 2026-09-25): public/ now holds only the": 1,
"internal/element-census/people-groups-grid.json\u0000\"_\": \"Element census preset for check:element-census-vs-live — see internal/check-element-census-vs-live.mjs. Every sanctioned entry must carry the Driver's words, the date and the card; an entry without them is refused. The one sanctioned entry carries the Driver's words, its date and its card; everything else from the first run went to the shepherd as findings: the first run's ours-only list went to the shepherd as findings for adjudication, which is the rule, and an allowlist written by the owner to make its own gate green is not evidence.\",": 1,
"internal/element-census/regions-dashboard.json\u0000\"_\": \"Element census preset for check:element-census-vs-live — see internal/check-element-census-vs-live.mjs. Every sanctioned entry must carry the Driver's words, the date and the card; an entry without them is refused.\",": 1,
"internal/generate-gallery.mjs\u0000// ARCHIVED OUT OF public/ (Driver decision, card BUILD-OUTPUT-IS-ONE-FOLDER): public/ holds only the": 1,
"internal/generate-tree.mjs\u0000// STAGED IN A TEMP DIRECTORY, NOT public/assets (Driver decision, card BUILD-OUTPUT-IS-ONE-FOLDER:": 1,
"internal/generate-tree.mjs\u0000// THE TREE'S FRONT PAGE (<tree>/index.html) — Driver decision, card": 1,
"internal/generate-tree.mjs\u0000// from probing a broken feature. It cost the Driver a session (\"none of the elements are": 1,
"internal/generate-wagf-region-names.mjs\u0000* Both stay English until the Driver rules on a translation source. An English label a reader can": 1,
"internal/lib/facet-walk.mjs\u0000// THE MEASUREMENT: the map's own bubble source — the DOTS the Driver looks at — plus the paint": 1,
"internal/long-frames-probe.mjs\u0000* captures every \"[Violation] … requestAnimationFrame …\" entry — the Driver's exact": 1,
"internal/measure-map-load.mjs\u0000* ★ WHY. The Driver: \"Vue needs to be bundled inline into the maps so map load time is faster.\" Vue is": 1,
"internal/plugin-gallery/dev-plugin.mjs\u0000// (this is the URL the Driver used)": 1,
"internal/plugin-gallery/dev-plugin.mjs\u0000// Driver actually tests on was never covered and still traps the composite.": 1,
"internal/plugin-gallery/dev-plugin.mjs\u0000// by any URL. The Driver opened `/`, saw plugins wrapped in per-bundle frames behind a wall": 1,
"internal/plugin-gallery/dev-plugin.mjs\u0000// gallery. The Driver saw the staging blurb — \"One shared core, one build, many paste-anywhere": 1,
"internal/plugin-gallery/dev-plugin.mjs\u0000// to drop them, so under the dev server — which is what the Driver's laptop runs — the studio's": 1,
"internal/public-hygiene-check.mjs\u0000* maps, no docs, no preview/staging surfaces (Driver rule, 2026-09-16). \"Looks clean\" is not a": 1,
"internal/public-hygiene-check.mjs\u0000// (Driver decision, BUILD-PLUGIN-STUDIO-IS-THE-OUTPUT-FRONT-PAGE). A <tree>/<bundle>/index.html chooser still would be.": 1,
"internal/public-hygiene-check.mjs\u0000// Driver decision (BUILD-OUTPUT-IS-ONE-FOLDER), not a style preference. MEASURED 2026-09-25: a rebuild": 1,
"internal/public-hygiene-check.mjs\u0000// the folder, per the Driver's decision (BUILD-OUTPUT-IS-ONE-FOLDER: \"only the output folder + a short": 1,
"internal/public-hygiene-check.mjs\u0000// ★ HARD in every mode (Driver-critical, 2026-09-24): field-access / visa data must never": 1,
"internal/public-hygiene-check.mjs\u0000// ★ THE PRAYER, WORD FOR WORD (Driver decision 2026-09-28): \"Persecution happens globally, so the prayer is": 1,
"internal/public-hygiene-check.mjs\u0000// ★ pk. IS DELIBERATELY NOT HERE (Driver ruling 2026-09-21): \"all maps can use the pk from the": 1,
"internal/public-hygiene-check.mjs\u0000[/\\bDriver\\b/, 'internal role noun (Driver) — process vocabulary'],": 1,
"internal/public-hygiene-check.mjs\u0000[/\\bthe Driver\\b/, 'internal role noun (the Driver) — process vocabulary'],": 1,
"internal/readme-shots.mjs\u0000// BUG-FOUR-README-PROOF-IMAGES-SHIP-A-BLANK-BASEMAP without needing the Driver to change the": 1,
"internal/readme-shots.mjs\u0000// Driver's quota, and these ARE doxa.life's own documentation images, generated by its own repo": 1,
"internal/readme-shots.mjs\u0000// ★ TOKENLESS BY DEFAULT (Driver, 2026-09-26). The engine default is now 'auto': no token means": 1,
"internal/settled-tree-gate.mjs\u0000// \"staging-forge\" — they are the duplicate staging surface the Driver asked to archive). Removing": 1,
"internal/share-roundtrip-smoke.mjs\u0000* defaulting away from the Driver's house rule (\"never Google Chrome\"), this ABORTS with the": 1,
"internal/share-roundtrip-smoke.mjs\u0000* the token endpoint the Driver is gated on. Documented rather than worked around.": 1,
"internal/smoke-studio.mjs\u0000// false for a per-plugin failure. The Driver reported \"could not load Big Picture\" while tab 0": 1,
"internal/smoke-studio.mjs\u0000// this gate, and both sat exactly where the Driver's reports live.": 1,
"internal/sync-app-shells.mjs\u0000* public/ holds only the output folder (Driver decision, card BUILD-OUTPUT-IS-ONE-FOLDER), so the app": 1,
"internal/theme-flash-probe.mjs\u0000* WHY: the Driver sees (a) a light→dark FLASH on load and (b) the basemap flipping": 1,
"internal/theme-flash-probe.mjs\u0000* shadow DOM: it only looks at pixels, exactly like the Driver does.": 1,
"internal/verify-5-capabilities.mjs\u0000* Tracked as a P0 the Driver must fix in the Mapbox account — not a code defect here.": 1,
"internal/verify-browser-all.mjs\u0000// deliberately (Driver ruling 2026-09-21), protected by URL restrictions rather than secrecy;": 1,
"internal/verify-browser-all.mjs\u0000// so every basemap renders blank while the pins draw fine — the exact symptom the Driver reported as": 1,
"internal/verify-map-paint.mjs\u0000// which is exactly what the Driver reported while this gate reported PASS.": 1,
"internal/verify-shell-scroll.mjs\u0000* So this gate asserts the ONLY thing the Driver actually cares about: that a REAL WHEEL GESTURE": 1,
"internal/verify-shell-scroll.mjs\u0000* close this bug while the Driver could still not scroll. In the cap-5 shell the document measures": 1,
"internal/verify-shell-scroll.mjs\u0000if (!(zAfter > zBefore + 0.05)) fail('a zoom-in wheel OVER the map left the zoom at ' + zAfter.toFixed(2) + ' (was ' + zBefore.toFixed(2) + '). The Driver ruled that a wheel over the map zooms it.')": 1,
"internal/verify-shell-scroll.mjs\u0000if (Math.abs(movedByMap) > 4) fail('a wheel OVER the map scrolled the page ' + movedByMap + 'px. The Driver ruled (2026-09-23) that a wheel over the map ZOOMS and must not move the page — is scrollZoom disabled on this map?')": 1,
"library/ProfileLoader.vue\u0000// \"No Mapbox access token provided\" — the error the Driver saw at dashboard-plus-grid.js:605.": 1,
"library/ProfileLoader.vue\u0000// SIBLING or NESTED element that was handed none stops starting from nothing — the Driver's point": 1,
"library/colors/wagf-region.js\u0000* WHY THIS EXISTS. The regions element's no-selection state is a CHOOSER: the Driver's brief was": 1,
"library/colors/wagf-region.js\u0000* recognisable, and that is the Driver's call to make, not mine to make quietly — asked, not done.": 1,
"library/colors/wagf-region.js\u0000// looks like — and the Driver's instruction was about the seven regions. A bright blue for": 1,
"library/components/charts/ShareCalendar.vue\u0000* share (christian-share.json: pctEvangelical 0.6133), and the brief and the Driver both say": 1,
"library/components/charts/packetCharts.js\u0000* difference between the page the Driver asked for and the one that shipped.": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000/* ★ STICKY SECTION HEADERS, GITHUB-MARKDOWN STYLE (Driver 2026-09-23: \"when I am scrolling": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000/* ★ TIGHTENED 2026-09-23 (Driver: \"the spacing between the rows is too thick, they take up way": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000// Driver: \"it is very hard for me to read the content because I cannot see that it is INDENTED": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000// Driver: \"once the data fills all the sidebars, it causes the dashboard to become really tall...": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000// The previous pass set every section CLOSED, because the Driver said the rail \"shouldn't be fully": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000// the WHOLE ROW filters — the Driver's mental model (\"I clicked the row, select it\")": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000<!-- \"Vertical Legend\" — the Driver's naming ruling (2026-09-23): \"it shouldn't say tree": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000Do NOT solve a future width squeeze by shrinking the FONT — the Driver explicitly rejected": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000Driver, again, on this card: \"narrower progress bars\". The previous author left the exact": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000Driver-reported 2026-09-22: \"North America and non-Spanish Caribbean is way too long... I": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000Driver: \"the little progress bars need to be less wide... I am fine with smaller progress": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000NOT from the font, which the Driver explicitly rejected shrinking (\"super tiny text that": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000Previously a 12px <span> that merely LOOKED like part of the row — the Driver": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000THIS CARD AND THE WRAP NOTE ABOVE PULL IN OPPOSITE DIRECTIONS, and both Driver reports are": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000the number the Driver could not previously see.": 1,
"library/components/dashboards/DashboardFacetRail.vue\u0000★ FONT-SIZE IS NOT A LEVER HERE and must not become one: the Driver explicitly rejected": 1,
"library/components/dashboards/DashboardFilterChips.vue\u0000nowrap + the per-chip cap keeps the bar at 52px — the Driver has repeatedly said NEVER add a": 1,
"library/components/dashboards/DashboardFilterChips.vue\u0000overlap, which is the Driver's \"renders badly under the TOP search bar\".": 1,
"library/components/hints/PinHint.vue\u0000// ★ THE DEFAULT MUST NOT NAME A COLOUR (Driver, reported 5+ times).": 1,
"library/components/legends/LegendDesktop.vue\u0000/* ── DESKTOP TYPE SCALE for the LegendRows-based card (Driver, 2026-09-16: larger, more": 1,
"library/components/legends/LegendMobile.vue\u0000* my-upg-100-list passes 1 (the UPG-100 Lists tab) because the Driver asked for exactly": 1,
"library/components/legends/LegendMobile.vue\u0000// Driver bug 2026-09-16 (\"moving the informational page up and down has bugs\"),": 1,
"library/components/legends/LegendMobile.vue\u0000// for that profile; the Driver asked for \"print options at the top right of the legend...": 1,
"library/components/legends/LegendProgressBar.vue\u0000* SPEC (Driver refinement, 2026-09-16 — keep this in sync with the behaviour):": 1,
"library/components/legends/LegendProgressBar.vue\u0000* WHY (Driver, 2026-09-16, README story): a global prayer movement needs to SEE": 1,
"library/components/legends/LegendRows.vue\u0000// Driver 2026-09-16: the prayer legend's header says \"Progress\" (never \"Legend\").": 1,
"library/components/legends/SemanticTreeLegend.vue\u0000/* ── DESKTOP TYPE SCALE (Driver, 2026-09-16: \"the desktop font sizes in the legends need to": 1,
"library/components/legends/SemanticTreeLegend.vue\u0000// APPROXPIN standing note (Driver card BUILD-APPROXIMATE-PIN-NOTICE: every map that shows people-group": 1,
"library/components/legends/SemanticTreeLegend.vue\u0000// Driver 2026-09-16: the prayer legend's header says \"Progress\" (never \"Legend\") —": 1,
"library/components/legends/SemanticTreeLegend.vue\u0000// Driver's first complaint about this legend word for word.": 1,
"library/components/legends/SemanticTreeLegend.vue\u0000// catalog. The Driver named this affordance specifically (\"the tab itself gives you a": 1,
"library/components/legends/SemanticTreeLegend.vue\u0000// marked and every region at full colour — which reads exactly like the Driver's \"the legend isn't": 1,
"library/components/legends/SemanticTreeLegend.vue\u0000map. Driver: \"the upg 100 list legend on the map is overflowing beyond the height of the map.\" */": 1,
"library/components/legends/SemanticTreeLegend.vue\u0000rises into the vacated space instead of keeping a dead gap (Driver, 2026-09-23, UPG-100:": 1,
"library/components/legends/SemanticTreeLegend.vue\u0000with \"UUPGs\" and let values spill into the neighbouring column (Driver, 2026-09-16). */": 1,
"library/components/map-controls/GeocoderComponent.vue\u0000* ★ WHY MAPBOX NEEDS THIS TOO (Driver, 2026-09-23 — the search bar missing from a nested map).": 1,
"library/components/map-controls/MapControlMenu.vue\u0000// class and no data-map-area, so all four were unanchored. The Driver reported two of them; the list is": 1,
"library/components/map-controls/MapToolbar.vue\u0000* dividers -- which is the look the Driver asked for by name. Measured from": 1,
"library/components/map-controls/MapToolbar.vue\u0000shape breaking precisely where the Driver is most likely to look at it.": 1,
"library/components/map-controls/ShareButton.vue\u0000/* ★ NO SCROLLBAR — THE MENU SHOWS THE WHOLE SNIPPET (Driver 2026-09-23: \"the share menu that": 1,
"library/components/map-controls/ShareButton.vue\u0000LEFT — which is what the Driver asked for, arrived at by measurement rather than by hardcoding a": 1,
"library/components/poster/PosterDialog.vue\u0000* What the Render button does. 'print' (default, Driver rule 2026-09-28: an export-poster button opens": 1,
"library/components/poster/PosterWall.vue\u0000// (name / country / population / religion — usePosterPrints.js:150). The PRAYER PACKET the Driver": 1,
"library/components/poster/PosterWall.vue\u0000// Driver 2026-09-25, the sticker/olive-oil-bottle brief: this box is a BANNER that DISPLAYS": 1,
"library/components/poster/PosterWall.vue\u0000// Driver's explicit brief (2026-09-23): \"three print buttons, each opening an": 1,
"library/components/poster/PosterWall.vue\u0000// Driver: \"poster per row should have a minimum of 2 and a max of 5 and a default of 2\".": 1,
"library/components/poster/PosterWall.vue\u0000// Size choices. These are BUTTONS, not <option>s — the Driver ruled out a native": 1,
"library/components/poster/PosterWall.vue\u0000// The choices the control offers. Two is the Driver's default; the ceiling is the wall's own": 1,
"library/components/poster/PosterWall.vue\u0000// controls sit in a row whose height the Driver and I tuned by eye this session -- the tape must": 1,
"library/components/poster/PosterWall.vue\u0000// floated over the card, touching the banner nowhere. The Driver reads the rounded top": 1,
"library/components/poster/PosterWall.vue\u0000// genuinely unbuilt, and it is the OTHER button the Driver objected to on a wall": 1,
"library/components/poster/PosterWall.vue\u0000// given one. The stored preference is the Driver's and must survive; it is a preference for": 1,
"library/components/poster/PosterWall.vue\u0000// not per instance: the Driver is setting a PREFERENCE, and a preference that only survives on the": 1,
"library/components/poster/PosterWall.vue\u0000// poster preview open it for printing — a Driver-named behaviour (\"show the poster": 1,
"library/components/poster/PosterWall.vue\u0000// reading of the Driver's request where two are wanted.": 1,
"library/components/poster/PosterWall.vue\u0000// visible regression on the Cards row the Driver said to leave exactly as it is.": 1,
"library/components/poster/PosterWall.vue\u0000// ★ DEFAULT 'print' (Driver rule 2026-09-28: an export-poster button opens the PRINT DIALOG with a": 1,
"library/components/poster/PosterWall.vue\u0000// ★ HOW MANY POSTERS SIT IN A ROW. The Driver, on the regions posters: \"i need two posters per": 1,
"library/components/poster/PosterWall.vue\u0000// ★ NOW A COMPOUND KEY, `${id}:${which}` — the Driver, 2026-09-28, asked for the SAME caret on the": 1,
"library/components/poster/PosterWall.vue\u0000// ★ THE FOOTER STICKER STRADDLES THE BANNER'S BOTTOM EDGE (Driver): \"see how the header for": 1,
"library/components/poster/PosterWall.vue\u0000// ★ THE TRANSPARENT STRIP ABOVE A PINNED HEADER (Driver 2026-09-25): \"there is a transparent": 1,
"library/components/poster/PosterWall.vue\u0000<!-- ★ PRAYER LIST IS NOW A DISCLOSURE TOO (Driver 2026-09-28), using the SAME": 1,
"library/components/poster/PosterWall.vue\u0000<!-- ★ THE PRINT ROW LIVES INSIDE .main, NOT BESIDE IT (Driver 2026-09-25).": 1,
"library/components/poster/PosterWall.vue\u0000FOR (Driver 2026-09-25): \"card should not be second option, and I don't want": 1,
"library/components/poster/PosterWall.vue\u0000poster that is sitting on disk is how the Driver came to report this.": 1,
"library/components/poster/PosterWall.vue\u0000which is the constraint the Driver gave, not a styling preference. -->": 1,
"library/components/regions/GoalCard.vue\u0000// substitution the Driver is still ruling on); at 768 that lands 42.4 against their 46.08.": 1,
"library/components/regions/GoalCard.vue\u0000The Driver named these directly: \"the banners are the cards that tell you the prayer progress\".": 1,
"library/components/regions/RegionSectionCard.vue\u0000* WHY THIS IS IN library/. The Driver, verbatim: \"let's say we want to reuse that on future plugins.": 1,
"library/components/search/FilterDropdown.vue\u0000* that only ever measured the standalone composite passed six times while the Driver, who uses": 1,
"library/components/search/FilterDropdown.vue\u0000carry the AXIS NAME plus an ellipsis hint — which is all the Driver ever reads it for.": 1,
"library/components/search/FilterDropdown.vue\u0000reflows the row below it, so the centred stack the Driver asked for could not hold still even": 1,
"library/components/search/FilterDropdown.vue\u0000★ THE FONT-SIZE IS NOT A LEVER. The Driver has rejected shrinking it twice (\"super tiny text": 1,
"library/components/search/SearchFilterHeader.vue\u0000\"increase the font slightly of the selected row\", and did: 0.85rem -> 0.9375rem. The Driver is": 1,
"library/components/search/SearchFilterHeader.vue\u00000.6875rem + subtler colour: this is a LABEL, not content — the Driver asked for the row to read": 1,
"library/components/search/SearchFilterHeader.vue\u0000That is the layout the Driver just reversed, so the growth term goes with it: at 0 1 auto the": 1,
"library/components/search/SearchFilterHeader.vue\u0000The empty state is \"World\" — the Driver's word, and it reads correctly too: no filter really": 1,
"library/components/search/SearchFilterHeader.vue\u0000a Driver decision (\"filters not so wide\"), and a flexible width was what made them jump as a": 1,
"library/components/search/SearchFilterHeader.vue\u0000about whether 24 is the right number, which is a different question that only the Driver can": 1,
"library/components/search/SearchFilterHeader.vue\u0000and the Driver's \"a lot more subtle\" instruction that set 16px. Growing the button would reopen": 1,
"library/components/search/SearchFilterHeader.vue\u0000horizontal SCROLLER. The Driver's constraint is explicit: \"I shouldn't see any horizontal scroll": 1,
"library/components/search/SearchFilterHeader.vue\u0000overflowing at desktop width, so the horizontal scrollbar the Driver complained about is a": 1,
"library/components/search/SearchFilterHeader.vue\u0000track with your eyes.\" (Driver, 2026-09-22)": 1,
"library/components/search/SearchFilterHeader.vue\u0000★ CENTRED: justify-content:center, because the Driver puts the selections directly above the map": 1,
"library/components/search/fuzzy.js\u0000* ★ TIER 2 — FACET-VALUE RESOLUTION (Driver 2026-09-24: \"if I search the name of the country": 1,
"library/components/search/fuzzy.js\u0000* ★ TIERED, NOT A UNION (Driver 2026-09-24: \"fuzzy search is too fuzzy -- Bhutan returns more": 1,
"library/components/search/fuzzy.js\u0000// Driver reported (Bhutann, Banladesh, Austrian->Austria, Canadian->Canada) is 1-2 edits.": 1,
"library/components/search/fuzzy.js\u0000// Measured on the live dashboard: 'Bhutan' -> 13 rows, 'Bhutann' -> 0. The Driver's test.": 1,
"library/composables/printInPlace.js\u0000* Driver's ruling that killed the pop-up path: print must happen IN PLACE — no new browser": 1,
"library/composables/printInPlace.js\u0000* PrayerWalkPlanner.print() called from an agent (the Driver: \"the agent can also create": 1,
"library/composables/retryableAsyncComponent.js\u0000* the life of the page — every later render replays the same rejection. The Driver hit exactly": 1,
"library/composables/useCsvExport.js\u0000// Driver-reported 2026-09-22: \"this is me exporting the CSV directly without making any edits...": 1,
"library/composables/useCsvExport.js\u0000// file is comma-separated, not tab-separated — the tabs in the Driver's paste were his terminal": 1,
"library/composables/useDashboardLayout.js\u0000* whole element as a side effect. Driver: \"you improperly bound that control to the separator": 1,
"library/composables/useDashboardLayout.js\u0000// +40px again (Driver 2026-09-23 second raise: \"go taller with the dashboard by another 40px,": 1,
"library/composables/useDashboardLayout.js\u0000// Driver fine-tune 2026-09-23: \"almost perfect height -- keep the map the same height, but": 1,
"library/composables/useDashboardLayout.js\u0000// be reached by any gesture. The Driver lost BOTH resizes at once and said so: \"I didn't want the": 1,
"library/composables/useDashboardLayout.js\u0000// mapH 260 -> 300 (Driver 2026-09-23 follow-up: the +40px was to be \"added to the map -- map is": 1,
"library/composables/useDashboardLayout.js\u0000// shellH 502 -> 542 (Driver 2026-09-23: \"the dashboard should be taller by about 40px\"). The": 1,
"library/composables/useDashboardLayout.js\u0000// shellH:502 from the previous default would silently mask this change on the Driver's browser.": 1,
"library/composables/useDashboardLayout.js\u0000// ★ KEY VERSIONED v2 (2026-09-23). The Driver reported \"sidebars are not equally spaced\" on": 1,
"library/composables/useDashboardLayout.js\u0000// ★ RECLAIM PASS 2 (Driver 2026-09-23: \"it is a priority to reclaim height... so I can see half": 1,
"library/composables/useDashboardLayout.js\u0000// ★ shellH 720 -> 602 so the table OPENS at seven data rows (Driver 2026-09-23: \"the table needs to": 1,
"library/composables/useDashboardSearch.js\u0000* 2. facet-VALUE resolution (Driver: \"Austrian or Canadian... a selection of that country --": 1,
"library/composables/useDashboardSearch.js\u0000// ★ FUZZY, NOT SUBSTRING (Driver 2026-09-23: \"add an n to the end of a country name\" must": 1,
"library/composables/useDocumentFont.js\u0000// public giveaway (Driver decision 2026-09-24). Chosen by measurement: at 500/19.5312px it renders": 1,
"library/composables/useMapFly.js\u0000// ~1.7s, where an eased move shows a curve of intermediates. That is the Driver's": 1,
"library/composables/useMapInstance.js\u0000* absolutely-positioned child, .mapboxgl-marker included, nothing to anchor to. The Driver saw it": 1,
"library/composables/useMapInstance.js\u0000* map from the dark map the Driver knows into a LIGHT one — MEASURED by screenshotting it, not by": 1,
"library/composables/useMapInstance.js\u0000// banner to the map container. REMOVED on Driver instruction 2026-09-22: \"the map": 1,
"library/composables/useMapProvider.js\u0000// ★ AUTO IS MAPLIBRE. A TOKEN NO LONGER CHOOSES AN ENGINE (Driver, 2026-09-28: MapLibre is the": 1,
"library/composables/usePosterPrints.js\u0000// The Driver's FIRST option — \"that's what the whole app was about\": the list": 1,
"library/composables/usePosterPrints.js\u0000// is the mechanism the Driver asked for by name: \"not supposed to open up a new": 1,
"library/composables/usePosterPrints.js\u0000// which the Driver ruled out explicitly (2026-09-23: \"no silent file download as the default": 1,
"library/composables/usePplrInstance.js\u0000* and opened on Region at BOTH widths, which is the Driver's first complaint about this": 1,
"library/composables/useSelectionBus.js\u0000// wearing a new hat, on a Driver who is photosensitive. A panel may fade or outline on hover; it": 1,
"library/composables/useSelectionCamera.js\u0000* ── MOTION SAFETY (BUG-RESIZE-STROBE class; the Driver is photosensitive) ──────────────": 1,
"library/composables/useSharedMapToken.js\u0000* THE BUG THIS ENDS (Driver, 2026-09-23; the repo already names it": 1,
"library/elements/defineMapElement.js\u0000* — 8 of those per key, 24 in the Driver's console (2026-09-28), for three keys where overwriting is": 1,
"library/elements/provide-own.js\u0000* Driver's console (2026-09-28), 8 each for profileModules, appI18n and pinia's symbol. All three must": 1,
"library/i18n/index.js\u0000// ★ A DETACHED EFFECT SCOPE (P0, the Driver's console, 2026-09-27). vue-i18n's createGlobal() runs": 1,
"library/layouts/StackLayout.vue\u0000// Driver-reported 2026-09-23: <plugin-studio> mounts at the SERVER ROOT (/index.html) in both": 1,
"library/layouts/StackLayout.vue\u0000// THE BUG (Driver-reported 2026-09-23, verbatim console text):": 1,
"library/layouts/StackLayout.vue\u0000// ★ A FAILED SECTION MUST SAY SO (BUG-SIMPLE-RESEARCH-GREY-PANE, Driver reported 4x).": 1,
"library/layouts/StackLayout.vue\u0000★ THE LAYOUT OWNS THE SCROLL — the elements do NOT. This is the Driver's scroll-page contract: a": 1,
"library/layouts/VerticalTabsLayout.vue\u0000* (the Driver's report) or a strip of dead whitespace with no circle to justify it. Neither": 1,
"library/layouts/VerticalTabsLayout.vue\u0000<!-- NO section-header logo (Driver rule: logos only on the vertical TAB rows, never on the": 1,
"library/layouts/VerticalTabsLayout.vue\u0000default (the Driver's no-stacked-headers rule), so the toggle above — which lives inside": 1,
"library/layouts/VerticalTabsLayout.vue\u0000either — section dividers are text-only (Driver rule); row icons live on the tabs below. -->": 1,
"library/layouts/VerticalTabsLayout.vue\u0000when header is on. Driver rule: a header-off, sidebar-only element (doxa-maps-spa) inherits": 1,
"library/layouts/app-wrapper-material/index.html\u0000// RESOURCES FIRST, MAP SECOND (Driver 2026-09-23). \"By default the first tab": 1,
"library/maps/localize-labels.js\u0000// — in their own language, with no change to the basemap the Driver chose.": 1,
"library/maps/mercator-slice.js\u0000* is worth the most pixels — are the most over-represented, which is the Antarctica the Driver saw.": 1,
"library/maps/mercator-slice.js\u0000* ★ THE DEFECT THIS EXISTS FOR (Driver, 2026-09-28, Simple Research's poster export): the poster \"shows": 1,
"library/packet/card-render.js\u0000// mostly-empty letter pages, with no photo. The Driver: \"the print dialog that": 1,
"library/packet/packet-render.js\u0000// (ENDTOKEN-DXS-UPG-KDECIDE), K=27 including the two residual buckets until the Driver rules.": 1,
"library/packet/packet-render.js\u0000// Driver, 2026-09-27: page 2 is \"a life calendar of the years of a human life in weeks\", and page 3": 1,
"library/packet/packet-render.js\u0000// Lightweight by design — the Driver asked for \"a lightweight one pager that shows": 1,
"library/packet/packet-render.js\u0000// Point 4 prints Mark 5:1-20 IN FULL. Driver: \"it actually lists out the full": 1,
"library/packet/packet-render.js\u0000// WHY THIS PAGE EXISTS. Driver 2026-09-26, via the shepherd: the packets go to ALL partners for": 1,
"library/packet/packet-render.js\u0000// changes — and the order above is the Driver's, so it is expected to change again.": 1,
"library/packet/packet-render.js\u0000// whole life-grid idea exists to avoid. The Driver's intent is \"32 boxes lost in 5,200\"; rarity is the": 1,
"library/packet/packet-render.js\u0000// ★ 5,200 IS NOT ROUNDED OR CHOSEN FOR LAYOUT: 100 years x 52 weeks, the Driver's own numbers": 1,
"library/packet/packet-render.js\u0000// ★ THE PROFILE TABLE (Driver brief A1 item 1): ~20 per page, picture | generated localized": 1,
"library/packet/packet-render.js\u0000// ★ THE THREE PRAYER COLUMNS, the Driver's own three questions (2026-09-27), in his order:": 1,
"library/packet/packet-render.js\u0000// ★ TWO PACKETS, ONE RENDERER — the Driver's §A, 2026-09-28: the Prayer List print gains a caret": 1,
"library/packet/packet-render.js\u0000// ⚠ THE NUMBER IS POPULATION-WEIGHTED, NOT A GROUP COUNT, because the Driver asked for": 1,
"library/packet/poster-raster.js\u0000// every reader whether or not they open one. Driver: \"it would be a big win to not": 1,
"library/packet/qr.js\u0000// group's live page, and the Driver's standing constraint is \"as much data as you": 1,
"library/scripts/build-language-tree.mjs\u0000* ★ WHY THIS IS IN library/ AND WHAT DELIBERATELY IS NOT (Driver brief §B, \"make it reusable\"). This was": 1,
"library/scripts/build-language-tree.mjs\u0000// At 68% there was about one level of room (Driver, 2026-09-27: \"I need to be able to zoom out a bit": 1,
"library/scripts/generate-iso3-to-alpha2.mjs\u0000// what gets fetched, which is a data-scope decision for the Driver (dx-shepherd, REG242B) and must not": 1,
"library/scripts/people-groups/build-points.mjs\u0000* the Driver found it \"not even loading, takes a very long time\". This file keeps the same rows and": 1,
"library/scripts/posters/generate.mjs\u0000// CAPITALS + MAJOR CITIES. Driver: \"a typical map poster needs details on the map": 1,
"library/scripts/posters/generate.mjs\u0000// ★ FROM series.json, NOT FROM HERE. These three blocks were the Driver's second complaint: they": 1,
"library/scripts/posters/generate.mjs\u0000// ★ THIS FILE IS THE HALF NOBODY WAS LOOKING AT. The Driver reported the country posters carrying": 1,
"library/scripts/posters/generate.mjs\u0000// ⚠ ROADS WERE DELIBERATELY NOT ADDED, though the Driver asked for \"main roads\".": 1,
"library/scripts/posters/packet.mjs\u0000// Driver: \"it all needs to be generative so that I can generate it in multiple": 1,
"library/scripts/posters/packet.mjs\u0000// Overrides are ENGLISH-ONLY until the Driver signs the wording off (series.json": 1,
"library/scripts/posters/packet.mjs\u0000// could disagree. Reported by the Driver, 2026-09-28.": 1,
"library/scripts/posters/series.json\u0000\"THE ENGLISH BELOW IS A DRAFT, NOT APPROVED. It follows the shape the Driver dictated on\",": 1,
"library/scripts/posters/series.json\u0000\"The `country` English below is a DRAFT taken from the Driver's dictated shape and is NOT signed\",": 1,
"library/scripts/posters/series.json\u0000\"UPG-100 zones; incoherent for ~170 countries. Reported by the Driver, 2026-09-28.\",": 1,
"library/scripts/posters/series.json\u0000\"emit-countries.mjs), so the Driver replaced the SHAPE: not 'split the set' but 'ask which one,\",": 1,
"library/scripts/posters/series.json\u0000\"seriesName 'Country Maps' is the Driver's own wording, recorded in a generate.mjs design note\",": 1,
"library/scripts/research/build-tabulator-tables.mjs\u0000// ★ THE LEAK THIS LOOP CAUSED (found live 2026-09-24, Driver-critical): emit() already": 1,
"library/styles/registry.js\u0000/* ★ CORRECTED 2026-09-23 — THE FIRST GALAXY WAS A MISREADING OF THE ASK, and the Driver said so:": 1,
"library/styles/registry.js\u0000// ★ FOUND, NOT AUTHORED (Driver: \"I want it replaced with something you can find online\").": 1,
"library/vendor/cldr/README.md\u0000a data-scope decision that belongs to the Driver, not a side effect of adding country names. The map": 1,
"plugin-designs/all-people-groups/all-people-groups.vue\u0000* ★ LOAD ORDER (2026-09-25, the Driver: \"not even loading, takes a very long time\"). Pins used to": 1,
"plugin-designs/all-people-groups/all-people-groups.vue\u0000// ─── The four categories (the Driver's palette) ──────────────────────────────": 1,
"plugin-designs/all-people-groups/all-people-groups.vue\u0000// ★ THE LOCALE-HONOURING FALLBACK, per dx-shepherd's ruling (2026-09-27) and the Driver's goal (d):": 1,
"plugin-designs/cities-internet/connectivity-list.vue\u0000// NUMERALS ARE HELD for the Driver (dx-shepherd, 2026-09-26): a locale-following format would switch": 1,
"plugin-designs/cities-internet/connectivity-map.vue\u0000// Dark slate with a white ring (Driver 2026-09-28: the red dots looked wrong on the mostly green": 1,
"plugin-designs/cities-internet/connectivity-map.vue\u0000// ── People-group dots (Driver: \"red dots on the map to show me where the people groups are\")": 1,
"plugin-designs/cities-internet/data-tables.vue\u0000// NUMERALS ARE HELD for the Driver (dx-shepherd, 2026-09-26): a locale-following format would switch": 1,
"plugin-designs/country-posters/countries-map.vue\u0000// dead band — the Driver's explicit requirement. 14px matches the reference.": 1,
"plugin-designs/country-posters/countries-map.vue\u0000// than re-invented. Driver 2026-09-24: the geocoder is DEFERRED to Mapbox, because": 1,
"plugin-designs/country-posters/countries-map.vue\u0000// the Driver's own rule: an export button opens the print dialog, never hands over a file). This": 1,
"plugin-designs/country-posters/countries-map.vue\u0000// ★ THE PACKET PRINTS, AND IT PRINTS THROUGH THE SHARED RENDERER (Driver-lens audit card 2, and": 1,
"plugin-designs/country-posters/country-posters-mfe.meta.json\u0000\"note\": \"The Driver's 2-tab Country Posters element, structured like my-upg-100-list/upg-100-mfe: a SELECT VIEW switcher (the SHARED library/components/ViewSelect.vue — this is its THIRD consumer, which is why it was extracted rather than copied a third time) over Country Posters at [0,0] and Map at [1,0]. LIST FIRST, MAP SECOND per the Driver's principle that maps are a secondary view. The wall already dispatches 'doxa-country-posters:show-on-map' (country-poster-wall.vue:78); until now only the app shell listened, so the action did nothing in a dropped embed — this shell owns it and swaps to the map tab. pinHint:false: the cloned panes carry no coach-mark, and the composite must declare it because a pane's config comes from here, not from the child's own meta. One ShareButton in the header, sharing the COMPOSITE leaf, per the recorded share policy.\",": 1,
"plugin-designs/country-posters/country-posters-mfe.vue\u0000* Driver: \"Country Posters is supposed to have two tabs, structured like the": 1,
"plugin-designs/country-posters/country-posters-mfe.vue\u0000* LIST FIRST, MAP SECOND. The Driver's principle, already applied in upg-100-mfe:": 1,
"plugin-designs/country-posters/country-posters-mfe.vue\u0000/* ── palette: DX-life material light. NO AUTO-DARK (Driver 2026-09-20): a system set to": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// (BUG-CANNOT-SCROLL-DOWN-TO-THE-GRID, Driver-reported). Every mounted tab used to get": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// Driver set for the data bundler: handle every plugin generically, or the next author gets": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// RENAMED (Driver): \"Prayer Map\" → \"Prayer Progress\". His words: \"the prayer maps can be renamed": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// THE ONE DASHBOARD (the Driver's \"Big Picture\"): research-dashboard + people-groups-grid compiled": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// THE ONE ROW THE DEVICE RULE DISABLES. Driver, verbatim: \"it shouldn't change the tab order, it": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// The Driver's section/folder nav model, ported from app-wrapper-material/nav.js (the verified": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// The GROUPED rail model the shared VerticalTabsLayout paints, built from NAV_MODEL (the Driver's": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// Whether the standalone #toolbar locale dropdown renders. The Driver's rule: the cap-5 SPA has": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// and the standalone locale dropdown, so the Driver's rule (\"header-off → no dropdown; the SPA": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// between the Driver's seven and the six that shipped.": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// identities is what makes ONE dev server show every plugin — the Driver's actual ask.": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// keep in sync, and the ?locale= it emitted is precisely what produced the 404 URLs the Driver": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// mobile-default dashboard). Driver 2026-09-22, having reversed an earlier idea: \"We made the": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// per the spec's table. UPG-100 BEFORE Prayer Progress is still the Driver's deliberate order —": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// precisely what the Driver asked to never happen.": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// redundancy the Driver removed (\"we don't need multiple dashboards\").": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// source of the exact sections the Driver wants). Each entry is a GROUP for VerticalTabsLayout; each": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// stack-demo is broken and Driver-DEFERRED; a broken tab in the giveaway shelf reads as": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// the Driver has been looking at: not the plugin's content scroller, the PANE scrolling the": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// ── DEVICE RULES (Driver, 2026-09-28 16:50Z: DRV1650-MOBILE-GATING) ─────────────────────────": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// ★ FAIL-SOFT IS NOT FAIL-SILENT (BUG-SIMPLE-RESEARCH-GREY-PANE, Driver reported 4x).": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// ★ MOUNT THE COMPOSITE, NOT THE LEAF (Driver 2026-09-23: \"the Regions tab is supposed to be a": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000// ★ THE 404 CLASS THIS REPLACED (measured 2026-09-22, hit by the Driver in his own browser). Every": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000empty slot — the grey pane the Driver reported four times. Covering it here means a": 1,
"plugin-designs/doxa-maps-spa/doxa-maps-spa.vue\u0000server, so every tab 404'd there — the Driver saw exactly that in his browser console. A path is": 1,
"plugin-designs/doxa-simple-map/doxa-simple-map.vue\u0000// Prayer progress bar (header of the prayer legend; Driver 2026-09-16). The payload": 1,
"plugin-designs/doxa-simple-map/doxa-simple-map.vue\u0000// borders — the \"dark green\" the Driver called our most beautiful map. Without a token the engine": 1,
"plugin-designs/doxa-vision-card/doxa-vision-card.vue\u0000* ★ WHY IT WAS REBUILT (2026-09-25). The Driver: \"the data doesn't make sense … super false": 1,
"plugin-designs/gospel-internet/board.vue\u0000// The Driver's order: Language tree, Bounded set, Centered set, then Map. The centered-set": 1,
"plugin-designs/gospel-internet/board.vue\u0000// ~300px and clipped its four charts (rega, the Driver: \"the charts don't look good\").": 1,
"plugin-designs/gospel-internet/scripts/build-language-tree.mjs\u0000// one level of room (Driver, 2026-09-27: \"I need to be able to zoom out a bit more\"); now there are two.": 1,
"plugin-designs/gospel-internet/scripts/check-gospel-internet-render.mjs\u0000// the Driver's default (2026-09-28): with no knob both legends start collapsed behind their \"Legend\" button": 1,
"plugin-designs/gospel-internet/src/components/GiBoundedSet.vue\u0000// en-US in one place until the Driver rules on numerals.": 1,
"plugin-designs/gospel-internet/src/components/GiBoundedSetMap.vue\u0000// The cross marks the centre the boundary is drawn around — the Driver reported this chart had": 1,
"plugin-designs/gospel-internet/src/components/GiCenteredSet.vue\u0000// en-US in one place until the Driver rules on numerals.": 1,
"plugin-designs/gospel-internet/src/components/GiCenteredSet.vue\u0000<!-- The figure is the whiteboard map, not SVG: the Driver asked for pan, zoom and labels": 1,
"plugin-designs/gospel-internet/src/components/GiCenteredSet.vue\u0000button rendered, looked right and did nothing. It is a Driver ask, and it is the": 1,
"plugin-designs/gospel-internet/src/components/GiCenteredSetMap.vue\u0000// The Driver's staging: bands read zoomed out, rings in the middle, groups in close.": 1,
"plugin-designs/gospel-internet/src/components/GiCenteredSetMap.vue\u0000// selects the ring, as before. The Driver asked for \"exactly like the Language tree\", so": 1,
"plugin-designs/gospel-internet/src/components/GiCharts.vue\u0000* chosen to show a newcomer the GAPS they would not otherwise see (Driver, 2026-09-27: \"a reader can't": 1,
"plugin-designs/gospel-internet/src/components/GiMap.vue\u0000// the Driver: legends start collapsed, one tap on \"Legend\" opens them; the embed knob legend:\"open\" opens them": 1,
"plugin-designs/gospel-internet/src/components/GiRingLegend.vue\u0000// en-US in one place until the Driver rules on numerals.": 1,
"plugin-designs/gospel-internet/src/components/GiTree.vue\u0000* WHY THE MAP ENGINE AND NOT D3/SVG (Driver, 2026-09-27: \"snappy, lightweight, lower definition when": 1,
"plugin-designs/gospel-internet/src/components/GiTree.vue\u0000// the Driver: legends start collapsed, one tap on \"Legend\" opens them; the embed knob legend:\"open\" opens them": 1,
"plugin-designs/gospel-internet/src/model.js\u0000// '' = not in the URL: the board opens on its default (the language tree, the Driver 2026-09-28)": 1,
"plugin-designs/gospel-internet/src/model.js\u0000// ── the access ladder (the Driver's three words, then the sub-ladder) ───────────────────────────────": 1,
"plugin-designs/gospel-internet/src/nearRows.js\u0000* so the pair never matched and the rop3 path never fired either — the Driver saw": 1,
"plugin-designs/gospel-internet/src/treePoster.js\u0000* LABELS OVERLAP (Driver, 2026-09-27: a 3 ft x 3 ft poster \"that had no overlaps\").": 1,
"plugin-designs/gospel-internet/src/useBoard.js\u0000// The centre panels, in the order the Driver asked for them. This is a LIST rather than": 1,
"plugin-designs/gospel-internet/src/useBoard.js\u0000const centre = ref('tree') // the Driver: people come for the language tree; the map is one tap away": 1,
"plugin-designs/gospel-internet/src/zoneData.js\u0000* printable zone and 436 in Unassigned. That is the Driver's row 87. So this builds and counts": 1,
"plugin-designs/gospel-resources/data-tables.vue\u0000// ★ THE DOXA TABLE LEADS, because it is the question the Driver actually asked: which of": 1,
"plugin-designs/gospel-resources/gospel-dashboard.meta.json\u0000\"_comment\": \"Capability-4 composite that BAKES this bundle's own map and tables into ONE element, stacked to scroll. Both children are imported directly and compiled into the single gospel-resources bundle — no runtime injection, no second script, and no cross-bundle version skew: the tables you scroll to are built from the same pin index the map above them draws. This is the 'gospel resources dashboard' the Driver asked for.\",": 1,
"plugin-designs/gospel-resources/gospel-dashboard.vue\u0000* WHY A COMPOSITE AND NOT A THIRD DATASET. The Driver asked for \"a gospel resources": 1,
"plugin-designs/gospel-resources/resources-map.vue\u0000* into their own country. Reported by the Driver; confirmed by reading the two tables.": 1,
"plugin-designs/gospel-resources/resources-map.vue\u0000/* ⚠ LOGICAL, NOT PHYSICAL (Driver-found, rega measured on main 52eeb0db). Under ar the five": 1,
"plugin-designs/gospel-resources/resources-map.vue\u0000Reported by the Driver: it overlapped the bottom of the page. It is absolutely": 1,
"plugin-designs/gospel-resources/scripts/build-people-group-pins.mjs\u0000// The honest route is a YouVersion API key, which is a Driver task and": 1,
"plugin-designs/gospel-resources/scripts/build-people-group-pins.mjs\u0000// WHAT IT IS WORTH ANYWAY: the Driver asked for the people who do the": 1,
"plugin-designs/gospel-resources/scripts/fetch-doxa-people-groups.mjs\u0000* This map was built on the full 12,379-pin people-groups dataset, and the Driver's reading": 1,
"plugin-designs/my-upg-100-list/poster-wall.vue\u0000* The last two are a Driver ruling, not a preference (2026-09-23): \"three print buttons, each": 1,
"plugin-designs/my-upg-100-list/poster-wall.vue\u0000// (generate.mjs:93) and that is an open question for the Driver about what a print artifact is": 1,
"plugin-designs/my-upg-100-list/poster-wall.vue\u0000// Product call taken by dx-shepherd (UPGHK, 2026-09-27) under the Driver's standing goal that the": 1,
"plugin-designs/my-upg-100-list/poster-wall.vue\u0000// while every word of the interface AROUND them was translated. Found in gospel's Driver-lens": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// Carded for the Driver: 27 geographic / 29 counting deaf, and whether \"Central Asia + Pakistan\"": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// Driver called \"the only way that map would be usable\".": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// Driver kept reporting. One host cannot be fixed by breaking the other, so the offset is": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// Driver-reported via repo, 2026-09-26, from the README's Arabic picture: under ?lang=ar the legend": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// Driver: \"the user does not know what zones means\" — the thing the map paints IS": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// Driver: the batch tool is \"super buggy\", and recolouring regions is not what is wanted —": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// SELECTED node — the Driver's ask: \"I select one and it gives me print options at": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// The Driver said \"it doesn't need to have a People Group tab inside the legend\"; the reason is": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// The Driver's gift policy is explicit — \"BEAUTIFUL: no clipped text, no placeholders, no English": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// The geocoder is deferred to Mapbox by decision (Driver 2026-09-24): GeocoderComponent's maplibre": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// anchor to. Driver: \"the polygons for the map and map colors and pins are not showing up\".": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// carry. This is the Driver's instruction: \"instead of fetching the poster from": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// the error is the offset mismatch, not the map's size. Driver 2026-09-24: \"the upg 100 list": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// vacated space (Driver 2026-09-23: \"the search bar is removed... the legend needs to be moved": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// ★ BUT ONLY IF THE PILL ACTUALLY RENDERED (Driver 2026-09-23, reported repeatedly: \"the search": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// ★ PRINT STRAIGHT FROM THE MAP — the Driver's \"that's the only way that map would be usable\".": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// ★ REVERTED TOWARD THE SIBLINGS (Driver 2026-09-23: \"the dots are way too big, I never": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// ★ THE ONE SEAM THE `list` PROP WILL FEED. Driver 2026-09-26 via the shepherd: UPG-100 is the mass": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000// ★ primary_language + imb_gsec FEED THE GENERATED PROFILE DESCRIPTION (Driver brief A1.5 col 2,": 2,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000<!-- ★ NO MAP-LEVEL SHARE BUTTON HERE (Driver 2026-09-23, reported twice): \"there's a share": 1,
"plugin-designs/my-upg-100-list/upg-100-list.vue\u0000<!-- ★ THE SELECTION MAKES SOMETHING. Driver: the batch tool is \"super buggy\", and letting": 1,
"plugin-designs/my-upg-100-list/upg-100-mfe.vue\u0000/* NO AUTO-DARK. The DX design pattern is material LIGHT (Driver 2026-09-20): a system set to dark": 1,
"plugin-designs/my-upg-100-list/upg-100-mfe.vue\u0000// Driver's screenshots show it over a page with no coloured dots on it at all.": 1,
"plugin-designs/my-upg-100-list/upg-100-mfe.vue\u0000// Product call taken by dx-shepherd (UPGHK, 2026-09-27) under the Driver's standing goal that the": 1,
"plugin-designs/my-upg-100-list/upg-100-mfe.vue\u0000// RESOURCES FIRST, MAP SECOND (Driver 2026-09-23). \"By default the first tab": 1,
"plugin-designs/my-upg-100-list/upg-100-mfe.vue\u0000// THE DEFECT, reported by the Driver and traced by repo (PILLRISK, 2026-09-27): PinHint's \"Tap a": 1,
"plugin-designs/my-upg-100-list/upg-100-mfe.vue\u0000// The Driver's answer is that it should not show HERE, full stop — a narrower and more correct claim": 1,
"plugin-designs/my-upg-100-list/upg-100-mfe.vue\u0000// had happened, while the map still showed all 27 zones. The Driver's brief for this is": 1,
"plugin-designs/my-upg-100-list/upg-100-mfe.vue\u0000// ★ NO \"TAP A COLOURED DOT\" COACH-MARK ON THIS PROFILE, AT ALL (Driver, 2026-09-27).": 1,
"plugin-designs/my-upg-100-list/upg-100-mfe.vue\u0000// ★ THE FRESH-LOAD CASE, which is the one the Driver actually hit. Without this the panes carry no": 1,
"plugin-designs/people-groups-grid/people-groups-grid.vue\u0000(Driver-reported). Now a bordered, filled affordance in the material-light palette with a": 1,
"plugin-designs/people-groups-grid/people-groups-grid.vue\u0000* ★ COUNTRY IS PROP-ONLY, NOT A FIFTH DROPDOWN. The Driver's exclusion of Country was": 1,
"plugin-designs/people-groups-grid/people-groups-grid.vue\u0000// 'Total: 2107' (y=1865). The last two sit 38px apart, which is the redundancy the Driver saw.": 1,
"plugin-designs/people-groups-grid/people-groups-grid.vue\u0000// Driver excluded. The new `countryCode` prop is an INPUT, not a control: it reaches the rows": 1,
"plugin-designs/people-groups-grid/people-groups-grid.vue\u0000// Driver-reported 2026-09-22: the People/Place/Language/Religion tree rail \"is not working with": 1,
"plugin-designs/people-groups-grid/people-groups-grid.vue\u0000// THE BUG (Driver-reported + measured live 2026-09-22, dashboard-plus-grid leaf). Picking a": 1,
"plugin-designs/people-groups-grid/people-groups-grid.vue\u0000// load. Collapsed-by-default hid all four behind a text link, and the Driver reported exactly": 1,
"plugin-designs/people-groups-grid/people-groups-grid.vue\u0000// the symptom the Driver reported). One matcher, both call sites.": 1,
"plugin-designs/people-groups-grid/people-groups-grid.vue\u0000// ── THE WORLD-MAP BACKDROP BEHIND THE FILTERS (Driver, 2026-09-24) ──────────": 1,
"plugin-designs/people-groups-grid/people-groups-grid.vue\u0000// ★ ABSOLUTE CANONICAL DEFAULT (Driver 2026-09-23, pasted from his own browser:": 1,
"plugin-designs/people-groups-grid/people-groups-grid.vue\u0000Driver asked for both. auto-fill keeps the column count responsive, so this only widens cards when": 1,
"plugin-designs/people-groups-grid/people-groups-grid.vue\u0000Driver-reported 2026-09-22: \"the images need to be larger. They need to be more like SQUARES and": 1,
"plugin-designs/people-groups-grid/people-groups-grid.vue\u0000Two Driver requests point in opposite directions and BOTH are right:": 1,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000/* THE HEADER'S MENUS SIT ABOVE EVERY PLUGIN (Driver, 2026-09-25: \"the Mapbox token menu is not on top …": 2,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000// A FIXED-width pill while recording (the Driver: it resized with every word): show the newest": 1,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000// CORNER WIDGET (the Driver, BUILD-CORNER-WIDGET-CLASS): a profile whose .meta.json declares": 1,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000// Depth is FULL. The Driver's acceptance test is": 1,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000// Driver, 2026-09-24: \"there should not be people groups grid twice … this is just a clone of people": 1,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000// `part` row pointing at its parent. The Driver's worked example is exactly this split: Big": 1,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000// lowest (Driver, 2026-09-24: \"everything in studio organized by highest capability to lowest\",": 1,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000// the <tag> under the name are unchanged, so links and memory keep working. AUTO-DETECTED (the Driver:": 1,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000// ★ EVERY PLUGIN IS CAPABILITY 1-5 (the Driver, 2026-09-27, replacing the Experimental section he": 1,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000// ★ LAID OUT LIKE plugin-designs/ (Driver, 2026-09-26): one FOLDER per BUNDLE, its ELEMENTS inside,": 1,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000// ★ WHICH TAB OPENS, in priority order. Driver: \"when the plugin studio opens, it doesn't by": 1,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000<!-- THE HEADER SETS THE PROPS EVERY PLUGIN GETS (Driver, 2026-09-25): language (above), the map": 1,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000panel used to sit here; the Driver removed it 2026-09-24 because it took the plugin's space.": 1,
"plugin-designs/plugin-studio/plugin-studio.vue\u0000snippet for each — so a developer (or the Driver) can review each element and give feedback.": 1,
"plugin-designs/pplr-data-maps/src/views/pplr-coverage.vue\u0000import { formatCount } from '@map/utils/formatCount.js' // counts stay fixed en-US: numerals are held for the Driver": 1,
"plugin-designs/pplr-data-maps/src/views/pplr-pins.vue\u0000import { formatCount } from '@map/utils/formatCount.js' // counts stay fixed en-US: numerals are held for the Driver": 1,
"plugin-designs/prayer-walk-planner/index.html\u0000exactly the Driver's report: \"the map is showing up but it's not filling the full page.\"": 1,
"plugin-designs/prayer-walk-planner/index.html\u0000what the Driver sees on the dev server must be what the leaf ships). The client-side API": 1,
"plugin-designs/prayer-walk-planner/index.js\u0000* ★ CLIENT-SIDE API, NOT A BACKEND. The Driver's brief: \"Although this is JAMstack, we're": 1,
"plugin-designs/prayer-walk-planner/index.js\u0000// API on the DOM element (the Driver's \"the only API we can build has to be CLIENT SIDE\").": 1,
"plugin-designs/prayer-walk-planner/prayer-walk-planner.vue\u0000* ── CLIENT-SIDE API (the Driver's explicit ask: \"if you build a client-side API into": 1,
"plugin-designs/prayer-walk-planner/prayer-walk-planner.vue\u0000// PHONE: the zone list folds behind a ☰ button (Driver, test round 2 #8) and opens as a drawer over the": 1,
"plugin-designs/prayer-walk-planner/prayer-walk-planner.vue\u0000// The Driver: \"the printed map is a ~10px sliver\". Cause, measured 2026-09-25: print used to": 1,
"plugin-designs/prayer-walk-planner/prayer-walk-planner.vue\u0000// ★ THE \"VERY TINY MAP\" (Driver; measured 2026-09-25: 747x76 in the Research Gallery at 1280x800,": 1,
"plugin-designs/upg-neighbor/src/campaigns.vue\u0000// reach, the letter's audience (Driver, test round 2: \"on the Campaign side you can't click green dots\").": 1,
"plugin-designs/upg-neighbor/src/letter.js\u0000* letter.js — the LETTER to a reached group's believers (Driver, test round 2: UPG Neighbor is a letter": 1,
"plugin-designs/upg-neighbor/src/mobilize.vue\u0000// BOTH DIRECTIONS (Driver, 2026-09-28): a red dot shows the reached groups to mobilize for it; a green dot": 1,
"plugin-designs/upg-neighbor/src/mobilize.vue\u0000// THE LETTER'S AUDIENCE (Driver, test round 2: UPG Neighbor is a letter generator for GREEN groups).": 1,
"plugin-designs/wall-of-people-groups/src/blessings.js\u0000// Kept for reference: the earlier footer candidates (sheet rows 99), superseded by the Driver's choice.": 1,
"plugin-designs/wall-of-people-groups/src/blessings.js\u0000// THE POSTER, top to bottom as the Driver designed it (2026-09-28): the title \"Bless the nations in": 1,
"plugin-designs/wall-of-people-groups/src/wallLod.js\u0000* the Driver measured. A map never does this: it draws light tiles when zoomed out and loads detail": 1,
"skills/plugin-designer/SKILL.md\u0000*section* to be promoted out of — the Driver replaced it with capability tiers": 1,
"skills/plugin-designer/references/glossary.md\u0000There is no \"Experimental section\" to be promoted out of. The Driver replaced that section with": 1
}
}