This folder stores deliberate homepage snapshots before further public-facing edits are made.
Before creating a new homepage version, measure and record:
Do this before editing so the homepage can be reversed, compared and rebuilt without losing navigation, links or working JavaScript.
Every new current product version must also be labelled clearly on the live homepage, and the version it supersedes must remain there as an explicitly labelled older-version link. A numbered homepage snapshot is a restore point; it does not replace the reader-visible older-version row.
The Grid Atlas catalogue is oldest-first and append-only. Preserve every
existing version/generation identity, source commit, checked-at time and
recorded evidence. The only permitted retained-row mutation is a deterministic
stale-current archival: when a proven successor is appended, its predecessor
moves from LIVE on the mutable current route to ARCHIVED on its own
immutable composition manifest. Any inherited v9.x predecessor accidentally
left claiming Live Current receives that same delayed repair. Its version,
generation, source commit, evidence class, checked-at time and browser-proof
text do not change, and no other retained row may change. This prevents the
mutable current route from masquerading as an older runnable version. A missing
generation stays labelled MISSING; never manufacture a link or reuse another
product’s similarly numbered release. Do not add a successor until its exact
promoted GridAtlas main SHA is known.
Use this format:
homepage_v001.html
homepage_v002.html
homepage_v003.html
Never overwrite an old version. Create the next numbered file.
A manual GitHub Actions workflow now exists:
.github/workflows/homepage-restore-point-check.yml
Run it before public homepage edits. It checks that the homepage files exist, measures the current public homepage files, records SHA-256 values and uploads an artifact called:
homepage-restore-point-report
The workflow does not change the website. It is a measurement and restore-point confidence check only.
Version: homepage_v001.html
Source: live index.html after commit 95408ac795441543fefc46eb1307cdc178cce0f4
Purpose: preserve the current homepage before removing internal-facing language from the public front end.
Measured by: ChatGPT working session
Metrics for homepage_v001.html:
Line count: 318 Word count: 1421 Character count: 13818
Folder file count after this setup:
2 files
README.mdhomepage_v001.htmlPublic homepage language should explain the mission, people and contribution route.
Internal architecture language such as boot screen, BIOS, kernel, audit layer and evidence layer belongs in GitHub documentation unless it is intentionally explained for a technical audience.
Do not assume contributors are engineers or coders.
GlobalGrid2050 is for project developers, CEOs, entrepreneurs, commercial managers, sales engineers, chartered accountants, lawyers, planners, investors, engineers, manufacturers, students, retired professionals and anyone willing to document useful knowledge.
You do not need to code to start developing.
Start with writing.
Version: homepage_v002.html
Source: live index.html at commit febf6b08802f4fdbc913efc693a8a1ca29868359
Purpose: restore point taken before adding the 202608311645 Pipeline News release
and demoting 202608311610 into the superseded list beneath it.
Measured by: Claude Code working session
Metrics for homepage_v002.html:
Line count: 186 Word count: 1614 Character count: 19813 SHA-256 (first 16): e3bbe4e5e6ccbdec
Change intention in plain English:
Add one new current entry for the Pipeline News release that puts TOWN and
POSTCODE columns in the project table and makes CAPACITY, COUNTY, TOWN and
POSTCODE sortable by clicking their headings. Move the previous current entry,
202608311610, to the top of the superseded list nested beneath it. Nothing
else on the page changes: every other name: and note: string, the Grid Atlas
V8 sentinel and the GRIDATLAS_V9_AUTOMATION markers stay byte-identical.
Folder file count after this snapshot:
4 files
README.mdhomepage_v001.htmlhomepage_v002.html202608291526-globalgrid2050Version: homepage_v003.html
Source: live index.html at commit 5fe50782adc57e4d81e2ddc10a9bd30028627c8f
Purpose: restore point taken before adding the 202608311731 Pipeline News release
and demoting 202608311645 into the superseded list beneath it.
Measured by: Claude Code working session
Metrics for homepage_v003.html:
Line count: 187 Word count: 1661 Character count: 20190 SHA-256 (first 16): dd3c03b7a5863985
Change intention in plain English:
Add one new current entry for the Pipeline News release that narrows the TOWN
column, restores a reachable horizontal scrollbar under the table, and extends
the one search bar to cover town, postcode and planning authority alongside the
project, operator, county and reference fields it already searched. Move the
previous current entry, 202608311645, to the top of the superseded list nested
beneath it. Nothing else on the page changes: every other name: and note:
string, the Grid Atlas V8 sentinel and the GRIDATLAS_V9_AUTOMATION markers stay
byte-identical.
Folder file count after this snapshot:
5 files
README.mdhomepage_v001.htmlhomepage_v002.htmlhomepage_v003.html202608291526-globalgrid2050Version: homepage_v004.html
Source: live index.html at commit 0f1b96fa0e0f5bc9d5b30b0e5a5ba5e1e4b4dbb0
Purpose: restore point taken before adding the 202608311800 Pipeline News release
and demoting 202608311731 into the superseded list beneath it.
Measured by: Claude Code working session
Metrics for homepage_v004.html:
Line count: 188 Word count: 1711 Character count: 20584 SHA-256 (first 16): 280b57bfae871c13
Change intention in plain English:
Add one new current entry for the Pipeline News release that puts a GRID column
in the project table: the straight-line distance from each project to the
nearest mapped grid circuit, sortable nearest-first and marked BETA. Move the
previous current entry, 202608311731, to the top of the superseded list
nested beneath it. Nothing else on the page changes: every other name: and
note: string, the Grid Atlas V8 sentinel and the GRIDATLAS_V9_AUTOMATION
markers stay byte-identical.
Folder file count after this snapshot:
7 files
README.mdhomepage_v001.htmlhomepage_v002.htmlhomepage_v003.htmlhomepage_v004.html202608291526-globalgrid2050Version: homepage_v005.html
Source: live index.html at commit 58d91d44db639afba7a96434af56475443a9f2c0
Purpose: restore point taken before adding the 202608311816 Pipeline News release
and demoting 202608311800 into the superseded list beneath it.
Measured by: Claude Code working session
Metrics for homepage_v005.html:
Line count: 189 Word count: 1801 Character count: 21265 SHA-256 (first 16): 28f5c67a88bd6608
Change intention in plain English:
Add one new current entry for the Pipeline News release that puts a PROJECT SIZE
range filter above the technology buttons, so the register can be narrowed to a
band of megawatts such as 30 to 40 MW. Move the previous current entry,
202608311800, to the top of the superseded list nested beneath it. Nothing
else on the page changes: every other name: and note: string, the Grid
Atlas V8 sentinel and the GRIDATLAS_V9_AUTOMATION markers stay byte-identical.
Folder file count after this snapshot:
8 files
Version: homepage_v006.html
Source: live index.html at commit ffc356b8f3d224bf6cd4dc2a10808e533560b677
Purpose: restore point taken before adding the 202608311858 Pipeline News release
and demoting 202608311816 into the superseded list beneath it.
Measured by: Claude Code working session
Metrics for homepage_v006.html:
Line count: 190 Word count: 1886 Character count: 21833 SHA-256 (first 16): bcede5bdc9de01e9
Change intention in plain English:
Add one new current entry for the Pipeline News release that moves the grid
distance out of its own table column and into the ACTIONS column beside the MAP
link, where it can be seen without scrolling the table sideways, and adds a
second distance beside it: how far the project is from the nearest substation at
33 kV or above. Move the previous current entry, 202608311816, to the top of
the superseded list nested beneath it. Nothing else on the page changes: every
other name: and note: string, the Grid Atlas V8 sentinel and the
GRIDATLAS_V9_AUTOMATION markers stay byte-identical.
Folder file count after this snapshot:
9 files
Version: homepage_v007.html
Source: live index.html at commit 34c0b6895031ed4f2c1b1bec47f37582080cedb2
Purpose: restore point taken before adding the 202608312037 Pipeline News release
and demoting 202608311858 into the superseded list beneath it.
Measured by: Claude Code working session
Metrics for homepage_v007.html:
Line count: 191 Word count: 2015 Character count: 22635 SHA-256 (first 16): 3fe09e2274b8719d
Change intention in plain English:
Add one new current entry for the Pipeline News release whose MAP button finally
opens the Grid Atlas that carries the grid maths, instead of the older atlas that
does not. Move the previous current entry, 202608311858, to the top of the
superseded list nested beneath it. Nothing else on the page changes: every other
name: and note: string, the Grid Atlas V8 sentinel and the
GRIDATLAS_V9_AUTOMATION markers stay byte-identical.
Folder file count after this snapshot:
10 files
Version: homepage_v008.html
Source: live index.html at commit bdbd88dcefed48a0df54d80cad167463ef0ca232
Purpose: restore point taken before adding the 202608312056 Pipeline News release
and demoting 202608312037 into the superseded list beneath it.
Measured by: Claude Code working session
Metrics for homepage_v008.html:
Line count: 192 Word count: 2113 Character count: 23261 SHA-256 (first 16): cf4bea662025f9ed
Change intention in plain English:
Add one new current entry for the Pipeline News release that removes the
headlines the register does not bind to a project. 89 of 136 stories were
classified as having no project signal and were being shown anyway, each
captioned with a project it was not about. Move the previous current entry,
202608312037, to the top of the superseded list nested beneath it. Nothing
else on the page changes.
Folder file count after this snapshot:
11 files
Version: homepage_v009.html
Source: live index.html at commit a9777cc19c69823d9964c60cb0d21f44f63d6e3f
Purpose: restore point taken before adding the 202608312109 Pipeline News release.
Measured by: Claude Code working session
SHA-256 (first 16): 5c3012f11eb08907
Change intention in plain English:
Add one new current entry for the Pipeline News release that removes the headlines and sector topics that were not about the sector, and stops captioning an unbound story with a project it is not about.
homepage_v010.html and homepage_v011.html exist in this folder with no
entry above. Reading them back: homepage_v011.html carries 202608312114 as
the current Pipeline News entry, so it is the restore point taken before adding
202608312145; homepage_v010.html carries 202608312212, so it is the
restore point taken before adding 202608312339. They are numbered out of
chronological order because the ritual’s own record was skipped, not because the
snapshots are wrong. Recorded here rather than renumbered: nothing in this
folder is ever overwritten, and a late entry is honest where a renumber would
destroy two restore points to tidy an index.
Version: homepage_v012.html
Source: live index.html at commit 34ba41db9dd0738b586bbf58a6245cb102f9c4cc
Purpose: restore point taken before naming the two Pipeline News releases that
were published to this host and reachable from nothing, and before correcting
the Grid Atlas row.
Measured by: Claude Code working session
Metrics for homepage_v012.html:
Line count: 200 Word count: 2950 Character count: 27769 SHA-256 (first 16): 1173ddc0d58477d4
Change intention in plain English:
202609012326 and 202609020025 were both copied into
pipelinenews_intelligence/, deployed, and served with HTTP 200. Neither was
named anywhere on this page, so the newest Pipeline News version a reader could
reach was 202608312339 — three versions behind. The publishing runner does not
edit this page by design, and nothing else was checking, so the gap was silent.
This edit does four things:
202609020025 the current Pipeline News entry.202609012326 to the top of the superseded list beneath it, and demotes
202608312339 under that, with its NEW badge removed and its supersession
named.202608312244 in its correct place in that chain. It is the parent of
202608312339 and the one step in the current lineage that was built but
never mirrored to this host; its directory is published in the same commit.GRIDATLAS_V9_AUTOMATION markers,
which claimed v9.5 / 202608301624 was the current verified release while
the live composition was v9.77 / 202609020018. The markers, the URL and the
V8 sentinel are unchanged; only the name, note and data_gridatlas_release
move.Nothing else on the page changes: every other name: and note: string, the
Grid Atlas V8 sentinel and the GRIDATLAS_V9_AUTOMATION markers stay
byte-identical.
scripts/verify_published_versions.py is added in the same commit so this
cannot drift silently again. It was verified to fire on the unfixed page before
being trusted: against homepage_v012.html it reports all three findings and
exits 1.
Folder file count after this snapshot:
14 files
Version: homepage_v013.html
Source: live index.html at commit 1b2b4b3
Purpose: restore point taken before naming the 202609020552 Pipeline News
release, the first cut made after the reachability checker existed.
Measured by: Claude Code working session
Metrics for homepage_v013.html:
Line count: 203 Word count: 3262 Character count: 29822 SHA-256 (first 16): fe9d97445f32b4d9
Change intention in plain English:
Add one new current entry for the Pipeline News release whose strip says a
rating quoted without its season flatters the network, and that the Atlas never
sums ratings. Move the previous current entry, 202609020025, to the top of the
superseded list nested beneath it, with its NEW badge removed and its
supersession named. Nothing else on the page changes.
This is the first naming done after scripts/verify_published_versions.py
existed, and the checker found the gap on its own: run against the deployed page
before this edit it reported 202609020552 as published and reachable from
nothing, and that the page was presenting 202609020025 first while a newer
snapshot was being served. After this edit it reports 21 published snapshots,
all reachable, newest first.
Folder file count after this snapshot:
15 files
Version: homepage_v014.html
Source: live index.html at commit 1bbb0b2
Purpose: restore point taken before naming the 202609020611 Pipeline News
release, the last of the queued overnight steps.
Measured by: Claude Code working session
Metrics for homepage_v014.html:
Line count: 204 Word count: 3374 Character count: 30519 SHA-256 (first 16): 93e3a749e7f5be9f
Change intention in plain English:
Add one new current entry for the Pipeline News release whose connections panel
says a kilometre is not a connection and points at the measurement that is: the
panel still reports straight-line kilometres, which is what it measures, while
MAP now reports the count of published circuits, which is what decides whether
two sites are connected at all. Move 202609020552 to the top of the superseded
list beneath it, with its NEW badge removed and its supersession named.
Nothing else on the page changes.
The checker found this gap on its own too, as it did for 202609020552: the
release published itself here and the page linked to nothing.
Folder file count after this snapshot:
16 files
Version: homepage_v015.html
Source: live index.html at commit 77e4eeaff7e2a383cb764390cbbe2aa7801493fe
Purpose: restore point taken before adding one About & Media entry for the
estate build scan published at estate_scan/202609021858/.
Measured by: Claude Code working session
Metrics for homepage_v015.html:
Line count: 204 Word count: 3305 Character count: 31486 SHA-256 (first 16): 2fbc82d968b4293a
Change intention in plain English:
Add one new entry to the About & Media area, pointing at a self-hosted page that reports the measured build state of the fifteen repositories behind the estate: commits on main, CI/CD outcomes, every workflow whose most recent run failed, and a fixed-width baseline index so a later scan can be diffed against this one. The page is self-hosted rather than linked, because the working copy of it sits behind a private URL the public site cannot reach.
Nothing else on the page changes. The Grid Atlas Overlay V8 catalogue sentinel,
its route, and the GRIDATLAS_V9_AUTOMATION markers are untouched, and all 113
pre-existing name: strings and 65 note: strings stay byte-identical — the
edit is one inserted line, verified by diff.
Folder file count after this snapshot:
17 files
Version: homepage_v016.html
Source: live index.html at commit 9f1a7b96
Purpose: restore point taken before removing the note from the
Estate Build Scan — 202609021858 entry.
Measured by: Claude Code working session
Metrics for homepage_v016.html:
Line count: 205 Word count: 3385 Character count: 32030 SHA-256 (first 16): aaf3cc1c1267e205
Change intention in plain English:
Vikram asked for the note to come off the estate build scan entry. The row keeps
its name and its route and loses its description, so it reads as a plain link
like Blog and Podcast Transcripts beside it. The figures the note carried —
the failing workflow count and the undeployed commit count — are still stated on
the page the row points at, which is where they belong.
Nothing else on the page changes.
Folder file count after this snapshot:
18 files
Version: homepage_v017.html
Source: live index.html at commit 4ab57063
Purpose: restore point taken before renaming the estate build scan row to Log
and repointing it at generation 202609021924.
Measured by: Claude Code working session
Metrics for homepage_v017.html:
Line count: 205 Word count: 3312 Character count: 31572 SHA-256 (first 16): 7b19e3d8b1ad1c7a
Change intention in plain English:
Vikram asked for two things: the row renamed from Estate Build Scan to Log,
and his username taken off the terminal prompt at the top of the page it points
at. The username is inside published bytes at estate_scan/202609021858/, and
published bytes are not edited in place here, so 202609021924 is a new
generation carrying the correction. The row now names that generation. The
superseded folder stays on disk, unlisted, as the record of what was served.
Nothing else on the page changes.
Folder file count after this snapshot:
19 files
Version: homepage_v018.html
Source: live index.html at commit 9c36d53c
Purpose: restore point taken before repointing the Log row at generation
202609021937.
Measured by: Claude Code working session
Metrics for homepage_v018.html:
Line count: 205 Word count: 3310 Character count: 31558 SHA-256 (first 16): 0f6204a6192b55f0
Change intention in plain English:
The Log row moves from 202609021924 to 202609021937. The page it points at
is rebuilt as a vertical scan log rather than a set of tables: the terminal
prompt line and the source strip are gone, the probe section is gone, and the
per-repository statistics are widened to include tree size, file-type
distribution, largest tracked objects, commit interval, hour and weekday
distribution, per-workflow run durations, branch counts with distance from the
default branch, and a live HTTP probe of every published site.
Nothing else on the page changes.
Folder file count after this snapshot:
20 files
Version: homepage_v019.html
Source: live index.html at commit 685ce845
Purpose: restore point taken before repointing the Log row at generation
202609021952.
Measured by: Claude Code working session
Metrics for homepage_v019.html:
Line count: 205 Word count: 3310 Character count: 31558 SHA-256 (first 16): 7804abb1b3930772
Change intention in plain English:
Four corrections to the page the Log row points at.
The spaced banner is removed. The reveal no longer drags the viewport downward as lines arrive; the text fills from the top while the reader stays where they are.
Every name is gone. Repositories are ordinals, authors are ordinals, branches and workflows are ordinals, object paths are sizes only, published URLs are statuses only, and the head commit subject and SHA are dropped — a SHA is a lookup key back to a repository, not a statistic. This is enforced in the payload, not only in the rendering: the embedded JSON was rebuilt from a whitelist, so nothing identifying survives View Source either. The page fell from 95,700 to 48,933 bytes as a result.
Lines of code are counted for the first time, across all fifteen repositories, split into text and code-ish totals with a per-language breakdown.
Nothing else on the homepage changes.
Folder file count after this snapshot:
21 files
Version: homepage_v020.html
Source: live index.html at commit 864b92ea
Purpose: restore point taken before linking the three published Pipeline News
releases that had no row on the homepage.
Measured by: Claude Code working session
Metrics for homepage_v020.html:
Line count: 205 Word count: 3310 Character count: 31558 SHA-256 (first 16): fc08fc922d23650b
Change intention in plain English:
Three releases were published to the repository and were serving live, but
nothing on the homepage pointed at them: 202609021945, 202609022308 and
202609030009. A reader arriving at the directory had no route to any of them
and the current row still named 202609020611.
202609030009 becomes the current entry and the other two are folded beneath
it, followed by the previous current entry which keeps its own nested list. The
convention is unchanged: one current Pipeline News row, superseded builds under
it.
Nothing else changes. Every pre-existing name: and note: string is
byte-identical, verified by diff — the previous current entry is moved intact
and re-indented, not rewritten. The Grid Atlas Overlay V8 sentinel, its route,
and the GRIDATLAS_V9_AUTOMATION markers are untouched.
Folder file count after this snapshot:
22 files
Version: homepage_v021.html
Source: live index.html at commit 87e6da86
Purpose: restore point taken before naming Grid Atlas v9.86 as the current
verified release. The homepage had named v9.77 while nine further versions shipped.
Measured by: Claude Code working session
Metrics for homepage_v021.html:
Line count: 209 Word count: 3531 Character count: 33206 SHA-256 (first 16): f55d2d764c67a99d
Change intention in plain English:
The catalogue row inside the GRIDATLAS_V9_AUTOMATION markers named
202609020018-gridatlas-v9.77. The live composition at
/gridatlas/atlas/ served generation 202609030200, v9.86 — nine versions
further on. globalgrid2050’s own publication-truth gate was reporting the gap
as a FAIL, correctly.
scripts/catalogue_gridatlas_v9.py cannot make this change. Its
compile_root() requires that when the catalogue URL is already present, the
whole entry line matches byte for byte; the current-composition row has a stable
URL, so a generation refresh fails by construction rather than updating. The
compiler exists to insert a row per immutable release, not to move a pointer
row. So this is a governed hand edit, and its invariants are asserted the way
the compiler asserts them: V8 sentinel once, V8 route once, catalogue route
once, both automation markers intact.
One name and one note change. Every other name: and note: string in the
file is byte-identical, verified by diff, and the row’s URL is preserved
unchanged.
Folder file count after this snapshot:
23 files
Version: homepage_v022.html
Source: live index.html at commit fafa4d2d
Purpose: restore point taken before repairing the one dead Grid Atlas catalogue
link left behind by the release-directory migration.
Measured by: Claude Code working session
Metrics for homepage_v022.html:
Line count: 209 Word count: 3655 Character count: 33913 SHA-256 (first 16): 9046d60f8054fd9b
Change intention in plain English:
The row UK Grid Atlas V9 — 202608291239 linked to
/gridatlas/202608291239-atlas-v9/, which answers 404. GridAtlas split one
directory into two roles that used to coincide: the served app now lives at
/gridatlas/atlas/ and the release artefacts at
/gridatlas/atlas/releases/<release_id>/. Before the migration they were one
URL, so nothing written earlier can tell them apart. The row names a release
artefact, so it takes the artefact base; /gridatlas/atlas/releases/202608291239-atlas-v9/
answers 200.
Only the URL changes. Every name: and note: string in the file is
byte-identical, verified by diff. The V8 sentinel, its route and both
GRIDATLAS_V9_AUTOMATION markers are untouched, and AREAS was re-evaluated with
node to confirm it still parses.
This is one instance of an estate-wide class. 338 references to the
pre-migration shape exist across the estate; 122 of the 125 in this repository
are frozen by design — homepage snapshots and published immutable releases,
which are correct to hold the URL that was live when they were cut. Three are
operative here: this row and two files under state/, which describe the app
rather than an artefact and are left for the architect.
Folder file count after this snapshot:
24 files
Version: homepage_v023.html
Source: live index.html at commit a0f93e87
Purpose: restore point taken before adding the Pipeline News 202609031308 row to
the catalogue.
Measured by: Claude Code working session
Metrics for homepage_v023.html:
Line count: 210 Word count: 3865 Character count: 33653 SHA-256 (first 16): 2fd3c745dd5c8298
Measured over LF bytes, which is what git stores and what GitHub Pages serves.
A Windows working copy holds CRLF, so a character count taken off the disk is
larger by one per line and describes bytes nobody receives — the same defect
.gitattributes in this repository exists to document.
Change intention in plain English:
Pipeline News 202609031308 is published and serving and had no row. It becomes the current entry, and the entry it supersedes — 202609030009 — moves down to join the superseded siblings it already carried, at the indent those siblings already sit at. That is the whole edit: one line inserted, one line modified, nothing re-indented. The tree shape is unchanged: a current release holding the superseded ones beneath it, one of which carries the deeper history.
The row says what changed. 202609030009 put the twenty REPD technology types the
spine does not carry into the product’s technology row as twenty more tabs,
which made the row twenty-five controls wide. Counted on the payload, nine of
the twenty hold five projects or fewer and one holds a single project, and on a
390 px viewport that row was eleven wrapped lines and 584 px tall — it pushed
the product’s own SOLAR, BATTERY, ONSHORE and OFFSHORE down the page. The twenty
are now one labelled control, each option carrying its own project count, and
the row is three lines and 152 px with no horizontal overflow. The twenty also
gain the ?technology= deep link they never had.
One note: string changes — the previous current row loses its NEW mark and
gains its superseded clause — and one name and one note are added. Every other
name: and note: string in the file is byte-identical, verified by
comparison against HEAD:index.html: 185 strings before, 187 after, one
removed and three added, and none of the removals is a name. The Grid Atlas
Overlay V8 row and its route each still occur once, the catalogue route occurs
twice as before, and both GRIDATLAS_V9_AUTOMATION markers are intact. AREAS was
re-evaluated with node: it parses, 11 top-level areas, 118 nodes, 107 with a
URL, and the new row resolves to
./pipelinenews_intelligence/202609031308/.
Folder file count after this snapshot:
25 files
Version: homepage_v024.html
Source: live index.html at commit 9c4a0df3c03a46153765da2dac5c9ae9fd7a01eb
Purpose: restore point taken before publishing Pipeline News 202609032159 and
before moving the Grid Atlas current-release row off v9.86 / 202609030200,
which it had named since 3 September while the live composition moved eleven
versions past it.
Measured by: Claude Code working session
Metrics for homepage_v024.html:
Line count: 211 Word count: 4205 Character count: 35642 SHA-256 (first 16): f157fb6ec1d6e3cf
Plain-English change intention:
Two rows change and nothing else. Pipeline News 202609032159 becomes the
current entry, and 202609031308 moves down to the superseded indent its
siblings already sit at, losing its NEW mark and gaining the clause that says
what superseded it. That is one line inserted and one modified; nothing is
re-indented and the tree shape is unchanged.
The Grid Atlas row inside the GRIDATLAS_V9_AUTOMATION markers is the second
change, and it is the one that was overdue. It named v9.86 / 202609030200
while the live composition was v9.97 / 202609032222. The homepage is the only
route a reader has to these releases, so a stale row is not a cosmetic problem:
scripts/verify_published_versions.py had been failing on exactly this, and on
the newest Pipeline News release not being mirrored here at all. Both are now
true and the check passes — 27 published snapshots, all reachable, newest
202609032159.
The compiler still cannot write that row. compile_root() requires the
catalogue URL to occur at most once and the whole entry line to match byte for
byte, and the os-strip banner added on 30 August carries the same href, so
the URL occurs twice. It occurred twice before this edit and occurs twice
after; the jam is unchanged and is not what this snapshot is for.
Verified after the edit: three name:/note: strings removed and five added,
187 to 189, and exactly one of the removals is a name: — the Grid Atlas row
this edit deliberately renames. Every other string is byte-identical against
HEAD:index.html. The V8 sentinel occurs once with its four leading spaces and
its route once. Both automation markers are intact. AREAS was re-evaluated with
node: it parses, 11 top-level areas, 119 nodes, 108 with a URL, the new row
resolves to ./pipelinenews_intelligence/202609032159/, and the Grid Atlas
identity 202609032222-gridatlas-v9.97 occurs once.
Folder file count after this snapshot:
26 files
Version: homepage_v025.html
Source: live index.html at commit d5aafefb72ad39063db8fe48bf1ccc2d865773fc
Purpose: restore point taken before publishing Pipeline News 202609032251 — grid
proximity widened from 3,047 rows in two technologies to 4,138 in eleven — and
before moving the Grid Atlas current-release row from v9.97 / 202609032222 to
v9.98 / 202609032246.
Measured by: Claude Code working session
Metrics for homepage_v025.html:
Line count: 212 Word count: 4421 Character count: 36886 SHA-256 (first 16): 4c1049f55e151579
Plain-English change intention:
The same two rows as version 024, for the same reason, and the discipline is the
point: two lanes shipped in the same hour and the homepage is the only route a
reader has to either. Pipeline News 202609032251 becomes the current entry and
202609032159 moves down to the superseded indent its siblings already sit at,
losing its NEW mark and gaining the clause naming what superseded it. The Grid
Atlas row moves to v9.98.
The Pipeline News release was built by another lane and is carried here byte for
byte — 61 files, verified with diff -rq against the cut, and its own --check
re-run in this session rather than taken on trust. Its widened payload was
counted here independently: 4,138 rows, solar 1,747, bess 1,300, biomass 814,
hydro 150, hydrogen 59, act 37, tidal 18, geothermal 7, caes 4, flywheel 1,
other 1, and the registry’s record_count reads 4,138 against a 7,403,890-byte
payload.
Verified after the edit: name:/note: strings 189 to 191, three removed and
five added, and exactly one removal is a name: — the Grid Atlas row this edit
deliberately renames. Every other string is byte-identical against
HEAD:index.html. The V8 sentinel occurs once with its four leading spaces and
its route once. Both automation markers are intact. AREAS was re-evaluated with
node: it parses, 11 top-level areas, 120 nodes, 109 with a URL, the new row
resolves to ./pipelinenews_intelligence/202609032251/, the identity
202609032246-gridatlas-v9.98 occurs once and no v9.97 string remains.
scripts/verify_published_versions.py passes: 28 published snapshots, all
reachable, newest 202609032251.
Folder file count after this snapshot:
27 files
Version: homepage_v026.html
Source: live index.html at commit d62d51258a32cabf1411de16c73501715bad262c
Purpose: restore point taken before the first compiled refresh of the Grid Atlas
current-composition row, moving it from v9.98 / 202609032246 to
v9.99 / 202609032315. No Pipeline News release is published in this version:
the newest cut, 202609032251, was already mirrored and given its row in
version 025, and no further release had been cut when this snapshot was taken.
Measured by: Claude Code working session
Metrics for homepage_v026.html:
Line count: 213 Word count: 4678 Character count: 38389 SHA-256 (first 16): b47f3572b62ea2d0
Plain-English change intention:
One line changes, and for the first time a program rather than a person chooses
it. The homepage named Grid Atlas v9.98 while https://ventusltd.github.io/gridatlas/atlas/
had been serving v9.99 since generation 202609032315 — confirmed by fetching the
public composition manifest, not by reading the repository. The row’s four
identity fields — the version in name:, the CURRENT VERIFIED · v… · … ·
prefix of note:, data_gridatlas_release: and the trailing HTML comment — are
refreshed together so they cannot disagree again.
The 1,471 characters of measurement prose in note: are carried through byte for
byte. The compiler does not own that text and does not write it; it owns the
identity only.
What it deliberately does not do: it does not re-word the note, does not touch
the os-strip banner that carries the same href, does not touch the immutable
202608291239-atlas-v9 row beneath the markers, and does not publish any
Pipeline News release.
Verified after the edit:
name:/note: strings 191 to 191, two removed and two added. Exactly one of the
removals is a name: — UK Grid Atlas V9.98 — Current Verified Release, the row
this edit deliberately renames — and the other is that row’s note:. The
remaining 189 of 191 strings are byte-identical against HEAD:index.html.
Line count 213 to 213, and exactly one line differs: line 103, the governed row
inside the markers. The os-strip banner on line 59, which carries the same
href and is the reason the compiler was jammed, is untouched, as is the immutable
202608291239-atlas-v9 row on line 105.
The V8 sentinel occurs once with its four leading spaces and its route once.
Both automation markers occur once each. The identity
202609032315-gridatlas-v9.99 occurs exactly twice — the data attribute and the
trailing comment — and no v9.98 or 202609032246 string remains.
AREAS was re-evaluated with node before and after: it parses, 11 top-level
areas, 120 nodes, 109 with a URL, all four unchanged by this edit. Exactly one
row resolves to https://ventusltd.github.io/gridatlas/atlas/ and exactly one
row carries data_gridatlas_release, now reading
202609032315-gridatlas-v9.99.
That the live composition really is v9.99 was established by fetching
https://ventusltd.github.io/gridatlas/atlas/manifests/202609032315-composition.json
from the public site, which returns "generation": "202609032315" and
"version": "v9.99".
scripts/verify_published_versions.py passes: 28 published snapshots, all
reachable, newest 202609032251.
The edit was made by scripts/catalogue_gridatlas_v9.py refresh-composition,
not by hand. The same run against a scratch copy produced a byte-identical
result — SHA-256 6fa24b75c00b6bb5 both times — so the compiler is
deterministic on this input.
Folder file count after this snapshot:
28 files
Version: homepage_v027.html
Source: live index.html at commit 5c700a4a
Purpose: restore point taken before publishing Pipeline News 202609032329, the release in
which a dash stops asserting a search that never ran.
Measured by: Claude Code working session
Metrics for homepage_v027.html:
Line count: 213 Word count: 4678 Character count: 38389 SHA-256 (first 16): 6fa24b75c00b6bb5
Plain-English change intention:
One row inserted and one modified. 202609032329 becomes the current Pipeline News entry
and 202609032251 moves down to the superseded indent its siblings already sit
at, losing its NEW mark and gaining the clause that names what superseded it.
Nothing is re-indented and the Grid Atlas row is untouched — it was moved to
v9.99 in the previous commit and the live composition has not changed since.
The row carries the measurement rather than a claim: 7,680 records, 3,047 with a grid figure, 4,633 dashed, and the payload’s own coverage block reading with_circuit 3,047 / no_circuit 0 — so the sentence the dash used to carry, which asserts a search that ran and failed, was true of none of the rows it was printed on.
Folder file count after this snapshot:
29 files
Version: homepage_v028.html
Source: live index.html at commit 7d00781b6993b9038a1a8bedf2c88a4eb0109ad4
Purpose: restore point taken before aligning the stale Grid Atlas banner with the governed v9.99 row.
Measured by: Codex working session
Metrics for homepage_v028.html:
Line count: 214 Word count: 4867 Character count: 39499 Byte count: 39842 SHA-256 (first 16): 103915690252df0f
Plain-English change intention:
Only the reader-facing Grid Atlas banner changes: V9.86 / 202609030200 becomes
V9.99 / 202609032315 so it agrees with the governed current-release row. The
governed row, its measurement prose, all other names and notes, every prior
homepage snapshot, the V8 sentinel and route, and both Grid Atlas automation
markers remain unchanged. AREAS is re-evaluated but not rewritten.
Folder file count after this snapshot:
29 files (28 numbered snapshots plus this README; the timestamped release directory is not a file)
Version: homepage_v029.html
Source: live index.html at commit c9c9f61f6daf1057252e488d93a57a699a1772f0
Purpose: restore point before restoring the complete recoverable Grid Atlas version lineage to the homepage.
Measured by: Codex working session
Metrics for homepage_v029.html:
Line count: 214 Word count: 4867 Character count: 39499 Byte count: 39842 SHA-256 (first 16): 5572fd68181a41cb
Plain-English change intention:
The current Grid Atlas v9.99 row remains linked, but its label now says deployed and reachable rather than verified while its project-card hit-target regression is open. A new complete catalogue adds 120 oldest-first, machine-marked lineage records: legacy V1 through V8; the removed April V9 source; all eight timestamped base-V9 release folders; every GridAtlas composition state committed on main from v9.5 through v9.99; and explicit MISSING rows for v9.1 through v9.4, where no GridAtlas composition exists. Reused version numbers retain every distinct generation. Evidence-only manifests say that they are not runnable, V9.57 is labelled as the rejected composition that broke its shell slot, and records without an honest URL render as disabled text instead of broken links. Nested catalogue rows wrap long immutable commit hashes rather than widening a phone viewport.
Every network route was rechecked at 2026-09-04T00:40:53Z. HTTP 200 proves
reachability, not working behaviour: V2 through V7 and seven base-V9 folders are
REACHABLE_UNVERIFIED. V8 alone is WORKING_VERIFIED, backed by the mobile
browser Tesco -> [OK] click proof rechecked at 2026-09-04T00:47:58Z. The
202608291237 base-V9 shell is BROKEN
because its repd_browser_registry dependency returns HTTP 404 even though the
shell URL itself returns 200. Every machine marker and reader-visible note
carries its checked_at value.
The publication gate protects the exact V1-to-v9.98 foundation by digest, requires continuous version identities through the governed current version, and compares each later edit with the latest numbered snapshot. A new current version must therefore append its exact generation and promoted commit while retaining its predecessor. No v9.100 placeholder is added because no v9.100 commit has been promoted to GridAtlas main.
All earlier homepage snapshots and all existing URLs/rows remain preserved.
Only stale truth labels are corrected: the old 202608291239 row is archived,
reachable and unverified; v9.99 discloses its known defect; and V8 is identified
as the last browser-verified working version. The V8 sentinel and route, both
Grid Atlas automation markers, and the complete AREAS structure are preserved.
Folder file count after this snapshot:
30 files (29 numbered snapshots plus this README; the timestamped release directory is not a file)
Version: homepage_v030.html
Source: live index.html at commit 0051b3dc25f803e622c942fc82bc114617cecdd9
Purpose: restore point before appending the promoted v9.103 Grid Atlas lineage and the three never-live candidates that preceded it.
Measured by: Codex working session
Metrics for homepage_v030.html:
Line count: 344 Word count: 9342 Character count: 104493 Byte count: 104835 SHA-256: 32eaeeaabbb87f9c5c9e96111176bfb25230033a86e172b3d3ce5d6bb7fb7433
Plain-English change intention:
The 120 existing Grid Atlas records remain present. Four records are appended,
bringing the catalogue to 124. v9.100 / 202609040021, v9.101 /
202609040046, and v9.102 / 202609040047 are explicitly
REJECTED_PRE_PROMOTION and never live; each links to its immutable manifest,
carries the exact source commit, and names the defect that stopped promotion.
They are history and audit evidence, not runnable releases. v9.103 /
202609040058 is the new live record, bound to exact GridAtlas main commit
03ac1fd5b094c59e21b311a7978c954111d3e330.
The former v9.99 current row remains in place as archived manifest evidence. Its
stable /atlas/ URL is not retained on that archived row because the route now
serves v9.103; the immutable 202609032315 manifest is the honest surviving
target. Its known project-card hit-target defect remains visible. The GridAtlas
live pointer deliberately names v9.99 as v9.103’s previous live generation,
skipping all three rejected candidates without erasing them.
Public state was rechecked at 2026-09-04T01:14:35Z. atlas/current.json and
all four 202609040021, 202609040046, 202609040047, and 202609040058
manifests returned HTTP 200 and were byte-exact to GridAtlas main. GitHub Actions
runs 33824798171 (cartridge proof), 33824798137 (builders), and 33824797695
(Pages) all completed successfully on the exact v9.103 head. A 393x852 Chrome
acceptance run opened the Markinch Pipeline deep link, rendered 28.82 km, kept
all six menus visible and hittable, drove Tesco to authoritative [OK], and
drove DLR to [OK] from the hydrated shared UK Metro/Trams source. That is why
v9.103, alongside retained V8, is WORKING_VERIFIED rather than merely HTTP
reachable.
Derived catalogue counts after the edit:
LIVE, 109 ARCHIVED, 3 REJECTED_PRE_PROMOTION, 4 MISSING.BROKEN, 101 MANIFEST_EVIDENCE, 4 NONE, 13
REACHABLE_UNVERIFIED, 2 SOURCE_ONLY, 2 WORKING_VERIFIED.The publication gate now validates the three rejected manifests’ identities and
their own candidate_status, binds the current homepage row to the exact
GridAtlas main SHA, follows previous_generation to v9.99 instead of confusing
numeric v9.102 with a live predecessor, and protects all prior rows against
loss. Every previous homepage snapshot and the local V8 route remain untouched.
Folder file count after this snapshot:
31 files (30 numbered snapshots plus this README; the timestamped release directory is not a file)
Version: homepage_v031.html
Source: live index.html at commit 7b91a994a6899dbe6ef455126ab99664e12f6793
Purpose: restore point before publishing the exact Pipeline News 202609040144 wrapper and appending the exact promoted and browser-proven v9.104 Grid Atlas release.
Measured by: Codex working session
Metrics for homepage_v031.html:
Line count: 348 Word count: 9377 Character count: 106631 Byte count: 106959 SHA-256: e8ae34f5c3391bbb4f7f37d6cea0c6461221cb210d4781e1a87abf66936372e7
Plain-English change intention:
All 124 Grid Atlas catalogue records already on the homepage remain
byte-for-byte unchanged. Exactly one Grid record is appended: v9.104 /
202609040134, bound to GridAtlas main commit
ab80d45be05eb08b334af8bc93cfeb30d3b9d3d9. The two Grid current-release
surfaces move to v9.104, while V8, v9.103, the three explicitly never-live
candidates, and every earlier recoverable generation remain visible. The Grid
catalogue therefore contains 125 records.
The same consistency-atomic edit publishes Pipeline News wrapper
202609040144-pipelinenews as pipelinenews_intelligence/202609040144/. All
64 files are byte-identical to Pipeline main. One new current row is inserted;
202609032329 is retained immediately below it and labelled superseded. Every
older Pipeline route remains in place.
The public state was checked at 2026-09-04T01:44:37Z. The public
atlas/current.json and immutable 202609040134 manifest returned HTTP 200 and
were byte-exact to commit ab80d45. Exact-head GitHub Actions runs
33826742980 (Pages), 33826743587 (builders), and 33826743594 (cartridge
proof) all completed successfully.
A fresh Chrome extension session then ran the live Markinch Pipeline arrival at
an explicit 393x852 viewport. The card rendered the 28.82 km result. File, Edit,
View, Scope, Grid, and About were all visible and hittable inside fullscreen.
From the Grid menu, Tesco moved from [WAIT] to [OK], with the authoritative
control and both mirrors checked. DLR did the same through the hydrated shared
UK Metro/Trams source. The temporary browser viewport was reset and the audit
tab closed after collecting the evidence. This is direct working behaviour, not
an HTTP-only inference, so v9.104 is WORKING_VERIFIED.
Pipeline exact-head run 33827954787 completed successfully on main
3493be1c4ebf3dabbc94135db17f433bb7892a8e. Its build, deploy, public
byte/pointer readback, public Atlas-link browser proof and public modular
browser proof all passed. At 2026-09-04T02:07:53Z, the public wrapper’s
index.html, release-manifest.json and sha256sums.txt returned HTTP 200 and
were byte-identical to the exact source; their SHA-256 values are respectively
1e9079e1ebea216b3ed196bec61325f19ea4aeb8963658d938bcb5def0969d97,
ca59bba6041dc7c0c33841fc3263c01bad355daeb0273691fdc97f1d0eed9cee
and c6435a877b28a1bd17b217e5d991cbc866c7ea9498905b244cbaba0bd6d467ae.
The run’s throttled 393x852 public proof found one 44x44 MAP action for Markinch with no horizontal overflow, followed the exact REPD 155 link into Grid Atlas v9.104, produced the first coordinate answer in 484.6 ms, drew five links to substations at 33 kV or above, reported the nearest at 2.49 km and the nearest 400 kV substation at 28.82 km. It used no synthetic receiver and intercepted no route.
The byte-exact imported wrapper retains five upstream whitespace diagnostics:
one blank EOF line in each of its two wider-fleet modules and three trailing
space lines in its index.html. Those bytes are covered by the wrapper’s own
SHA-256 ledger and cannot be rewritten here without breaking the mirror. The
candidate-owned paths pass git diff --check with that immutable subtree
excluded; the subtree separately passes an exact directory comparison and all
63 file hashes declared by its sha256sums.txt. Source and mirror each contain
64 files totalling 22,666,028 bytes; their canonical path/size/SHA-256 inventory
digest is f7357a212753abb7266273d69f18a25474a7b98409fedb062335c374a7dbf789.
Derived catalogue counts after the append:
LIVE, 109 ARCHIVED, 3 REJECTED_PRE_PROMOTION, 4 MISSING.BROKEN, 101 MANIFEST_EVIDENCE, 4 NONE, 13
REACHABLE_UNVERIFIED, 2 SOURCE_ONLY, 3 WORKING_VERIFIED.The protected catalogue digest now covers all 124 pre-existing records through
v9.103, and a unit test compares those records directly with the v031 snapshot
before accepting the v9.104 append. The network gate remains fail-closed and now
uses the read-only GitHub workflow token for GitHub API and raw-content requests,
avoiding false INCOMPLETE results when the shared anonymous API limit is
exhausted; the token is never sent to GitHub Pages or any other host.
Folder file count after this snapshot:
32 files (31 numbered snapshots plus this README; the timestamped release directory is not a file)
Version: homepage_v032.html
Source: live index.html at commit d377a47a180da44d0a42bfc27e228e7a6b3b8e73
Purpose: restore point before appending the exact promoted v9.105 Grid Atlas release.
Measured by: Codex working session
Metrics for homepage_v032.html:
Line count: 350 Word count: 9601 Character count: 108461 Byte count: 108798 SHA-256: d9d0333f026a7e019797ca31106ddd2fb66b7378a75d4fcc6b50859ec2b4e61b
Plain-English change intention:
All 125 Grid Atlas catalogue records already on the homepage remain
byte-for-byte unchanged. Exactly one Grid record is appended: v9.105 /
202609040219, bound to GridAtlas main commit
5cb95611bae0eae031d493b7f2b6b3ef9ce2b995. The two Grid current-release
surfaces move to v9.105, while V8, the browser-verified v9.103 and v9.104,
the three explicitly never-live candidates, and every earlier recoverable
generation remain visible. The Grid catalogue therefore contains 126 records.
At 2026-09-04T02:32:54Z, exact-head GitHub Actions runs 33829736615
(Pages), 33829737083 (builders), and 33829737107 (cartridge proof) had all
completed successfully. The public atlas/current.json returned 46,405 exact
bytes with SHA-256
2f86a1bfd1c07c0bcb05a3bf57a102cd64f83d933db9118c51c3ee5e7790e384.
The immutable 202609040219 composition returned 47,301 exact bytes with
SHA-256
90dbbb6b4bd5db2f23a097e6a0042df0aa77dd189410e8a2be33568fd0404bdb.
Both composed cartridges, both parts manifests, the version ledger and both
live-set pointer forms were also fetched from the public Pages deployment and
matched the exact commit bytes.
A fresh Chrome extension session at a 393x852-class mobile viewport then
confirmed generation 202609040219, opened Markinch REPD 155, rendered 28.82
km and retained all six menus. Clicking the live Tram proxy left DLR and every
UK Metro/Trams control unchecked and disabled at [EMPTY], with zero console
errors. That is the intended honest state for fetched bytes which cannot
produce renderable features, rather than a false tick or an invisible layer.
This direct mobile acceptance is why v9.105 is WORKING_VERIFIED; the claim is
not inferred from HTTP reachability.
Derived catalogue counts after the append:
LIVE, 109 ARCHIVED, 3 REJECTED_PRE_PROMOTION, 4 MISSING.BROKEN, 101 MANIFEST_EVIDENCE, 4 NONE, 13
REACHABLE_UNVERIFIED, 2 SOURCE_ONLY, 4 WORKING_VERIFIED.The latest-snapshot retention gate now rejects any rewrite of a retained record, including one historically marked live. A unit test compares all 125 pre-existing serialised rows directly with this v032 snapshot before accepting the one appended v9.105 row.
Folder file count after this snapshot:
33 files (32 numbered snapshots plus this README; the timestamped release directory is not a file)
Version: homepage_v033.html
Source: live index.html at commit 9e42af8a1ade776eeafa2be34f0c2bf5345d5c2d
Purpose: restore point before retiring two stale mutable-current Grid Atlas links.
Measured by: Codex working session
Metrics for homepage_v033.html:
Line count: 351 Word count: 9681 Character count: 109329 Byte count: 109666 SHA-256: f77862a52d09c9935d1d632fea9f33336634bd229968df914a7b97d724f46878
Plain-English change intention:
v9.105 remains the one current v9.x catalogue row and continues to use the
canonical mutable application route. Its exact commit, proof text and current
homepage surfaces do not change. v9.103 and v9.104 were each still labelled
Live Current on that same route, so clicking either older row now opened
v9.105. Both rows receive the one lifecycle transition this catalogue permits:
LIVE becomes ARCHIVED, Live Current becomes Archived, and the mutable
route becomes that generation’s immutable composition-manifest URL.
Their version, generation, source commit, WORKING_VERIFIED evidence class,
checked-at time and complete browser-proof text remain unchanged. The v9.103
change is the delayed correction of the transition missed when v9.104 was
appended. All other 124 catalogue rows remain byte-for-byte unchanged,
including every standalone V1-V8 route and status.
The retention verifier accepts only that exact transformation of a stale v9.x
current row. It rejects changes to the row’s identity or evidence, rejects any
other retained-row edit, and fails if any prior v9.x row still says Live
Current, remains LIVE, or points at the mutable application route. Tests
exercise both the allowed transition and mutations of its preserved proof.
Derived catalogue counts after the repair:
LIVE, 111 ARCHIVED, 3 REJECTED_PRE_PROMOTION, 4 MISSING.BROKEN, 101 MANIFEST_EVIDENCE, 4 NONE, 13
REACHABLE_UNVERIFIED, 2 SOURCE_ONLY, 4 WORKING_VERIFIED.Folder file count after this snapshot:
34 files (33 numbered snapshots plus this README; the timestamped release directory is not a file)
Version: homepage_v034.html
Source: live index.html at commit 6e462c5ca0ff50e8e8d926eec45c9c26a4169922
Purpose: restore point before archiving v9.105 on its immutable manifest and appending the exact promoted and browser-proven v9.106 Grid Atlas release.
Measured by: Codex working session
Metrics for homepage_v034.html:
Line count: 351 Word count: 9709 Character count: 109645 Byte count: 109982 SHA-256: 6817281e2a6d8a12bc119064ebff3af0b4841fe085bf5274e3c501ab4d60a6e9
Plain-English change intention:
All 126 existing Grid Atlas identities remain in the catalogue. The 125 rows
other than the former current v9.105 row remain byte-for-byte unchanged. v9.105
receives only the lifecycle transition permitted by this catalogue: its
version, generation, source commit, WORKING_VERIFIED evidence, checked-at
time and complete browser proof are preserved, while LIVE becomes
ARCHIVED and the mutable application URL becomes its immutable
202609040219 composition manifest. V8 remains present and unchanged.
Exactly one record is appended at the oldest-first tail: v9.106 / generation
202609040337, bound to exact GridAtlas main commit
2d8cc7bacf80a3f20ecfb96ea24548fcea43a19d. It is the sole current v9.x row
on the mutable application route, bringing the catalogue to 127 records. Both
reader-facing current-release surfaces name that same identity.
All three exact-head GitHub Actions completed successfully: 33834422562
(Pages), 33834422882 (next-version builders), and 33834422915 (cartridge,
mobile and corpus proof). A cache-busted public audit fetched 34 composition-
derived artifacts and found all 34 HTTP 200 and byte-identical to the exact
commit. Their combined path-and-hash digest is
fc0ce52d698936adcbf3c8d136ea0868fb0f280f7cf7dba1992478095eeeaf25.
The public current.json is 46,599 bytes with SHA-256
7e8fc8c7e2aca9fa1974169085111844e26750be1fb793f54abbf253489cf80a;
the immutable composition is 47,855 bytes with SHA-256
4fab4d333f78878482925eea7191f675cac280d556f1703a1f9cf7c93c5d375f.
The accepted browser receipt used cold 393x852 Chromium and passed five
arrival cases. Supplied-point NOT_IN_ACTIVE_REGISTER reference 12453 measured
with link-supplied provenance. Ref-only 12453 explicitly could not measure and
invented no official location or status. An induced
FAILED -> retry -> RESOLVED reference 12588 reached five links, with the
nearest at 3.432 km, manifest attempts 2, query 0 -> 1, retry 0 -> 1 and shared
epoch 3. An induced FAILED -> retry -> NOT_IN reference 12453 ended with
zero links and explicit no-coordinate/no-inference. An ordinary active match
for reference 12588 was VERIFIED and measured. Every case showed File, Edit,
View, Scope, Grid and About; there were zero post-terminal page, console or
material errors and zero obsolete Pipeline requests.
The exact Pipeline 0144 corpus static gate includes Markinch 155 and proves that it takes measure-first from supplied coordinates. That is recorded as static evidence only, not as a fresh v9.106 Markinch browser reading. The separate v9.105 Markinch 28.82 km browser observation remains intact on the archived v9.105 record.
Derived catalogue counts after the append:
LIVE, 112 ARCHIVED, 3 REJECTED_PRE_PROMOTION, 4 MISSING.BROKEN, 101 MANIFEST_EVIDENCE, 4 NONE, 13
REACHABLE_UNVERIFIED, 2 SOURCE_ONLY, 5 WORKING_VERIFIED.The latest-snapshot retention gate compares against this v034 restore point. It accepts the one deterministic v9.105 archival and the final v9.106 append, and rejects deletion, reordering or any other retained-row rewrite.
Folder file count after this snapshot:
35 files (34 numbered snapshots plus this README; the timestamped release directory is not a file)
Line count: 352 Word count: 9662 Character count: 111720 SHA-256 (first 16): 0cbb249849180a68
Plain-English change intention:
Two lines change, nothing else, and the diff against this snapshot shows only those two.
The homepage moves to its own repository. globalgrid2050-hompage was misspelled and has
been retired to a redirect; its 59 commits are merged into globalgrid2050-homepage. The
menu row that pointed at the misspelled URL now points at the correct one, drops the
“NEW PENDING” prefix and carries note:"live".
One .primary-link is added above “How to Work with GlobalGrid2050”, so the handover is
visible without searching for it. No new CSS: the class already exists.
This page stays as the record. The Grid Atlas automation block, its START/END markers and the V8 entry are untouched.
Folder file count after this snapshot:
37 files
Version: homepage_v036.html
Source: live index.html at commit 5260db10
Purpose: restore point before the homepage is replaced by the fresh dashboard page.
The archived file becomes the reader-visible Historical builds page — every
Grid Atlas catalogue row, every Pipeline News intelligence release, every
version/generation identity, source commit, checked-at time and evidence class is
preserved in it byte-for-byte and served at its own permanent path. Nothing in the
append-only catalogue is altered, renamed or dropped; it stops being the front page
and becomes the archive the front page links to.
Measured by: Claude session 184379c4, 202609050125 UTC.
Metrics for homepage_v036.html:
Line count: 353 Word count: 9665 Character count: 111836 SHA-256 (first 16): fe46abbbd9ab0a14
Folder file count after this snapshot:
38 files
Source: 87fe1250. File: homepage_v037.html. Folder files before: 38; after: 39. Lines: 293; words: 4085; characters: 30836. SHA-256: a6788e8829141383340bb5582c69406a78037762adb6190f048e0eb1585ef6b6. Intention: add a Test Code comparison section while retaining every existing link and section.
Source: 7c21f271. File homepage_v038.html. Files before 39, after 40. Lines 299; words 4119; characters 31188. SHA256 45bc9f9fcbcf490222958cc33397077bff29db667bd7c447cfc5f2bbde8ed7c6. Intention: append the Firefox/project-identity correction while retaining the original Test Code link.
Source: 7df9dd2fb4df85f1bad69db996a4fa210488da3e. File homepage_v040.html. Folder files before 41, after 42. Lines 303; words 4356; characters 32773. SHA256 efe4b01a4b5b46315afeaee04f19102a979b018ae85126ea859a876ea1f41d62. Intention: append Test Code 202609051300, preserving Claude builds and previous Test Code links.
Source: 398733031805702dc1722634773f550868843cd2. Snapshot: homepage_v054.html. Folder files before: 66; after snapshot and measurement: 68. Lines: 325; words: 4939; characters: 38082; bytes: 38379. SHA-256: 8428951333a0b4fc988b014da8bb94eac7225afed238fe60ad142e382d00411e.
Intention: add the Build plan / AI restart link beside Build status. It describes50 planned Pipeline News and50 planned GridAtlas increments. Every existing application, version and historical link is retained byte-for-byte. No app version is promoted.
Restore-point workflow33991696513 passed on the exact source commit before this homepage edit: https://github.com/Ventusltd/globalgrid2050/actions/runs/33991696513.
Saved before the static 8/96 identity-checkpoint board and calendar clocks. No application release was promoted. Measurements and source identity are in homepage_v055-measurement.json.
Saved before adding the millisecond calendar counter. Review snapshot and product links remain unchanged. See homepage_v056-measurement.json.
Snapshot of b7e8d25d6d0876b6c18c8bb5d2623da396760bad before replacing dot counters with a licensed, attributed terminal-style browser cartridge. Restore workflow33993479675 passed. No product versions changed. Measurements: homepage_v057-measurement.json.
Pre-edit snapshot of 89a6bb3b; restore workflow33993761917 passed. Adds original EIA average-day counter cartridge202609052143. Existing links preserved.
Pre-edit snapshot of dfbcd6c93b2922aec2cf21dad7d91ce2ea8cb506. Restore workflow 34003682199 passed. Measurements: homepage_v062-measurement.json. Publish the supplied electrification paper with a contents list in the podcast Markdown layout, add About & Media navigation, and move all science graphics and review/calendar bars to the bottom before the footer. Existing app links, product versions and graphic modules remain intact.
Pre-edit snapshot of 63acce00fbf4b2db2e42d2d4a484297069ad2f78. Restore workflow34006729579 passed. Measurements: homepage_v063-measurement.json. Add tested Codex Atlas228 and Pipeline232 in the existing Test Code section; preserve earlier links and all other content.
Pre-edit snapshot of 895cadcfa0d86cb6d5aaedec0fd93efe86dcb835. Restore workflow34007522280 passed. Measurements: homepage_v064-measurement.json. Remove internal review checkpoint counters and snapshot per user; retain calendar clocks. The96acceptance criteria are preserved in Spiders campaign e489f95. Removed only the duplicate internal-review build-plan link; its target remains linked elsewhere on the homepage.
Pre-edit snapshot of 24a3d8880904bc9f32abdef89edce93b708f5f56. Restore workflow34008157608 passed. Measurements: homepage_v065-measurement.json. Add verified offshore Atlas0300 under existing Test Code; retain Atlas228, Pipeline232 and every existing link. Source c06cb36, scoped CI34008040152 passed.
Pre-edit snapshot of 2dedd4f298e5e3a2a1088ab60fcb14b30ddbc2a4; restore workflow34008499158 passed. Measurements: homepage_v066-measurement.json. Add Poly Zone labels0308 and explicit reset0309 under Test Code; retain0300/228/232 and all existing links. Exact source52e0709, matrixCI34008345160 passed.
Pre-edit snapshot of 4e0b72bf30c62247bf2d0766ae3438fac3f26307; restore workflow34008711187 passed. Measurements: homepage_v067-measurement.json. Add wider-fleet GRID0315,SUB0316 and phone-actions0318 under TestCode; all existing links retained. Sourcef9537f3, scopedengineeringCI34008723592 passed.
Pre-edit snapshot of 1f1ad310a40c815365920181ca6bbb4025ce45f6; restore workflow34008962881 passed. Measurements: homepage_v068-measurement.json. Add polygon persistence0320,GeoJSONexport0322andimport0324 underTestCode; retain all links and label previousPipeline232. Source267cff2, matrixCI34008948676 passed.
Pre-edit snapshot of 62728009e87cbea44ea164d45c69c917af8f9cc5; restore workflow34009164386 passed. Measurements: homepage_v069-measurement.json. Add Undo/Redo0325andvertexlock0327 underTestCode; retain all links. Source273bf36, matrixCI34009057079 passed.
Pre-edit snapshot of f772dc96c3261453c35923903e35ce5c984830c3; restore workflow34009441132 passed. Measurements: homepage_v070-measurement.json. Add metricdetails0333andfilteredGeoJSON0334; retain all links. Sourceeb2da9b, engineeringCI34009395044 passed.
Pre-edit snapshot of 42f2b3a801c1d1ea8d82b10516461c050a77b423; restore workflow34009629949 passed. Measurements: homepage_v071-measurement.json. Add Pipeline0337/0338/0340/0342, retaining every older link. Source71890499de46a15896e533b8c3d7961e04437b7b; engineering CI34009695191 passed.
Pre-edit snapshot of 17d2733d5f1aff953919d2ac63075fb2471e5895; restore workflow34010021769 passed. Measurements: homepage_v072-measurement.json. Add Pipeline0343/0345/0349, preserving all older links. Source1d36639c31e22ccc0e0a52f2a7106656d812c3ef; engineering CI34010009863 passed. Failed local0346 is excluded.
Pre-edit snapshot of 22f337b9471ae063361f260a8efd10167a15c296; restore workflow34010213415 passed. Measurements: homepage_v073-measurement.json. Add Atlas0351/0352/0400/0401 and preserve all earlier links. Sourcec0af3cdec1a18b08b4d9631849a17e0a9ffa4bed, full polygon matrixCI34010457771 passed. Rejected353/354 are excluded; their failed CI and deterministic negative-control evidence remain recorded.
Pre-edit snapshot of 95dfa2ce68c624f841f3f212d7709aa9ffbc5d05; restore34011119409 passed. Measurements: homepage_v074-measurement.json. Add four missing previous Pipeline entries0204/0206/0208/0213 under existing TestCode. Correction: the prior homepage linked26of30 accepted/previously recorded ledger entries; these four were also absent in snapshot065. All30entrypoints were live and byte-identical before this navigation correction. No app files or feature count changed.
Pre-edit snapshot of 9d364a218b91cf0fda1807bc9705a6616b63e62f; restore34011273452 passed. Measurements: homepage_v075-measurement.json. Add native map PDF0418 and retain all30 existing feature links. Source877f7cb09548b875d6cf6f84ba414900194f80a6; exact cross-browser/PDF-render/polygon CI34011476374 passed. InitialFirefoxstartup failure34011251539 remains recorded; later Xvfb configuration passes without app changes, original cause unproven. Failed0417 excluded; whole-app Print remains separate.
Pre-edit snapshot of 1ae532c5ff5b3749aaef99474ee4e521018f8363; restore34011880667 passed. Measurements: homepage_v076-measurement.json. Add separateCable0432TestCode; allpreviouslinks retained. TestCodecb87b9f3f8e469b6d64cdae84cd387115e6a5c15 exactly mirrorsowner8666179, CI34011801132green. Publiclegacyroute/currentownerpointers untouched; failed0430 excluded.
Pre-edit snapshot of 02e7aac373f4390d4735b894368be6bcfa5fec3b; restore34011966324 passed. Measurements: homepage_v077-measurement.json. Add Atlas0435 keyboard-native drawing controls, preservingeverypreviouslink. Source782acf6841ad98e8b6ba1d12986f6562fa1b22ab; polygonCI34011944163 andPDFCI34011944197 passed. PDFmodule carried unchanged from0418.
Pre-edit snapshot of a1fdc757efc3e51d33bed94b81f01ce32fed1495; restore34012244049 passed. Measurements: homepage_v078-measurement.json. Add Atlas0441 smallpolygon windingprecision, preserving everypreviouslink. Source7dc02d1b5ec3214d440cef29781127a7f6c65cac, exactCI34012189298passed120browserchecks. Historical435immutable; PDFmodule/layoutunchanged.
Pre-edit snapshot of 8486a34b24c60890505c35535a1530bb6585108c; restore34012672757 passed. Measurements: homepage_v079-measurement.json. Add recoverable toolhost0447, preserving everypreviouslink. Source54ab70a4aebb33d45db5912d8baa0c8b3c8c70e6, exactCI34012615665 passed hostprovenance,20recovery,16boundary,10Print and120polygonchecks. Allfourcartridges/eighthistoricalhostdependencies/originaliframeowners retained. Recoverylimitedtotestedsame-origin503fixture.
Pre-edit snapshot of 7f7be6e54e2bc848b3037a5b995be27da2418b5f; restore34012964151 passed. Measurements: homepage_v080-measurement.json. Add Atlas0459 selected-vertex removal after exact CI34012928257 passes. Preserve every previous link and immutable release. Source d2a317c1127c9deae12039cec0e9e5516354b78b; owner bb8f07ae8afb8d1872a75e7c2718b78d3e008504.
Snapshot080 records the aborted0459 publication preparation: no homepage edit or0459 publication occurred because inherited layout initialization was missing.
Pre-edit snapshot of 7f7be6e54e2bc848b3037a5b995be27da2418b5f; fresh restore34013066172 passed. Measurements: homepage_v081-measurement.json. Publish corrected0503 host from c591b272566691ef3d85e1eb40be8746d2d895a0 after expanded CI34013057434. Preserve complete441 bootstrap/layout initializer and all older links. Historical0447 acceptance revoked for missing layout activation;0459 remains unpublished.
Pre-edit snapshot of d66f36c814839222b62e9154d9a1c6702cff3e1c; restore34013352469 passed. Measurements: homepage_v082-measurement.json. Publish0504 selected-vertex removal, source e142b2bc61330f3756be20f5648e025004e59a80, exact CI34013085157 green with54 layout,26 removal,20 recovery and120 polygon checks. Corrected0503 host retained; rejected0459 remains unpublished. Preserve all older links.
Pre-edit snapshot of 189c25b876e219463b268076d6cdfa7ba69a84f4; restore34013474725 passed. Measurements: homepage_v083-measurement.json. Publish0509 measurement-control clearance after0504 live acceptance. Exact source b7720356c33ada3871175e90bef304b9cc124438, CI34013328981 passed64 clearance,54 layout,26 removal,20 recovery,120 polygon and10 actual Print checks. Preserve every earlier link; failed0506/0508 remain unpublished.
Pre-edit snapshot of 424e5a0b60d49fd7ff068a9169de4b563c959fb2; restore34013716011 passed. Measurements: homepage_v084-measurement.json. Publish0517 browser composition guard after0509 acceptance. Exact source7824dd7eb36fc6289c136509000a95b54a4297f3, CI34013666369 passed11 composition,64 measurement,54 layout,26 removal,20 recovery,120 polygon and10 Print checks. Original four cartridges and layout initializer retained. No owner-main promotion; preserve older links.
Pre-edit snapshot of 00c94eb26860a40c44b3fd95d50cc3f39c77a8a0; restore34013942448 passed. Measurements: homepage_v085-measurement.json. Publish0521 maximum-vertex preservation after0517 acceptance. Exact source c7c18e984a394acdc3e16abca77886edd790989e, scoped CI34013926063 passed323 checks including18 direct insertion-limit checks. Refusal preserves outline, history and saved draft; removing one vertex permits insertion again. Preserve older immutable links.
Pre-edit snapshot of 282368be79f443d91a2e837b610f5acac8760bd5; restore34014252912 passed. Measurements: homepage_v086-measurement.json. Publish0528 near-antipodal distance correction after0521 acceptance. Exact source946a14e566ffe5b66372bb3e99e712b685d56dca, CI34014130115 passed349 checks including26 distance checks. Clamp haversine intermediate to its mathematical0..1 range only; exact coordinates unchanged. Earlier0521 eight failing export checks retained as negative evidence. Preserve older links.
Pre-edit snapshot of 93961b0d3388de4576eeb58afd3695a56384d381; restore34014509647 passed. Measurements: homepage_v087-measurement.json. Publish0537 immediate measurement visibility after0528 acceptance and exact CI34014494672. Source d66ac93905c4cbeb5526ac840d650e7dd876e25f; exact CI passed373 scoped checks including24 fresh-draw readout visibility cases. Preserve control DOM/handlers, two-column phone layout and every older link. Earlier0528 three visibility failures retained.