Repository navigation
release: cut v0.3.4 — buffer ring for scope def (#208) #209
Description
Owner direction, 2026-10-19: run #208 through dev, then tag for prod.
Filed before the tag this time. v0.3.2 (#202) and v0.3.3 (#205) were both backfilled after the fact, which left prod's running version with no readable record twice in a row.
Contents
One commit [verified: git log v0.3.3..origin/master]:
| commit | |
|---|---|
ec540b91 |
#208 buffer ring for scope def (ITblacksheep), refs #188 |
829 insertions / 18 deletions across 9 files. No migrations, no schema change [verified: git diff --name-only v0.3.3..origin/master | grep -iE 'migration|schema|\.sql$' → none], so no database backup is required.
What #208 adds
- The ring. The region-def page draws a dashed ring (default: largest
nearMilesof any layer, else 10 miles; settable in the UI or via?ring=) and lists every region it touches as NEAR rows with distances. Display only. - Tree-shaped commands. New layer keys
root,parentPropertyandnearMilesturn the generatedregion defcommand from a flat chain into a tree, so a border repeater carries the regions on both sides. With none of those keys set the command is the plain chain it always was. scripts/dev-server.js— dependency-free front-end dev server, and devcontainer wiring to start it on port 8080.tests/unit/test-region-def-near.js(349 lines) asserting exact command strings for the Ohio / Kentucky / Indiana / cvg / day cases, plus E2E additions.
Version: v0.3.4, and the reasoning is worth stating
Going v0.3.4, a patch bump, to match the immediately preceding precedent: v0.3.3 shipped #187 — the entire region-def page, a far larger feature — as a patch. Being inconsistent release-to-release is worse than being technically wrong about semver.
Strict semver would call a user-visible feature a minor bump (v0.4.0). If the owner prefers that, this is the moment to say so, and it is worth settling the convention once rather than re-deciding every release.
Pre-flight
Dev is the gate here. Verified before tagging:
- the master push run for
ec540b91completes withDeploy Stagingsuccess - dev reports
commit: ec540b91from/api/stats - dev container healthy, no
exited: corescope-lines - the region-def page's data path still resolves on dev (
/region-layers/layers.jsonreturns JSON, notindex.html) — this is the chore(prod): region-layers mount reuses ${DATA_DIR}, so the region defs page serves the data dir #204 defect class and dev has its own compose with its own mount
Deploy
Tag v0.3.4 at ec540b91 → release-fast-path.yml re-tags :edge as :v0.3.4 → deploy-prod.
Expected cost: prod cold start measured at ~260s previously, against a 300s healthcheck window with auto-rollback. Roughly four minutes unavailable.
Verification on prod
/api/statsreportsversion: v0.3.4,commit: ec540b91- container healthy,
RestartCountunchanged, no in-container crashes /region-layers/layers.jsonstill returns JSON (regression check on chore(prod): region-layers mount reuses ${DATA_DIR}, so the region defs page serves the data dir #204)- node and packet counts still climbing
Note on process
#208's body carried Closes #188, which auto-closes the issue on merge and bypasses the Testing gate (CLAUDE.local.md; DifferentWire/standards#201). Raised in review and not changed before merge; the owner's call was that this work is not going through Testing. Recording it because #188's state will reflect the keyword rather than a QA decision.
Done when
Prod serves v0.3.4 and the region-def ring works against prod's region data.
Activity
diffwireauto commentedon Oct 19, 2026
Shipped and verified
Tag
v0.3.4(annotated,350bb936) atec540b91. Fast path::edgere-tagged, no rebuild. Both jobs of run39317802845succeeded and prod cleared its 300s healthcheck without triggering auto-rollback.The dev gate, which came first as instructed
[box: corescope-dev on offband, 2026-10-19]39312597797🚀 Deploy Stagingedge/ec540b9Up 20 minutes (healthy)/region-layers/layers.jsonon devWorth recording: dev never had the #204 defect. Its compose uses explicit paths rather than reusing a variable —
so the two mounts were always distinct there. Only prod's compose reused
${DATA_DIR}. That is the drift #207 is about: two boxes, two hand-maintained files, no mechanism comparing them.Prod
[box: /api/stats + docker on deadbeef, 2026-10-19]versioncommitec540b9Up 4 minutes (healthy)RestartCountexited: corescope-over 300 lines)#204 regression check, deliberately repeated after the deploy
The deploy recreates the container from
/opt/corescope/docker-compose.yml, so it was the first real test of whether the #204 mount fix survives a deploy rather than only a manualup -d. It did:and
/region-layers/layers.jsonreturns real JSON. Had the fix not persisted, this release would have silently re-broken the region-def page it exists to improve.Filed before the tag, which is the point
v0.3.2 (#202) and v0.3.3 (#205) were both written up after the fact. This one existed before the tag was cut, so the pre-flight criteria were set in advance and not reverse-engineered from the outcome.
Version
v0.3.4, patch, owner-confirmed. Matches v0.3.3 shipping the whole region-def page (#187) as a patch. Noted at the time that strict semver would call a user-visible feature a minor bump; consistency was chosen over correctness and the owner agreed.Carried forward
Closeskeyword in Adding buffer ring to scope def #208's body rather than by a QA decision. Raised in review, not changed before merge; the owner's call was that this work is not going through Testing.Closing as done.
diffwireauto commentedon Oct 19, 2026
v0.3.4 live on prod and verified. Full record above.