Repository navigation
regions: trim back to the first Regions PR (#501) - #524
Conversation
Re-applies only the generic CI part of a3f3716 (from #502), which the revert of #502 removed: aggregateShards imports coverage from every verified shard, namespaces non-core shard files and rejects duplicate targets. Its two tests in test-ci-shards.js come back with it. Relates to #523. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Pins the #523 trim: /api/regions/history and /api/regions/routes stay unregistered and out of OpenAPI while /api/regions/observed stays; public/ and docs/ carry no history/routes references or scripts; the page shows only period, scope and refresh controls on desktop and mobile and never fetches the removed endpoints. docs/regions-observed.md no longer lists the removed views as upcoming milestones and records why they were removed. Relates to #523. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rapport — CS-pve-agent3 PR#524 #523 — head 63bf299Status: Draft PR ready for review: all five reverts plus the re-applied CI-shard change are in, every requirement has a test that is red on Evidence tags: [T] test or command run locally, [A] analysis or reading of code/diff, [K] CI result. Requirements
Local runs
Perf (local benchmark; staging is measured by the coordinator)A temporary, uncommitted benchmark ran
The unscoped CI per job (run 39914615813, first attempt, no reruns)
The known flaky test #271 did not fail. Remaining
|
Review — CS-Minimax PR#524 — head 63bf299Dom: REQUEST CHANGES. One small fix is needed: the #502 revert also dropped a generic E2E deflake ( Evidence tags: [T] test or command I ran myself, [A] analysis or reading of code/diff, [K] CI result. Reviewed head Findings
Answers to the review points1. Are the five reverts faithful? Yes. [A]
2. Was anything outside Regions lost? Only finding 1. [A] [T]
3. Does the CI-shard re-apply equal a3f3716? Yes. [A] [T]
4. Are the guard tests meaningful? Yes. Two are slightly brittle (nits 2 and 3).
Acceptance criteria (#523)
Invariants
Tests run (merged tree
|
| Suite | Result |
|---|---|
cmd/server go vet . + go test ./... -count=1 |
ok (69.8s) [T] |
cmd/ingestor go test ./... -count=1 |
ok (113s) [T] |
cmd/server go test -race (Region, Coverage509, NoSQLUnderStoreLock, ChunkedLoad, BackgroundLoad, RelaySnapshot, ReadOnly) |
ok (214s) [T] |
sh test-all.sh |
259 passed, 0 failed (259 files); some flock-only shell cases are SKIPPED on macOS [T] |
node test-frontend-helpers.js |
719 passed, 0 failed [T] |
node test-regions-map.js, node test-ci-shards.js |
pass, 11/11 [T] |
E2E against a local Go server on e2e-fixture.db, prepared as in CI (freshen, inline seed SQL, corescope-migrate, seeds 2073/199/245/122) |
test-regions-map-e2e.js 12/12 (13/13 with REGIONS_SCREENSHOT_DIR); test-home-coverage-e2e.js 12/12; test-issue-304-my-mesh-e2e.js pass; test-issue-2027-my-mesh-node-page-e2e.js 25/25; test-e2e-playwright.js 154/157, 3 skipped, including both #382 node stats table rows ... (one run, so finding 1's race did not show here) [T] |
| CI run 39914615813, attempt 1 | All jobs pass: Go Server 1/2/3, Go Ingestor, Go Libraries & CLI, Go Build & Test, JS Unit & Lint, Script & Container, Verify Go Test Assignments, Playwright 1/2/3, Verify E2E Shards & Coverage, Validate Docker Image, Build & Publish Docker Image. Release/Badges/Deploy were skipped, as they are for PRs. Known flakes #256 and #267 did not fire. [K] |
Own mutants (all on the merged tree)
| # | Mutant | Result |
|---|---|---|
| M1 | Re-register /api/regions/history in routes.go |
Killed: TestRegionsTrimRemovedEndpointsReturn404 (503 ≠ 404) [T] |
| M2 | Re-add "GET /api/regions/routes" to routeDescriptions() |
Killed: TestRegionsTrimRemovedEndpointsNotInOpenAPI [T] |
| M3 | Re-add a regions-routes.js script tag in index.html |
Killed: test-regions-map.js [T] |
| M4 | Add a "Region view" <select> to the Regions controls (served by a second local server) |
Killed: E2E 1440px selects [T] |
| M5 | fetch('/api/regions/' + 'history') on init, concatenated to evade the static scan |
Static scan passes, as expected. Killed by the E2E removedRequests assertion [T] |
| B1 | Brittleness probe: release-note line naming the removed endpoints | test-regions-map.js fails → nit 2 [T] |
Not verified
- Staging RSS and relay recompute time. Left to the coordinator, as the PR says; I did not touch staging or prod.
- I did not re-run the author's temporary benchmark (master ~136–143 ms / 132.5 MB vs head ~33 ms / 28.4 MB).
- I did not repeat the
#382 node stats tableE2E enough times to reproduce the original race. Finding 1 rests on feat(regions): timeline playback and period comparison #502's recorded CI failure and its local reproduction, not on a new failure here. - The full ingestor
-racerun was not done. The PR does not touchcmd/ingestor/. - I did not inspect the Verify E2E Shards job's log to confirm that coverage was actually imported from every shard. I checked only the job's status.
…E2E control guard (#523) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Rapport — CS-pve-agent3 PR#524 runde-2 — head a1a3e91Review feedback addressed (commit
Tests
Mutants
CI (run 39923893642), per jobAll jobs pass. No re-run was needed, and #271 and #301 did not appear.
I did not touch stg or prod. |
|
Coordinator: round-2 verified at a1a3e91. Finding 1 is fixed: |
Relates to #523
Summary
Trims Regions back to the first Regions PR (#501): the period view (1h / 24h / 7d) with retained-history coverage and
/api/regions/observed. Everything added after it is reverted for its memory and recompute cost.Plan / commits
fded234fgit revert -m 1 6fe9603a: #510 budget redesign and capture diagnosticsa7ef1bc8git revert -m 1 45c96070: #507 per-bucket/per-scope evidence, membership capturee4274365git revert -m 1 c6574b46: #505 Connections view,/api/regions/routes, StoreObs transport fields67e7fc7egit revert -m 1 9933d05d: #503 Health & trendsf4a20a2egit revert -m 1 5ff889db: #502 Timeline and comparison,/api/regions/history80d4fb2fscripts/report-e2e-shards.jsimports coverage from every successful shard, plus its two tests intest-ci-shards.js63bf299cdocs/regions-observed.mdno longer lists the removed views as upcoming milestonesAll five reverts applied cleanly on
d18ffd2c, newest first.What stays
regions_observed.go,regions-map.js,test-regions-map*.jsanddocs/regions-observed.mdare byte-identical to the post-feat(regions): add time windows and retained-history coverage #501 tree (68f243d8). The only exception is the doc's milestones section, changed in commit 7.68f243d8inregions_observed_test.goandrepeater_enrich_bulk.goare History coverage: prove retained history instead of exact load ratio #511's.history_coverage.go, the re-heard load inchunked_load.go/store.go, andnode_activity_24h.goare untouched.scripts/report-e2e-shards.jsandtest-ci-shards.jsare identical toorigin/master.cmd/ingestor/or.github/. Fork guards remain 9 indeploy.ymland 1 inrelease-fast-path.yml.Leftover sweep
I grepped
cmd/,public/,docs/,scripts/,.github/and the tests forregions/history,regions/routes,regions-history.js,regions-routes.js,captureAt,cacheObservationWireEvidence,wireTransport,transportKnown,regionMemberships,RegionsSnapshotMemory,regionsSnapshot,stepEndpointLimitand the membership budget code. Nothing is left.The remaining "evidence"/"membership" hits are generic: relay-evidence rules from #501, node region cache,
configured_scope, and Areas. The only leftover that belonged to the reverted features was the "Following milestones" section indocs/regions-observed.md. It listed timeline, health and connections as planned work. It is replaced by a short note on why they were removed.Tests (each red on
d18ffd2c, green here)cmd/server/regions_trim_523_test.go:GET /api/regions/historyand/api/regions/routesreturn 404 through the production router, and/api/regions/observedstays registered.observedstill is.test-regions-map.js:public/(excluding vendor) ordocs/references the removed endpoints or scripts.regions-history.jsandregions-routes.jsdo not exist.test-regions-map-e2e.js: at 1440px and 390px the controls are exactly Period, Scope and Refresh, with no view/timeline/compare/health elements. The page never requests/api/regions/history|routes.test-ci-shards.js: the two re-applied tests fail without the script change.Perf justification
The reverts remove work from the 5-minute relay snapshot recompute (
computeRepeaterRelaySnapshot). Before, it captured route, history, membership and evidence cells for every transmission and observation and kept them in a published snapshot. They also remove two fields fromStoreObs, which fit in existing padding so the struct size stays at 200 B.Local benchmark: a temporary uncommitted benchmark ran the same 30K-transmission / 2K-node / 8-scope fixture as master's
BenchmarkRegionsRoutesComputeMixedEvidence30K2KthroughcomputeRepeaterRelaySnapshot(24), 6 runs each:d18ffd2cThe unscoped
BenchmarkConfirmedRelayBulk30KPackets2KNodes(present in both trees) goes from ~130.9K to ~100.5K allocs/op, with time unchanged (~31 ms). On master,BenchmarkRegions168HBudgetsreported 3.6–7.3 MB of retained Regions snapshot, which this PR removes.The coordinator measures RSS and relay recompute time on staging before and after; this PR does not touch staging or prod.
Round 2 additions
29cd1a05(test(e2e): await initial theme before node table style checks) as43b9c391. It is an E2E deflake, not Regions code, and stays. After theorigin/mastermergetest-e2e-playwright.jsis byte-identical toorigin/master.test-regions-map.js: the residual scan skipsdocs/release-notes/anddocs/RELEASE-NOTES-*, so a release note about the removal can name the removed endpoints. A fixture test proves it and proves stale docs andpublic/are still flagged.test-regions-map-e2e.js: a comment at the exact control set says to update it when a legitimate control is added.Local validation
cmd/server:go vet .andgo test ./...pass.go test -racepasses on the regions/store/load/coverage/lock tests.cmd/ingestor:go test ./...passes.go test -racepasses on the region/store/load/retention tests.sh test-all.shpasses: 259 files, 0 failed.node test-frontend-helpers.js: 719 passed.e2e-fixture.db, prepared as in CI (freshen, inline seed, migrate, seed files):test-regions-map-e2e.js: 13/13test-home-coverage-e2e.js: passedtest-issue-304-my-mesh-e2e.js: passedtest-issue-2027-my-mesh-node-page-e2e.js: 25/25scripts/check-xss-sinks.sh --diff origin/masteris clean. The non-test diff adds nomap[string]interface{}and adds no hex colours.TestNoSQLUnderStoreLock(perf(store): move runtime SQL outside packet-store locks #495) passes.Config / customizer
The default period should still be exposed in the customizer in a later milestone, as #501 noted. The thresholds and playback settings of the removed views no longer apply.
🤖 Generated with Claude Code