diff --git a/plugin-designs/gospel-internet/board.vue b/plugin-designs/gospel-internet/board.vue
index fa67bff25..dd96633be 100644
--- a/plugin-designs/gospel-internet/board.vue
+++ b/plugin-designs/gospel-internet/board.vue
@@ -188,7 +188,7 @@ useShadowStyles(
'grid-template-columns:var(--facet-w,264px) minmax(0,1fr) var(--rail-w,360px);' +
'grid-template-rows:auto auto auto minmax(0,1fr) var(--table-h,38%);' +
// The charts rail runs the full height beside the map AND the table: sized to the map row alone it was
- // ~300px and clipped its four charts (rega: the charts did not look good).
+ // ~300px and clipped its four charts.
'grid-template-areas:"top top top" "combos combos combos" "note note note" "facets map rail" "facets grid rail";' +
'font:13px/1.35 Roboto,-apple-system,"Segoe UI",sans-serif;overflow:hidden}' +
'.gb-top{grid-area:top;display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:10px 14px;background:#fff;border-bottom:1px solid #d1d4cd}' +
diff --git a/plugin-designs/gospel-internet/scripts/build-gospel-internet.mjs b/plugin-designs/gospel-internet/scripts/build-gospel-internet.mjs
index 274fe10e3..24f9a63fb 100644
--- a/plugin-designs/gospel-internet/scripts/build-gospel-internet.mjs
+++ b/plugin-designs/gospel-internet/scripts/build-gospel-internet.mjs
@@ -9,7 +9,7 @@
* data/tables/doxa-people-groups.json (gospel-plugin) slug, lat/lng, pray link
* data/tables/country-connectivity.json (World Bank) internet %, year, mobile per 100
* data/tables/internet-by-country.json (cities-internet) top platform
- * data/tables/internet-by-adm1.json (exp-shepherd) India by state, NFHS-5
+ * data/tables/internet-by-adm1.json (cities-internet) India by state, NFHS-5
* data/tables/messaging-channels.json (cities-internet) top free apps per country (Apple, iOS only)
* data/tables/social-platforms.json (cities-internet) social referral share per country (StatCounter)
* data/tables/gospel-by-province-groups.json (gospel-plugin) each IND/CHN group's province (approximate)
diff --git a/plugin-designs/gospel-internet/scripts/check-gospel-internet-render.mjs b/plugin-designs/gospel-internet/scripts/check-gospel-internet-render.mjs
index d2dd3ae40..1dc993f94 100644
--- a/plugin-designs/gospel-internet/scripts/check-gospel-internet-render.mjs
+++ b/plugin-designs/gospel-internet/scripts/check-gospel-internet-render.mjs
@@ -7,7 +7,7 @@
* This one server-renders them (Vue's renderer, through vite's module loader, no browser, no WebGL):
* every panel's setup, computeds and template run against the real table, tree and resources, and the
* HTML is asserted on CONTENT the panel must show, never on the panel's own count of itself.
- * onMounted does not run under SSR, so map layers are not covered here; that is the browser's (rega's).
+ * onMounted does not run under SSR, so map layers are not covered here; that is the browser check's job.
*
* `--poison` blanks the rows handed to the panels and requires the content assertions to FAIL.
* Exit 0 pass · 1 fail · 75 not measured (vite could not load the modules).
diff --git a/plugin-designs/gospel-internet/scripts/fetch-translation-readiness.mjs b/plugin-designs/gospel-internet/scripts/fetch-translation-readiness.mjs
index 77e0f3ed2..d210abd17 100644
--- a/plugin-designs/gospel-internet/scripts/fetch-translation-readiness.mjs
+++ b/plugin-designs/gospel-internet/scripts/fetch-translation-readiness.mjs
@@ -13,7 +13,7 @@
* (Partial Scripture comes from eBible's index, already in data/tables, and is read by the builder.)
*
* Codes are mapped EXPLICITLY and every code that cannot be mapped is COUNTED and listed, never dropped
- * silently (dx-shepherd's guard 3).
+ * silently.
* Writes data/translation-readiness/snapshot.json. Refuses a much smaller snapshot than the last one.
*/
import { readFileSync, writeFileSync, mkdirSync, existsSync } from 'node:fs'
diff --git a/plugin-designs/gospel-internet/src/components/GiBoundedSetMap.vue b/plugin-designs/gospel-internet/src/components/GiBoundedSetMap.vue
index 72af5e0ba..12457113c 100644
--- a/plugin-designs/gospel-internet/src/components/GiBoundedSetMap.vue
+++ b/plugin-designs/gospel-internet/src/components/GiBoundedSetMap.vue
@@ -44,7 +44,7 @@ const R = 120, SPREAD = 260
// ★ 0.095, NOT THE 0.17 DEFAULT — the same clamp as the centered chart, and the same number so the
// two sets read at one scale. renderWorldCopies:false stops the engine zooming out past
// log2(canvasWidth/512), so a wide, short figure cannot fit its height at 0.17 and the outermost
-// groups fall outside the frame (rega, 1440: 54 outside in ar and 97 in en — the width, not RTL).
+// groups fall outside the frame (measured at 1440: 54 outside in ar and 97 in en — the width, not RTL).
// Kept EQUAL to GiCenteredSetMap's on purpose: a reader switching tabs compares two drawings, and a
// different footprint per tab would make the same population look like a different size.
const EXTENT_FRACTION = 0.095
diff --git a/plugin-designs/gospel-internet/src/components/GiCenteredSet.vue b/plugin-designs/gospel-internet/src/components/GiCenteredSet.vue
index 6dacd7a40..1516589b7 100644
--- a/plugin-designs/gospel-internet/src/components/GiCenteredSet.vue
+++ b/plugin-designs/gospel-internet/src/components/GiCenteredSet.vue
@@ -134,7 +134,7 @@ const fmt = (n) => formatCount(Number(n) || 0)
useShadowStyles(
// ROW, NOT COLUMN, and overflow hidden. Stacked in a centred column the legend — a 360px card
// with a 3x3 grid of 44px cells and four footer lines — is taller than the pane on its own, so
- // the chart was pushed out of view entirely and the whole panel overflowed its host: rega saw
+ // the chart was pushed out of view entirely and the whole panel overflowed its host: it showed
// the legend covering the row below and the caption drawn over the page tabs.
// Every child gets min-height/min-width 0, because a flex item's default minimum is its CONTENT
// size — without it an item never shrinks below its natural height and the container overflows
@@ -148,10 +148,10 @@ useShadowStyles(
// had this; the centered one did not, which is the kind of difference two files drift into
// when the same rule is written twice.
// min-height in the narrow column: a flex child with auto content can resolve to zero height,
- // which is what a 0x0 chart is. rega measured exactly that at 390px.
+ // which is what a 0x0 chart is, as measured at 390px.
// flex-basis 0, not auto. The map inside is position:absolute, so the figure has NO intrinsic
// width to be sized from — with basis auto it asks for its content, the content is nothing, and
- // the legend beside it takes the column. rega measured the figure at 39px across while the
+ // the legend beside it takes the column. The figure measured 39px across while the
// decoder card had the rest. Growing from zero makes the figure take the remaining space
// whatever it happens to contain.
// min-width is a FLOOR, not 0. The shipped CSS was right and the figure was still 39px wide:
diff --git a/plugin-designs/gospel-internet/src/components/GiCenteredSetMap.vue b/plugin-designs/gospel-internet/src/components/GiCenteredSetMap.vue
index 813fa0faa..b0618c9ce 100644
--- a/plugin-designs/gospel-internet/src/components/GiCenteredSetMap.vue
+++ b/plugin-designs/gospel-internet/src/components/GiCenteredSetMap.vue
@@ -52,7 +52,7 @@ const EXTENT = 30 + (RING_MAX - 1) * 22 // 228 — the ring the outermo
// ★ 0.095, NOT THE 0.17 DEFAULT. With renderWorldCopies:false the engine will not zoom out past the
// point where ONE WORLD fills the canvas WIDTH, so the minimum zoom is log2(canvasWidth/512) and a
// wide, short figure is clamped too close to fit its own height. minZoom is irrelevant; the width
-// constraint wins. rega measured the symptom at 1440 — 54 groups outside the frame in ar, 97 in en,
+// constraint wins. The symptom measured at 1440 — 54 groups outside the frame in ar, 97 in en,
// so it was never RTL-specific. At 0.17 the drawing spans 0.34 of the Mercator square and needs
// 271px of vertical room where the canvas offers 249; at 0.095 it spans 0.17 and needs 151px
// against 169 available at padding 40. Checked by check:gospel-set-fit.
diff --git a/plugin-designs/gospel-internet/src/components/GiCharts.vue b/plugin-designs/gospel-internet/src/components/GiCharts.vue
index 8930b86fd..878a9e585 100644
--- a/plugin-designs/gospel-internet/src/components/GiCharts.vue
+++ b/plugin-designs/gospel-internet/src/components/GiCharts.vue
@@ -85,7 +85,7 @@ function onBar(row) {
useShadowStyles(
'.gic{display:flex;flex-direction:column;gap:4px;height:100%;overflow-y:auto;box-sizing:border-box;padding:10px 12px 16px;background:#fff;color:#3b463d;font:13px/1.35 Roboto,-apple-system,"Segoe UI",sans-serif;scrollbar-width:thin}' +
// A flex column's children SHRINK by default: inside this scroll box they were squeezed instead of
- // scrolled, so the measure toggle collapsed to a 2px line and a caveat card was cut in half (rega).
+ // scrolled, so the measure toggle collapsed to a 2px line and a caveat card was cut in half.
'.gic > *{flex-shrink:0}' +
'.gic-seg{align-self:flex-start;display:inline-flex;border:1px solid #d1d4cd;border-radius:6px;overflow:hidden;margin-bottom:4px}' +
'.gic-seg button{font:inherit;font-size:12px;padding:4px 12px;min-height:26px;border:0;background:#fff;color:#3b463d;cursor:pointer}' +
diff --git a/plugin-designs/gospel-internet/src/components/GiCombos.vue b/plugin-designs/gospel-internet/src/components/GiCombos.vue
index 69b8fc8b0..4abcb6cde 100644
--- a/plugin-designs/gospel-internet/src/components/GiCombos.vue
+++ b/plugin-designs/gospel-internet/src/components/GiCombos.vue
@@ -116,7 +116,7 @@ useShadowStyles(
'.gic2{grid-area:combos;display:flex;align-items:center;gap:10px;padding:6px 14px;background:#fff;border-bottom:1px solid #d1d4cd;' +
'min-width:0;font:12.5px/1.3 Roboto,-apple-system,"Segoe UI",sans-serif;color:#3b463d}' +
'.gic2-h{flex:none;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#6d766e}' +
- // The selection side is BOUNDED at 40% (rega r82: the placeholder ran under "Try a combination"), but only
+ // The selection side is BOUNDED at 40% (the placeholder ran under "Try a combination"), but only
// its chips and placeholder clip: they scroll or ellipsize. No overflow here and no min-width:0, so the
// flex:none label sets the minimum width and is never cut ('YOUR S…' at 390, the zh/ru/hi/ar labels at 1280).
'.gic2-sel{display:flex;align-items:center;gap:6px;flex:0 1 auto;max-width:40%}' +
diff --git a/plugin-designs/gospel-internet/src/components/GiGrid.vue b/plugin-designs/gospel-internet/src/components/GiGrid.vue
index 59bedc834..bbfbea2e3 100644
--- a/plugin-designs/gospel-internet/src/components/GiGrid.vue
+++ b/plugin-designs/gospel-internet/src/components/GiGrid.vue
@@ -215,7 +215,7 @@ useShadowStyles(
@click="board.openGroup(r.slug)" @keydown="onRowKey($event, r)"
@mouseenter="bus.setHover(r.slug)" @mouseleave="bus.setHover(null)">