Commit graph

108 commits

Author SHA1 Message Date
Doxa Maps
effe847a38 README: the web folder's size after the 34 India state previews (1367 files, 163 MiB)
The 34 state posters add a 560 px card thumbnail and a 1500 px download each (68 files, about 5 MB), which takes
public/dx-maps past the README's stated size by more than check:readme-size's 10% margin. The row now states the
measured size, as the gate prescribes.
2026-10-01 01:03:51 +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
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
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
6e766104ac Merge #8.6 (the Rudder screenshot) onto #8.5 + #8.7 2026-09-30 22:44:50 +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
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
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
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
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
30ca27a84f README: Deep Research as DX Life now publishes it, and development as the branch work lands on
From dx-maps' measurement on development 17d1a07cf; docs only.
Required, because the README contradicted the final page layout (/research shows the research map by
itself, with a link to /deep-research; /deep-research holds the gallery):
- The drop-in paragraph said DX Life's /research is filled with the Research Gallery. It now says the
  drop-in copies the folder into public/dx-maps, and /research shows the research map with a link to
  /deep-research, which holds the gallery as Deep Research.
- The JavaScript-embed section:
  - heading, lead and "one embed replaces the research map" now describe /deep-research;
  - the screenshot shows an earlier build (the gallery on DX Life's research page, the tabs in the old
    order), so its alt text and a caption now say so. A reshoot is rega's.
Also, each a one-line factual fix (the README's structure is unchanged):
- The name, once where the gallery is introduced: the Research Gallery, which DX Life publishes as Deep
  Research. The other 22 mentions and the headings, whose anchors other text links to, are unchanged.
- 7 vs 8 production maps: the eighth is the country map, for DX Life's country pages, not in the gallery.
- development is where work lands, and main moves only on a publish: the goals table, the swarm
  section's two sentences, and the glossary.
- Both production grids now follow the gallery's section order (Prayer Progress before UPG-100 List).
- The embed heading's status reads "✅ works today", the README's own legend for ✅, instead of "production":
  the page is not live on DX Life's production site yet (dx-maps' pre-read).
check:readme-size, check:doc-scripts, check:no-new-driver-references and check:link-coverage pass.
2026-09-29 21:37:17 +00:00
Doxa Maps
17d1a07cf8 README: the one-map recipe regenerates the tree too, so a .meta.json change reaches the pages
From exp's second read of 4bcce8ff8. "BUNDLE=<map> bun x vite build && bun run fix:sri" is right for a
code change, but a change to the map's .meta.json reaches its pages and the manifest only through
bun run tree. Without it the leaf page ships the old settings, and the landing scan's step 2b refuses
the stale tree. The recipe is now "BUNDLE=<map> bun x vite build && bun run tree && bun run fix:sri".
The tree step takes a few seconds and changes nothing when nothing changed.
2026-09-29 21:14:06 +00:00
Doxa Maps
225eadef11 README: a one-map build needs fix:sri; a snippet is pasted whole; the agent table names maps honestly
Found re-reading 10be43d2b:
- "BUNDLE=<map> bun x vite build" alone leaves the map's pages and the manifest pinned to the OLD hash,
  so the map's own page and any pasted snippet refuse the new file. It is now followed by bun run fix:sri.
  Measured two-sided: one byte added to a pinned map's built file made check:sri FAIL (4 of its pages
  disagreed); fix:sri rewrote them and the manifest, and check:sri PASSED. The probe files were restored.
  A one-map build rewrote only that map's .js, never the manifest or a page.
- "A snippet is two parts" was wrong. The snippet also preloads the map engine and sets
  window.MAP_APP_API_URL, so the README now says to paste it whole and names what it does.
- The agent table:
  - Cities with Internet works by country (internet use), so it moved from "Reach a city" to
    "Plan outreach". The production maps work by country and region; city-level planning (Prayer Walk
    Planner) is experimental, and the row says so.
  - Maps carry the names the app shows (Simple Research, UPG 100 List).
  - "Frozen" was a tonight-only rule; the line now reads "leave them as they are unless your task is one
    of them".
2026-09-29 21:00:07 +00:00
Doxa Maps
10be43d2b1 README: a vibe-coder section (Studio, build, embed) and an agent section (what this repo is for)
For vibe coders: run the Plugin Studio, build one map or all of them (and the automatic copy into a sibling
DX Life site), and embed a map: every map's own embed.script in manifest.json, loaded from DX Life's
public/dx-maps. For agents: the repo builds mobilization maps, and each goal (reach a city, mobilize for
people groups, plan outreach, prayer packets and resources) is mapped to the production maps that serve
it, with the skill, the plugin rules, the landing rules and the freeze on experimental maps.
2026-09-29 18:39:36 +00:00
Doxa Maps
92ca8b6e6e Merge main (cd3fb3442): the Driver's README edits to the persona table (9201398ef, cd3fb3442), his wording kept 2026-09-29 17:23:15 +00:00
cd3fb34425 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-29 17:10:50 +00:00
9201398ef9 Update README.md
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-29 17:09:39 +00:00
Doxa Maps
b5e4be4355 Merge main (b7e71a9cb): the Driver's README edit, "The people doing the mission" becomes "The people doing the work" 2026-09-29 17:07:42 +00:00
b7e71a9cb5 Update README.md
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-29 17:05:56 +00:00
Doxa Maps
506b42fc31 Merge repo/readme-rudder-shot: the Driver's Rudder desktop screenshot in the README (HELD since 01:32Z for his cut-off condition "before you add it to the readme you nee"; merged on the merge-all order) 2026-09-29 14:50:44 +00:00
Doxa Maps
ef89113877 README, HOWTO and .env.example: a changed port takes effect when bun run dev restarts (V8, third fresh reader)
A fresh reader given only the README and the HOWTO reached the Studio and a plugin's /__leaf page with
nothing else needed, but one step. After "port 8090 is already in use ... set DX_PB_PORT", neither
doc said the setting is read when bun run dev starts, so the new port only applies after a restart.
The README copies .env.example before starting the server, and the port message appears only once it
runs, so the steps looped with no stated way out. All three places that mention DX_PB_PORT now say to
pick a free port and restart.
2026-09-29 11:56:47 +00:00
Doxa Maps
c92e857e01 README and docs: a plugin's own page is /__leaf/<plugin>/<profile>, and auto is MapLibre
A fresh reader given only the README and HOWTO-join-the-table got through install, bun run dev and
the Studio. One gap: no address for a single plugin's page. The Capability 1 fold says each plugin's
folder holds "an index.html for previewing it", which reads as /plugin-designs/<plugin>/index.html,
and that 404s under bun run dev. The page is /__leaf/<plugin>/<profile>, and the Studio's list is
/__plugin-gallery/manifest.json. Both are now named.
Three smaller notes from the same reader:
- the README copied .env.example to .env while the HOWTO uses .env.local. Both work and .env.local
  wins; the README now uses .env.local too, which also keeps .env free for compose.yaml;
- the Mapbox token read as required; it is one of two ways to get a background;
- the 8090 port hint (DX_PB_PORT) was only in the HOWTO; it is now named where the README first
  mentions PocketBase.

Also, the engine rule (was a follow-up commit, f0e965e4d):
Since 2026-09-28 useMapProvider.js resolves `auto` to MapLibre, and Mapbox is an explicit choice:
"provider": "mapbox" plus a token. The docs still said "Mapbox when a token is available":
- README's map-engines row;
- how-to.md's provider section;
- the plugin-designer skill's props table, which even says to confirm in useMapProvider.js.
All three now state the current rule. So do four lines that told readers to set provider maplibre to
avoid needing a key: README's Get it running and its "No token" fold, .env.example's token comment,
and reference.md's no-key row.
Case-insensitive git grep "Mapbox when a token" over README.md, documentation/ and skills/: 3 before, 0 after.
2026-09-29 11:04:22 +00:00
Doxa Maps
6289d3b969 README: what a fresh reader hit, fixed (V8 fresh-reader test)
A clean clone of development, run with no settings and only the README:
- The drop-in's `bun run build && bun run dropin` stopped at the build, which refuses without
  BUILD_ALLOW=1, so dropin never ran. The built maps are in the repo: the route is now
  `EMBED_BASE_URL=https://your-site bun run tree` then `bun run dropin`, with the one-bundle rebuild for
  changed plugins. Without the tree step the manifests' snippets stay relative and no other site can paste
  them (measured: embedBase "." before, the site's address after, and the snippet's page answered 200).
- smoke:studio checks :5173 by default; when Vite took another port it measured a different server.
  The step now passes the printed URL, and says it drives a headless browser.
- `bun run serve` crashes if 4173 is taken; PORT=<n> works and is now named.
- Vite prints http://127.0.0.1:5173/, not localhost.
- The sync example's branch must exist on the remote; the public repo has only main.
- bun run dev also downloads and starts a local PocketBase on 8090; now said. A copied template keeps
  its element name until renamed as its README says.
2026-09-29 09:18:56 +00:00
Doxa Maps
ac75ca9794 README: the third route, the public Plugin Studio, and what each route can do
"Where the folder goes" had two routes. The third is the same container with ACCESS=public on a
team's research subdomain: the Plugin Studio open to everyone (following development), its /cdn
built from main serving the site's production maps, and the admin parts behind a password set at
deploy. A small table ranks the three by capability: drop-in (the simplest, no backend),
subdomain (PocketBase behind a sign-in), Plugin Studio (the highest: plugins built live in
public). The two links to the section follow its new name.

The link to deployment/cloud's "Public Studio (ACCESS=public)" section resolves once
repo/public-studio-mode lands, so this lands after it.
2026-09-29 05:31:37 +00:00
Doxa Maps
fa696cfd9b check:readme-size runs in gates:post, and the README states the folder with its posters
The gate measures the built folder, so it belongs after the build, in
gates:post, with its description beside the others. It now reads the tree
name from _tree-name.mjs like every other tool: the folder was renamed
once already, and a gate hardcoding the old name kept reading it.

The row now says 1205 files, 154 MiB: the folder as it stands with the
350 city and country posters this landing ships.
2026-09-29 05:26:25 +00:00
Doxa Maps
05d7724bfe README + DEPLOY: no links into private repos; the web folder's size is measured by a gate
dx-base measured two defects in the A8 draft for text that goes public:
- Links into the private DX Life repo answer 404 to anyone without an account. The live
  example is now plain words (README, DEPLOY), and the clone line points at the public repo
  (doxa-open/doxa-maps, as DEPLOY already did). DEPLOY's "three ways" becomes the two routes;
  the CDN route is retired.
- The web folder row said 536 files, 76 MiB. The folder is 855 files, 119.2 MiB. New
  check:readme-size re-measures public/dx-maps and fails when the row is more than 10% off,
  printing the line to paste. It passes at 855/119; the old numbers fail.
2026-09-29 05:26:25 +00:00
Doxa Maps
16fc084d7f README: vibe coders named at the top, a cloud development environment, one line on SRI
- Bottom line up front names the persona dx-maps is for, vibe coders, and links to what
  they get.
- "Cloud development environment": by default bun run dev is fully local. DX_SYNC_REMOTE and
  DX_SYNC_BRANCH in .env.local make it follow a shared branch. It fast-forwards only a clean
  checkout on that branch, and never merges over local work. If your own agents also edit
  the checkout, it stops following, so push small and often or the landings pile into a merge
  conflict.
- The drop-in route's live example pointed at a branch that doesn't exist (research-gallery);
  it is research-gallery-drop-in, proven with every production map passing its embed checks.
- One line on SRI where hosts copy snippets: the integrity hash makes a changed bundle
  refuse to run, so copy the snippet again after each release.
2026-09-29 05:26:23 +00:00
Doxa Maps
7adf480f3d README: dx-maps ships two ways, the drop-in first and the subdomain container second
The deployment section named four hosting options, three of them CDN-shaped (Cloudflare Pages,
jsDelivr, Netlify). dx-maps now ships two routes, and the section says so in that order:

- The easiest path: drop-in. The folder goes into your own site's public/ and your site's server serves
  every map; bun run build && bun run dropin. One server, no PocketBase. It is the route the DX Life
  branches were proven on.
- Subdomain: the dx-maps container with PocketBase, for maps that need a backend of their own; the
  Dockerfile and compose.yaml at the repo root.

The notes that still hold stay (relative links, iframes, the one CORS header for JS embeds). The
quick start's own drop-in steps become a pointer to the route, and the cloud dev server is described
as following development, not main.
2026-09-29 03:03:52 +00:00
Doxa Maps
867c559095 One server for a site and its maps: bun run dropin, and the drop-in goes straight into the site's public/
The drop-in was proven on a laptop with one server: the three DX Life branches rendered their maps,
7 of 7 checks passed, with internal/sync-dropin.mjs --from-config --dest <doxa-life>/public. This
makes that the default path:

- dropin.dest is ../doxa-life/public. The old ../doxa-life/public/embed/doxa-maps-build was stale.
- bun run dropin = sync-dropin --from-config; deploy:dev (build + drop-in) now uses it.
- The README gains "The easiest path": the studio for the work, dropin.dest at your site's public/,
  then build and drop in.

One hazard came with the new destination, and it is closed here. --prune deletes every file in the
destination outside the drop-in's allowlist, which was right while that was a folder of its own. Into
a site's public/, it would delete the site. deploy:dev passed --prune, so it no longer does, and
sync-dropin refuses --prune into any folder named public/. Measured in a scratch site: --prune into
site/public exits 1 with the reason; a plain drop-in copies dx-maps/ and leaves the site's own
file in place.
2026-09-29 03:03:51 +00:00
Doxa Maps
8425d215fb README: why dx-maps exists is to bless the nations
The why now says what the maps are for, in the order they serve it: giving disciples, churches and
leaders what they need to bless the nations, with indigenous disciples, churches and leaders
multiplying and blessing their own peoples as the deeper answer to the Great Commission. It names the
three things the maps serve: praying for the unreached peoples of the world, mobilising believers to
bless their own cities, and caring for the needy with private maps.
2026-09-29 01:38:08 +00:00
Doxa Maps
7058e868eb README: show Rudder running as a desktop app
Output 3 showed only the map app as a desktop app. Rudder is the desktop
example the README describes, and it has now been built with
`bun run desktop:build rudder-voice` and run on Linux: a screenshot of the
running app goes under the map app's, with one line on how to build it.

The PNG carries no text chunks (the original recorded its creation time
and timezone); the pixels are unchanged.
2026-09-29 01:32:16 +00:00
Doxa Maps
c5f9a22d0b README: land on development, clone doxa-life/doxa-maps, and open the URL Vite prints
The worktree example branched from main and pushed to it; main is production now and the team lands
on development. The quick start cloned doxa-open/doxa-maps, which is not the repo, and sent readers to
localhost:5173 while the dev server takes the next free port when 5173 is busy (a fresh clone's friend
test came up on 5174).
2026-09-29 00:59:14 +00:00
Doxa Maps
a7bdb7b439 README: a bottom line up front under the scripture
Why dx-maps exists, how it was made, the dashboard where everything comes together and what
inspired it, and one line on what each map is for.
2026-09-28 13:56:06 +00:00
Doxa Maps
3747122e69 README: Rudder's desktop packaging exists now (bun run desktop:build rudder-voice, with its guide)
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-28 08:50:11 +00:00
Doxa Maps
7b7b8a4ac3 README: a catalyst or mobilizer can also find gospel resources for the people they reach (Gospel × Internet)
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-28 05:22:54 +00:00
Doxa Maps
53363ba80d plugin-designer skill: fix stale gallery claims, split depth into references/
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
SKILL.md claimed new plugins land in a Research Gallery Experimental section.
That section was replaced by capability tiers (plugin-studio.vue:630); stage is
now a label prefix, not a place. Both stale lines corrected.

Adds what the skill never said:
- capability is DERIVED from composes and an explicit type is CHECKED against it
  (check-capability-derived.mjs), with its two traps;
- rail labels come from meta, and check-studio-rail.mjs:68 fails a bare id;
- presets merge OVER the profile's meta config, key by key -- rule 3 of
  documentation/PRESET-PLUGIN-STANDARD.md, asserted by check:preset-config-merge
  (generate-tree.mjs:1094, the comment there records the pinHint bug);
- targets is read (profile-meta.mjs:28) and consequential: the Research Gallery
  skips a bundle that does not list web (doxa-maps-spa.vue:605).

Depth moves to references/: glossary, targets, backend, workflow. backend.md
carries the PocketBase user tiers marked DESIGN INTENT, NOT BUILT -- quoted
rather than linked, because their source lives outside this repo.

Verified against this tree, rebased on main: 61 path citations resolve, 10 line
citations land on the code they claim.

README: one line pointing an agent at the skill.
2026-09-28 03:32:27 +00:00
Doxa Maps
1bbfeae07c documentation/DEPLOY.md: the 4 ways dx-maps ships, linked from the README
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
Laptop (bun run dev, zero config); a shared cloud dev server (Docker or Coolify, with a persistent /data);
public embeds from /cdn or any static host; the built folder inside a site's public/, as DX-life does.
Each with the command, what you get, and the detailed doc.
2026-09-28 02:27:12 +00:00
Doxa Maps
7138385774 README: link the cloud development guide next to the join-the-table guide
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-28 01:38:28 +00:00
Doxa Maps
8c529c0313 Zero-config local setup: .env.example spells out every local default; README love line
A fresh clone needs no .env. .env.example lists each local setting with its default, and an empty value
means the default: DX_SYNC_REMOTE empty = hot reload of local edits only; DX_PB_URL empty = a local
PocketBase. Rudder's settings are marked as shell-environment only, since the dev server reads them there.
2026-09-28 01:38:28 +00:00
Doxa Maps
86471947fc README quick start: a shallow clone, and Go for Rudder's voice engine (everything else works without it) 2026-09-28 01:38:28 +00:00
Doxa Maps
3d64bcad41 README: link the guide to working from a laptop alongside the team
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-28 00:13:45 +00:00
Doxa Maps
14a25b6b59 README: Security controls (bundle integrity with the real manifest fields; the v1 backend posture), and PocketBase hooks switched off
Bundle integrity: all 25 bundles carry bundles[].integrity (sha384) and every profiles[].embed.script
already includes integrity + crossorigin=anonymous (checked on main); the section shows the snippet,
what the browser does with it, the CORS header it needs, and check:sri. The container's PocketBase:
locked-by-default collections, the prod dashboard blocked and the dev one admin-only, and hooks OFF,
now true in code: both instances get --hooksDir pointing at a path that never exists, so a pb_hooks/
folder added to the repo can't run. Per-plugin locks and isolated edge functions are stated as not
built.
2026-09-27 21:43:05 +00:00
Doxa Maps
f3e671949b README: vibe coders first in 'Who it's for', and an Acknowledgements line
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
Vibe coders get their own subsection at the top: one repo with many plugins (own src/, one
shared library), the Plugin Studio live with bun run dev, Rudder as the offline voice-to-text
corner widget in the Studio (Linux today), one plugin to embed or mobile with Rudder as the
desktop-target example (packaging next, as its own README says), and 'Run it in the cloud'. Only
what is on main. Acknowledgements thank the open-source projects it stands on (Vue, Vite, MapLibre,
Pinia, Vue I18n, Capacitor, Tauri, oauth2-proxy, NeMo-Speech.cpp + Nemotron, OpenStreetMap via
OpenFreeMap); no personal names. public-hygiene clean.
2026-09-27 19:52:44 +00:00
Doxa Maps
11dc28671c README: who it's for (translators, media to movements, catalysts, prayer, teachers) and a folded 'For AI agents' block
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
Each row names only features on main: Gospel Resources' views and data tables, Cities with
Internet and the Gospel x Internet board (incl. internet-by-adm1), Big Picture / Simple Research
filters with Export CSV, Export this selection and Full Profile, UPG-100's Prayer List, Poster Map
and Card Deck. The agents block lists manifest.json, the public tables and list files, the two
PUBLIC pray.doxa.life endpoints the maps already call (no keyed endpoint), and the ?lang /
?provider / ?list / ?tk switches. check:public-hygiene clean.
2026-09-27 17:48:12 +00:00
Doxa Maps
f57435253c Cloud dev server recipe in the repo, with an optional OIDC sign-in
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
deployment/cloud/: a bootstrap Dockerfile (Bun, git, oauth2-proxy v7.15.3) that clones the repo
and runs deployment/cloud/entry.sh from it, so the recipe updates with git; the Vite overlay
(host, allowed hosts, HMR over wss); and the pull loop that follows the branch. With no OIDC env it
serves Vite directly (laptop default unchanged). With OIDC_ISSUER set, oauth2-proxy owns the port
and Vite listens on localhost behind it: Studio, maps and the HMR websocket all sit behind one
sign-in, with PKCE S256, a confidential client and a REQUIRED group allow-list (it refuses to
start without one). Secrets reach oauth2-proxy through its environment only. README gets a short
'Run it in the cloud' section linking the recipe.
2026-09-27 07:50:45 +00:00
Doxa Maps
cfb47334a4 README: the default engine is now auto — Mapbox when a token is available, MapLibre otherwise (c8fee416) 2026-09-26 07:07:27 +00:00
Doxa Maps
9a7c6304f7 README: what the library gives every map — two engines, a key or a key service, 11 languages, web components, maps that talk to each other, tree-shaken bundles, one build, three outputs
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
2026-09-25 23:39:36 +00:00
doxa-maps-88655c70
f67735bbb2 Languages: a host sets the language in profile-config
A page that embeds the Research Gallery or a single map sets its language with profile-config
{"locale":"ar"} ("lang" works too) and can switch it live. With profile-config only the map's
own box mirrors for Arabic; a ?lang=ar address mirrors the whole page. The example is the
gallery, <doxa-maps-spa profile-config='{"locale":"ar"}'>, which takes its locale from the
language prop or profile-config and hands it to every tab.
2026-09-25 21:07:10 +00:00
doxa-maps-88655c70
2509a6e347 README: three outputs, not five methods; a Languages section; screenshot gates see every shot again
Some checks are pending
Deploy to GitHub Pages / build (push) Waiting to run
Deploy to GitHub Pages / deploy (push) Blocked by required conditions
- Deployment is now organised around what the build makes: (1) one web
  folder (536 files, 76 MiB), embedded by iframe and JavaScript (proven) and
  WordPress (just for fun); (2) the mobile app (Capacitor, built); (3) the
  desktop app (Tauri, proof of concept). A hosting table says where the folder
  can go: dx-life's public/, Cloudflare Pages drag-and-drop (fits its 1,000-file
  / 25 MiB limits), GitHub + jsDelivr (JS embeds only: measured, jsDelivr serves
  HTML as text/plain), or any web server, with the one _headers line JS embeds
  need. No Docker. The diagram and the map-cruncher picture say three outputs.
- Languages: 11 locales via ?lang=, Arabic right to left, with an Arabic shot of
  UPG-100 (Big Picture still leaks English in Arabic; reported). The partner
  profile-config locale is deliberately not documented until it is fixed.
- check-shot-freshness and check-shot-distinctness parsed only '...' paths, so
  after 44ef31b2 turned them into `/${TREE_NAME}/...` templates they saw 2 of 26
  shots: distinctness failed, freshness passed vacuously and hid 22 stale shots.
  Both now accept either form and resolve TREE_NAME, and exit 75 (NOT MEASURED)
  unless every `await shot(` call is parsed (the one dynamic dx-life call is
  marked). Negative-tested. The 22 shots are retaken and checked by eye.
- how-to: the shell no longer overwrites the Studio (it now lives in the output
  folder); README serve line points at doxa-maps/index.html.
- Docs follow the rename to dx-maps (09014f8a): every output-folder path and URL in
  README, how-to, reference, CONTRIBUTING, the CLI section and the develop guide now says
  public/dx-maps/. The repo name, the config file name, the WordPress plugin folder and
  the doxa-* tag names are unchanged (tags are a separate landing).
- Hosting: a live example, the dx-life branch research-gallery, which drops the folder
  into dx-life public/ and fills /research with the Research Gallery.
2026-09-25 19:40:03 +00:00