Commit graph

4295 commits

Author SHA1 Message Date
Doxa Maps
fe43c966f3 Merge remote-tracking branch 'origin/development' into repo/merge-main-bless 2026-10-01 00:54:28 +00:00
Doxa Maps
742057a979 Rebuild the PosterWall carriers and the wall (country-posters, my-upg-100-list, regions-dashboard, wall-of-people-groups) from the merged source, and regenerate the tree and SRI 2026-10-01 00:46:17 +00:00
Doxa Maps
c5687142ae Merge origin/development into studio/scrub 2026-10-01 00:46:07 +00:00
Doxa Maps
8f6d16e4f3 Build config: a dev-server measurement note names what was measured, not who 2026-10-01 00:27:13 +00:00
Doxa Maps
01c390a929 Rebuild country-posters, my-upg-100-list, regions-dashboard and poster-design (India state posters: the indiaState series, the countryPosters area) 2026-10-01 00:24:41 +00:00
Doxa Maps
650b478a3e Regenerate the tree: the leaf pages' print-host comment, reworded (66 pages, 0 bundles) 2026-10-01 00:07:35 +00:00
Doxa Maps
7b1730e8aa Comments name what measured a fact, not who: the tree generator, the Mapbox draw gate, the profile metadata and the admin proxy 2026-10-01 00:07:34 +00:00
Doxa Maps
3a5b1b4803 README: the blessing stands as its own paragraph, apart from where the posters are 2026-09-30 23:51:12 +00:00
Doxa Maps
44762e6f40 README: a blessing for the people who bless the nations, and where every poster is
Four lines after the Bottom line up front: these maps and posters are given to bless the
people who bless the nations; we love them, thank them for their work and bless them in
Jesus' name. Every poster is in Posterverse (the UPG 100 List, Country Posters, Poster
Design and Wall of People Groups) and in the Plugin Studio.
2026-09-30 23:49:27 +00:00
Doxa Maps
1e300309c8 Country Posters: one poster for each of India's states and union territories
The unfiltered wall gains an "India — states and union territories" section: 34 cards, one per state or union
territory with people groups listed (from the shared india-states table, fetched and sha-checked only when the
section is shown), each with its poster, prayer packet and cards. Nagaland and Mizoram get a card saying no
unreached people groups are listed there, so no division silently disappears. A host's filtered wall
(countries/region) is unchanged and never loads the table.

src/indiaStateSheet.js draws a state's sheet through ONE path: its records by slug, its outline from the
ADM1 boundaries the renderer already loads (matched on shapeName; the shared collection is copied, never
mutated), India's hue, and the indiaState series ("India State Maps", map N of 34). Show on map for a state
frames India, since the countries map draws countries.

check:country-sheet-one-path grows the state arms: inside this plugin only the helper calls generateSheet,
the wall must use makeIndiaStateSheet, and over the served table + ADM1 file: 36 divisions, the 34 with groups
numbered 1..34 each with an outline, the rest named, the ADM1 collection unmutated. Self-test 10/10.
Rendered headlessly through poster-render for Gujarat (90 pins), Lakshadweep (1), Andaman and Nicobar (9):
the state's name as title, "India State Maps", its series position, no country-series text, no "Province".
2026-09-30 23:33:34 +00:00
Doxa Maps
c58c7a7baf i18n: a countryPosters area, with the India states section's heading and no-people-groups line, in all 11 locales
countryPosters.indiaStatesHeading ("India — states and union territories") and countryPosters.indiaStateNoGroups
("No unreached people groups are listed here."), for the Country Posters wall's India section. A NEW AREA that only
country-posters names, not the shared `messages` area: that one reaches 20 built bundles, so two strings only this
wall shows would have rebuilt nearly the whole tree. Each locale reuses its catalogue's term for unreached people
groups (lists.unreached) and its standard name for India's states and union territories; never "provinces".
2026-09-30 23:33:34 +00:00
Doxa Maps
51524b7897 A poster series for India's states and union territories; series-isolation sees shared wording and poster text correctly
series.json: a new `indiaState` series, modelled on `country`, so a state poster names itself honestly
("India State Maps", "What is a State Prayer Map?", one sheet for each state and union territory of India,
"which state God has put on their heart"). The country series' text would have called Gujarāt one of the
~170 Country Maps. Approved as the default wording; shown as editable.

check:series-isolation, two blind spots found by adding a third series:
- Shared wording was dropped from only the EARLIER series (sets were mutated while still being compared),
  so the later one kept it as a fingerprint and the earlier failed for carrying it. The shared set is now
  found on the original sets. Self-test: three series in any order; the old loop fails it.
- The contamination scan never read a series' `poster` block, where a country poster once printed the
  UPG-100 side box. It does now. The phrases that NAME country and indiaState are hand-listed, so a
  verbatim copy of one's framing into the other is caught even though symmetric dropping treats it as shared.
  Self-test 9/9, including both directions of a country/state copy.

countrySheet.js: the seriesFor comment no longer says "map 1 of 0" was printed; it was latent (the map-only
packet page prints no series line, and the India poster is gated), as a rendered check showed.
2026-09-30 23:33:34 +00:00
Doxa Maps
3f7d489409 Merge remote-tracking branch 'origin/development' into poster-design-plugin/land 2026-09-30 23:12:35 +00:00
Doxa Maps
cf8e7f2f51 README, agent section: a full-size link under the diagram, whose small text a phone can't read 2026-09-30 23:12:25 +00:00
Doxa Maps
d58ffb6a71 Rebuild poster-design from the merged source (the shared country-sheet path) 2026-09-30 22:54:57 +00:00
Doxa Maps
1f2dc22cbd composite-interop: Poster Design has no cross-pane links, by design
Its two panes, Styles and Sizes, are independent views of the poster
templates; neither drives the other, so it gets a NO_LINKS entry with
that reason rather than invented links.
2026-09-30 22:54:56 +00:00
Doxa Maps
111c17d499 Poster Design: draw the sample country sheet through makeCountrySheet
The Styles tab called generateCountrySheet directly and built the country
without its region, so the sample would have printed in the old flat teal
while the Country Posters wall prints it region-hued. It now draws through
the one shared path (library/packet/countrySheet.js), which carries the
region and computes the series the way the wall does; the inline series
arithmetic is gone. check:country-sheet-one-path passes.
2026-09-30 22:54:56 +00:00
Doxa Maps
1ea9cfc280 README, agent section: bring your own harness, and the branch strategy as steps to copy
Only "## Build it with an agent swarm" changes.
- Bring your own harness: dx-maps works with whatever agent or harness you already use. The
  repo gives the branch strategy, the checks (bun run gates:pre) and the Plugin Studio; it
  ships no harness. A coordinator or a gate-keeper is a job your harness gives its agents.
- "Set up the branch strategy", seven steps: main is production; create development once;
  a branch and worktree per agent (with bun install); a preview port per agent; land one at
  a time through a lock (rebase, gates:pre, push only if nothing fails, since gates:pre
  exits non-zero on a failure); one full-build owner and BUNDLE=<name> for the rest; release
  by fast-forwarding main to a checked commit, then tag it and deploy from the tag.
- The plain-words kitchen list and the glossary stay, in line with the steps (the glossary
  gains "tag"). Every command block parses, and every script it names exists.
2026-09-30 22:51:30 +00:00
Doxa Maps
28cb482c79 Merge remote-tracking branch 'origin/development' into wall-of-people-groups-plugin/work 2026-09-30 22:49:32 +00:00
Doxa Maps
6e766104ac Merge #8.6 (the Rudder screenshot) onto #8.5 + #8.7 2026-09-30 22:44:50 +00:00
Doxa Maps
daa3c28566 Rudder screenshot: blur the microphone field, whose clipped device name began to show
Only the field's box changes (x 90-287, y 268-309 of 435x941). The PNG still holds only
IHDR, IDAT and IEND.
2026-09-30 22:44:48 +00:00
Doxa Maps
39b8dd1d77 README: a new screenshot of Rudder, the offline voice-to-text desktop app, running
deploy5-desktop-rudder.png is replaced with a screenshot of Rudder running (Ready, with a
transcript). It carries no names, emails, paths, hostnames or tokens, and its metadata is
stripped: the PNG holds only IHDR, IDAT and IEND. The alt text says what it shows.
2026-09-30 22:42:59 +00:00
Doxa Maps
4129ad4bfd Build poster-design, regenerate the tree, SRI and the capability-exemplars table on the merged source
The composites both shells now name (doxa-maps-spa's Prayer Mobilization
row, posterverse's composes) resolve once poster-design exists, so the
tree is generated here, once, on the merged tree.
2026-09-30 22:42:56 +00:00
Doxa Maps
c8e02f70ff Rebuild posterverse for the confirmed Poster Design row
BUNDLE=posterverse vite build only. The tree (manifest, leaf pages, SRI) is NOT
regenerated here: generate-tree refuses the new composes ref until the
poster-design bundle is in the same tree, so the lander regenerates it once,
on the merged tree (bun run tree, then fix:sri).
2026-09-30 22:42:05 +00:00
Doxa Maps
0e069e5aaf Posterverse: Poster Design's ids are confirmed, and composes declares it
poster-design/poster-design-mfe is the id poster-design-plugin ships, so its row
is no longer provisional, and posterverse.meta.json composes it. This commit
must land in the SAME push as the poster-design bundle: without the bundle the
ref is unresolved (check:capability-derived) and check:posterverse-shelf fails
arm D; with the bundle and without this commit, arm D fails the other way.
2026-09-30 22:42:05 +00:00
Doxa Maps
7d3e744917 Rebuild doxa-maps-spa for the Poster Design row (the tree is regenerated once on the merged tree, where poster-design exists) 2026-09-30 22:42:05 +00:00
Doxa Maps
c394533fc8 Research Gallery: Poster Design joins Prayer Mobilization
Prayer Mobilization now reads Prayer Progress, UPG 100 List Posters, Country Posters, then Poster Design.
The row mounts the Styles + Sizes composite (bundle poster-design, profile poster-design-mfe), uses the same
tab id as the Posterverse shell, and carries the same label and subtitle in all 11 languages. As a curated
row it never appears on the Experimental shelf.
2026-09-30 22:42:05 +00:00
Doxa Maps
855e89db65 Poster Design: a new plugin with Styles and Sizes tabs
Every poster template the library prints, in one place, so the designs
can be compared side by side and handed to an agent by name.

- poster-design-mfe: the two-tab element (capability 4), the same shape
  as country-posters-mfe: the shared ViewSelect over Styles and Sizes,
  each tab its own element, one ShareButton for the composite.
- poster-styles: the library's PosterWall, one card per configuration
  (src/templates.js: country map sheets at each format, the packet page,
  the packet variants, every card stock, the Bless wall panels, the map
  print). Through PosterWall's host seams the header sticker reads "Show
  full details" and opens a dialog with the configuration name, size,
  file size, settings, sample and renderer, and each thumbnail is drawn
  from the library with sample data (Nepal) when it comes into view.
  Templates the gallery cannot draw yet say which part is missing. The
  dialog fits a phone (border-box), and in Arabic its file size and the
  configuration name stay whole (LRI…PDI isolates).
- poster-sizes: waits for the shared size table rather than keeping a
  second list of sizes.

check:poster-design-catalogue (gates:pre) keeps the catalogue true: its
sheet formats match poster-render FORMATS, names are unique, the card
entries are card-render STOCK, its keys exist, the sample can be drawn.
2026-09-30 22:42:05 +00:00
Doxa Maps
6deb2569be The agent-swarm diagram and its README section, redrawn to how changes land today
delegation-model.svg, re-rendered to delegation-model.png at 2x (only IHDR, IDAT, IEND):
- development, not main, is at the centre, behind a landing lock that takes one landing at a
  time; the plugin ring and the three outputs are kept (the desktop output working).
- A coordinator and a gate-keeper replace the single overseer; the legend gains them.
- "How a change lands" has four steps: own branch; a second reader; one at a time (in the
  lock: merge development, rebuild, run every check, push only if nothing fails); promote
  to main (only when the owner approves, after full checks on that version).
- The outputs band adds: the dev preview follows development, the published site follows
  main.
README, the same section, so the text matches the picture: the summary table row, the
section's intro, the image's alt text, the kitchen list (now five points) and the glossary
("landing lock" replaces "merge queue"). No tool or personal names.
2026-09-30 22:41:30 +00:00
Doxa Maps
4500133abc i18n: the posterDesign area, in all 11 locales
The Poster Design plugin's own words: its two tabs, "Show full details"
(the label its cards' header sticker reads), the template families and
names, the notes for templates the gallery cannot draw yet, and the
details dialog. A new area file, so only a bundle that names
posterDesign carries it; every other bundle's output is unchanged.
2026-09-30 22:41:20 +00:00
Doxa Maps
757327932b Regenerate the tree: the pages' A9 hint comment, reworded (0 bundles) 2026-09-30 22:36:47 +00:00
Doxa Maps
28c638d7ec Comments name no internal hosts or teams; the A9 leaf-hint comment every page carries is neutral 2026-09-30 22:36:47 +00:00
Doxa Maps
703f3efbc6 README and docs: no private server address or platform name, and the desktop app works
- The clone examples in README.md and documentation/DEPLOY.md name a private server; they
  now read `git clone --depth 1 <your-repo-url>`.
- skills/plugin-designer/references/backend.md quoted a planning heading that names a
  platform; it now says the tiers are recorded "as an open, unproven assumption".
- The desktop app (Tauri; Rudder runs as one) works: the capability table's Desktop column
  is ✅, and the outputs table, the Output 3 heading and its screenshot's alt text say so.
  The WordPress column keeps 🧪, so the table's legend is unchanged.
- delegation-model.svg: the desktop output's label reads WORKING, in the green of the other
  two outputs. delegation-model.png is re-rendered from it at 2x in Chromium. Rendering the
  previous SVG the same way reproduced the committed PNG with 0 pixels different, and the
  new render differs only inside the desktop box. The PNG carries only IHDR, IDAT and IEND.
2026-09-30 22:36:29 +00:00
Doxa Maps
7303483fd2 Rebuild posterverse and regenerate the tree
BUNDLE=posterverse vite build, then bun run tree and fix:sri. Only the
posterverse entry changes in the manifest (its composes drop to three).
2026-09-30 22:35:34 +00:00
Doxa Maps
68ba3b3402 Posterverse: poster plugins only
UPG Neighbor and All People Groups leave the Experimental folder: they are
research maps, and Posterverse holds the plugins whose purpose is posters.
Experimental is now Wall of People Groups (and Bible Posters once it exists).
Their labels, composes refs and heavy-tag entry go with them; the shelf gate's
allow-list and its self-test follow. The Research Gallery is unchanged.
2026-09-30 22:35:34 +00:00
Doxa Maps
7f2dec8600 Wall of People Groups: the Bless poster takes the house poster style, full width, with nothing clipped
The poster now reads like the UPG 100 List posters (poster-render's approved template):
- warm paper, hairline rules instead of black boxes and sidebars, Georgia for the title and the scripture;
- the sans for names and labels, tracked capitals for the small labels, and the purple ink for every
  scripture reference;
- a quiet boxed centrepiece in the journey.
The screen canvas draws the same paper and ink, so the wall still shows what prints.

Layout:
- The header, the chart, the grid and the footer share ONE full content width and ONE inner padding, so
  text edges and rules line up. The subtitle, the blessing's intro lines and the closing line no longer
  wrap inside an 80% column.
- The grid's spare height is shared equally above and below it (it pooled as one gap above the footer),
  and a gap now separates the chart from the first row.

Fixed, measured on the print in en and ar at every size (0 clipped text blocks, was 12-15):
- the Old/New Testament rail labels overran their rows;
- the longest verse cell overran its row (the chart's verse size now fits its longest cell);
- the title's descenders were clipped;
- two real names were cut by the line clamp (0 of the live 2,107 now): a name's lines are counted by
  whole words, and a long name may take four lines at the floor size.
2026-09-30 22:32:56 +00:00
Doxa Maps
2c6732168f Merge main into development: the README's web edit, "Why: To Bless the Nations"
main gained one commit, 4a0fe87d0 (README.md only), so development no longer contained it
and the promotion could not fast-forward. The edit meets development's rewritten BLUF, so
README.md conflicted. Resolved as development's README with the same edit applied:
- "- **Why:** To Bless the Nations" is the section's first bullet, then a blank line, as
  in main;
- development's existing Why paragraph is relabelled "- **Great Commission:**", its text
  and line breaks unchanged.
Nothing else changes: README.md is the only file that differs from development.
2026-09-30 22:31:23 +00:00
Doxa Maps
3060619d93 Merge origin/development into studio/fake-token 2026-09-30 22:29:31 +00:00
4a0fe87d05 Update README.md
Some checks failed
Deploy to GitHub Pages / build (push) Has been cancelled
Deploy to GitHub Pages / deploy (push) Has been cancelled
2026-09-30 22:27:30 +00:00
Doxa Maps
ce93047669 Rebuild the PosterWall carriers and the wall (country-posters, my-upg-100-list, regions-dashboard, wall-of-people-groups) from the merged source, and regenerate the tree and SRI 2026-09-30 22:25:46 +00:00
Doxa Maps
1d2b29d6b5 Merge origin/development into studio/land-pd-seam 2026-09-30 22:23:58 +00:00
Doxa Maps
ca9d210d8c Universal-props gate: the planted token sample is assembled at runtime, not committed as a literal
The TOK-LITERAL self-test planted a string shaped like a real Mapbox token,
which is itself what the rule forbids and reads as a leaked credential to any
secret scan. The sample is now built at runtime from plainly fake parts
('example', 'not-a-token') in the same pk. + base64url + tail shape, so the
self-test still proves the rule fires, and no token-shaped literal is left in
the tree.
2026-09-30 22:22:09 +00:00
Doxa Maps
d81a6ab924 Merge remote-tracking branch 'origin/development' into upg100/india-states 2026-09-30 22:19:42 +00:00
Doxa Maps
85c435be06 PanelSheets: a plain style id, and the library index lists the new poster files
The shadow-styles id must be a plain lowercase identifier (check:shadow-css-parses
reads anything else as a CSS rule concatenated onto the id), so 'PanelSheets'
becomes 'panel-sheets'; nothing imports the component yet. The derived library
index gains panelSheets.js and PanelSheets.vue.
2026-09-30 22:18:46 +00:00
Doxa Maps
323283a43c Merge origin/development (32715a5cc) into upg100/india-states; package.json keeps both sides' gates; rebuild my-upg-100-list from the merged source, and regenerate the tree and SRI 2026-09-30 22:17:44 +00:00
Doxa Maps
4267689211 Rebuild the PosterWall carriers and the wall from the combined source, and regenerate the tree and SRI 2026-09-30 22:13:07 +00:00
Doxa Maps
e4b2bbb47d Capability exemplars: list posterverse (26 bundles)
bun run capability-exemplars on the current tree. The posterverse bundle landed
without regenerating this table, so check:capability-exemplars (gates:post)
reported that the table disagrees with the manifest. Doc only; no bundle.
2026-09-30 22:11:45 +00:00
Doxa Maps
3f23274a30 Merge origin/development (f8de00edf) into upg100/india-states; package.json keeps both sides' gates; rebuild my-upg-100-list from the merged source, and regenerate the tree and SRI 2026-09-30 22:11:30 +00:00
Doxa Maps
356e1063dd Merge PanelSheets (wall-of-people-groups-plugin/work, 3ee5ed9fd..f5ec4a180) with the PosterWall host seams, for one capture 2026-09-30 22:09:52 +00:00
Doxa Maps
f5ec4a1809 PanelSheets: say that sheets are numbered from 0, in the docs and in sliceFor's error 2026-09-30 22:08:23 +00:00