From a423efc0c5abaf883fbb3588cdf55fe4251e294b Mon Sep 17 00:00:00 2001 From: sbc1-code <207095575+sbc1-code@users.noreply.github.com> Date: Wed, 21 Oct 2026 20:48:38 -0700 Subject: [PATCH] docs: record verified historical pattern release and revert path --- CHANGELOG.md | 8 +++++++- ROADMAP.md | 10 ++++++---- docs/REFRESH-OPERATIONS.md | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eca2e0b0..6cc3d103 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ # CHANGELOG -## 2026-10-22 — Historical pattern confidence (prepared) +## 2026-10-22 — Historical pattern confidence (published) + +- PR #139 merged at `9893047411d8545df8298eb196a8f585258b1598` after both + CI checks passed. Production run `39718320478` succeeded; Vercel deployment + `dpl_2ZwQiEBevGVAGAguBVvB1Jv5ATxR` was READY with matching public manifest. + Real API readback and served-bundle EN/ES mobile/desktop fixtures passed. + Fresh build, 126 unit tests and 402 local/production route navigations passed. - Replace the crossing callout's live-looking generated prose with validated weekday/hour evidence from the existing 30-day sample. A Sunday pattern diff --git a/ROADMAP.md b/ROADMAP.md index 5022158b..743dd0df 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -108,10 +108,12 @@ cross-border experience; it is a product hypothesis, not a claim of demand. Comparison sharing and a fixed-choice usefulness prompt are prepared for the next release. Read `compare-share` and `compare-feedback` alongside visits; a feedback click is stated usefulness, not evidence of a completed crossing. -- [~] Correct the historical-pattern callout using validated weekday/hour - evidence, sample counts and source dates. Never present a Sunday pattern or - a 30-day weekday minimum as a live today observation. Source and regressions - are prepared October 22; publication evidence belongs to the scoped PR. +- [x] Correct the historical-pattern callout using validated weekday/hour + evidence, sample counts and source dates (PR #139, `98930474`). Production + run `39718320478`, public manifest and served EN/ES mobile/desktop behavior + were verified October 22. No live claim is made from historical medians; + malformed sources get a neutral unavailable state. Audit review is recorded + in the existing runbook; the eight moderate entries remain separate work. - Sebastian reports that Stripe is connected for BorderPulse. Verify the account, mode, product/Price, webhook and checkout state in Stripe before describing any paid offering or accepting a charge. The free, ad-supported diff --git a/docs/REFRESH-OPERATIONS.md b/docs/REFRESH-OPERATIONS.md index ad3a3c9a..0c4a9d0b 100644 --- a/docs/REFRESH-OPERATIONS.md +++ b/docs/REFRESH-OPERATIONS.md @@ -1,5 +1,40 @@ # Public data refresh +## Historical pattern release — 2026-10-22 UTC + +- [PR #139](https://github.com/sbc1-code/borderpulse/pull/139) merged reviewed + head `4ac65c1ffc92f72a0118f0e4ab2d1f34d5c39db5` at + `9893047411d8545df8298eb196a8f585258b1598`. Push and PR CI passed; original + operator edits and other worktrees were preserved. This is one data-confidence + correction, separate from the already published PRs #136–138. +- Existing [production run 39718320478](https://github.com/sbc1-code/borderpulse/actions/runs/39718320478) + succeeded, including 402 navigations and the unchanged audit/freshness gates. + Vercel `dpl_2ZwQiEBevGVAGAguBVvB1Jv5ATxR` was READY at + `borderpulse-26xrkjobg-sbc1-codes-projects.vercel.app`, with existing apex/www + aliases and matching commit. Public manifest prepared 03:42:56.043Z; live API + HTTP 200 with 42 crossings. No second workflow dispatch was used. +- Production EN/ES at 1440×900 and 390×844 showed the real dated historical + card. Separate synthetic fixtures against the served bundle passed weekday + scope, zero, malformed/future timing/evidence, recovery, dark mode and port + navigation, using isolated headless contexts with a different visitor + timezone. Shared Chrome tabs were untouched and headless processes closed. +- Fresh local build, 126 unit tests and 402 route navigations passed. The new + fixture initially leaked a simulated clock; it was moved into independent + browser contexts and the entire suite rerun successfully before publication. + Existing freshness, sharing, feedback, favorites, language and metadata + regressions passed. The eight moderate audit entries reviewed below remain. +- The consumer validates data shape and UTC timing, not the underlying CBP + observations or statistical methodology. Legacy generated summaries remain + in the feed for other consumers; no detector, threshold, feed or API changed. + This does not certify complete security/accessibility or imply conversion gain. +- Revert only this release's runtime/source/test diff in a new branch and PR, + keeping release history and newer collector data. The inverse patch is + `git diff 98930474 98930474^1 --binary -- src scripts package.json`; + apply it with `git apply --index`, record the rollback in these docs, then + build/test/merge through the existing gates and verify the new deployment. + An inverse-patch check against main passed with a temporary index; no rollback + was executed. Avoid rolling the whole site back to an older data bundle. + ## Bounded dependency review — 2026-10-22 UTC Official npm audit reports **eight moderate package entries**, zero high or