The docs stop handing the next reader a 404
Last tick I fixed the one executable literal the tree rename broke, and wrote that the remaining mentions "will mislead the next reader but break nothing." That second half was wrong, and worth correcting rather than leaving. Six of them are RUNNABLE COMMANDS — usage lines, a --leaf example, two PROBE_PATH invocations, a BASE= export. Copy-pasting one aims a probe at a folder that no longer exists, and the failure is silent: a 404 loads as an empty document and every gate then reports whatever "nothing" looks like in its own vocabulary. That is exactly how I produced three confident fake findings in a single sitting last tick — a frame probe reporting "0 images, no wall" on two different leaves, and a basemap gate reporting "map never finished its style". A comment that names a path a reader will then USE is not inert documentation. So the six say <TREE_NAME> now, which is what the code reads and what _tree-name.mjs exists to make authoritative. WHAT IS DELIBERATELY LEFT ALONE, because rewriting it would falsify the record: 19 mentions are historical narrative — "public/doxa-maps was…", the census that motivated _tree-name.mjs, and check-catalog-identity's citation of https://nuxtbase.app/app/doxa-maps/manifest.json returning a 200 sign-in page. That URL is EVIDENCE of a past false-200, not an instruction; its code already reads TREE_NAME. Live literals across internal/ are now zero, except public-hygiene's doxa-life/doxa-maps, which is the private REPO name and correctly unrelated to the tree.
This commit is contained in:
parent
f978b2e579
commit
40d5d8e6bf
5 changed files with 8 additions and 8 deletions
|
|
@ -11,7 +11,7 @@
|
|||
*
|
||||
* "Answers 200" and "is serving this checkout" are different questions. This asks the second.
|
||||
*
|
||||
* THE FINGERPRINT is public/doxa-maps/manifest.json, which generate-tree rewrites on every
|
||||
* THE FINGERPRINT is public/<TREE_NAME>/manifest.json, which generate-tree rewrites on every
|
||||
* build and which names every bundle and profile in the tree. If the bytes served differ
|
||||
* from the bytes on disk, it is a different build — a different worktree, or a stale server
|
||||
* someone forgot to restart, both of which produce the same lie.
|
||||
|
|
@ -27,7 +27,7 @@ import { TREE_NAME, TREE_NAME_RE } from './_tree-name.mjs'
|
|||
const MANIFEST = `${TREE_NAME}/manifest.json`
|
||||
|
||||
/**
|
||||
* @param {string} base e.g. http://127.0.0.1:4173 (a trailing /doxa-maps/ is tolerated)
|
||||
* @param {string} base e.g. http://127.0.0.1:4173 (a trailing /<TREE_NAME>/ is tolerated)
|
||||
* @param {string} repo absolute path to the repo root
|
||||
* @param {{assets?: string[]}} [opts] data files this gate JUDGES (tree-relative, e.g.
|
||||
* 'assets/tables/doxa-gospel-access.json'); their served bytes must equal disk too
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
* { key:'map', element:'doxa-research-map', src:'../../doxa-research-map/doxa-research-map.js' }
|
||||
*
|
||||
* That `src` is resolved BY THE BROWSER, relative to the composite's generated leaf page, which is
|
||||
* served two levels deep (doxa-maps/<bundle>/<profile>/index.html). So a sibling bundle is reached
|
||||
* served two levels deep (<TREE_NAME>/<bundle>/<profile>/index.html). So a sibling bundle is reached
|
||||
* with `../../<bundle>/<bundle>.js`. Get the depth wrong by one and you get a 404.
|
||||
*
|
||||
* ★ THE FAILURE IS SILENT, WHICH IS WHY IT NEEDS A GATE. StackLayout mounts each section inside a
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
* USAGE
|
||||
* node internal/check-facet-changes-map.mjs # against BASE_URL (default dev 5173)
|
||||
* node internal/check-facet-changes-map.mjs --self-test # NEGATIVE test: the gate must FAIL
|
||||
* BASE_URL=http://127.0.0.1:4173 PROBE_PATH=/doxa-maps/... node internal/check-facet-changes-map.mjs
|
||||
* BASE_URL=http://127.0.0.1:4173 PROBE_PATH=/<TREE_NAME>/... node internal/check-facet-changes-map.mjs
|
||||
*/
|
||||
import { chromium } from 'playwright'
|
||||
|
||||
|
|
@ -63,7 +63,7 @@ import { chromium } from 'playwright'
|
|||
//
|
||||
// SO: when you need a trustworthy answer rather than a quick one, run it against the BUILT tree:
|
||||
// BASE_URL=http://127.0.0.1:4173 \
|
||||
// PROBE_PATH=/doxa-maps/research-dashboard/research-dashboard/index.html \
|
||||
// PROBE_PATH=/<TREE_NAME>/research-dashboard/research-dashboard/index.html \
|
||||
// node internal/check-facet-changes-map.mjs
|
||||
// The built tree can be stale — that is the trade — but it is DETERMINISTIC, which is what a gate
|
||||
// needs. The dev default is kept because it is right for hand-running against uncommitted source.
|
||||
|
|
@ -76,7 +76,7 @@ const PATH_ = process.env.PROBE_PATH || '/'
|
|||
// run on one machine and a default port belongs to whichever started first — measured
|
||||
// 2026-09-24 on :4173. This gate reports on how a map's source data changes when a facet is
|
||||
// picked, so a run against another tree describes somebody else's data flow. The fingerprint
|
||||
// is public/doxa-maps/manifest.json; a dev server serves it straight off disk, so this stays
|
||||
// is public/<TREE_NAME>/manifest.json; a dev server serves it straight off disk, so this stays
|
||||
// quiet in the normal `bun run dev` case and only speaks when the bytes really differ.
|
||||
{
|
||||
const { servesThisTree } = await import('./_serves-this-tree.mjs')
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ const POISON = process.argv.includes('--poison')
|
|||
// (cities-internet, key-cities, upg-100-list, RegionCountryMap) — copying it would give each of
|
||||
// them their own drifting copy of the pan-first logic and the poison arm, which are the two parts
|
||||
// that took corrections to get right. The leaf is the only thing that differs.
|
||||
// node internal/check-gospel-rtl-shaping.mjs [--poison] [--leaf doxa-maps/<bundle>/<profile>/index.html]
|
||||
// node internal/check-gospel-rtl-shaping.mjs [--poison] [--leaf <TREE_NAME>/<bundle>/<profile>/index.html]
|
||||
const leafArg = process.argv.indexOf('--leaf')
|
||||
const LEAF = (leafArg > -1 && process.argv[leafArg + 1])
|
||||
|| process.env.RTL_SHAPE_LEAF
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
*
|
||||
* USAGE
|
||||
* bun run verify:5-caps # against the live catalog
|
||||
* BASE=http://127.0.0.1:8080/doxa-maps/ node internal/verify-5-capabilities.mjs # a local serve
|
||||
* BASE=http://127.0.0.1:8080/<TREE_NAME>/ node internal/verify-5-capabilities.mjs # a local serve
|
||||
* Exits non-zero if any level fails, so it can gate a release.
|
||||
*/
|
||||
import { chromium } from 'playwright'
|
||||
|
|
|
|||
Loading…
Reference in a new issue