down-merge release into main (unblocks the prod promotion) #140

Merged
admin_emi merged 18 commits from chore/downmerge-release-to-main into main 2026-08-01 14:46:47 +00:00
Owner

release carried four commits that never came back to main: the onboarding guide (a23c667), its follow-up fixes (18f50ad, #99) and two alerting fixes (9b0fae5 #94, 1f9a6f0 #96). Because release was therefore not an ancestor of main, main -> release could not merge under any style — that is the cause of #132 reporting mergeable=false.

The merged tree is byte-identical to main: all four changes had already reached main independently, so this PR changes no files. It only restores ancestry, after which main -> release fast-forwards.

Conflicts were add/add on docs/onboarding/* and one comment line in observability/grafana/provisioning/alerting/rules-prod.yml, all resolved to main. release copies of the onboarding guide predate the vps1/vps2 cutover and still describe beta on vps1, dev on the desktop and Forgejo co-located with beta.

BRANCHING.md requires this down-merge in the same session as the hotfix; that was missed at the time.

release carried four commits that never came back to main: the onboarding guide (a23c667), its follow-up fixes (18f50ad, #99) and two alerting fixes (9b0fae5 #94, 1f9a6f0 #96). Because release was therefore not an ancestor of main, main -> release could not merge under any style — that is the cause of #132 reporting mergeable=false. The merged tree is byte-identical to main: all four changes had already reached main independently, so this PR changes no files. It only restores ancestry, after which main -> release fast-forwards. Conflicts were add/add on docs/onboarding/* and one comment line in observability/grafana/provisioning/alerting/rules-prod.yml, all resolved to main. release copies of the onboarding guide predate the vps1/vps2 cutover and still describe beta on vps1, dev on the desktop and Forgejo co-located with beta. BRANCHING.md requires this down-merge in the same session as the hotfix; that was missed at the time.
admin_emi added 18 commits 2026-08-01 14:29:40 +00:00
Merge pull request 'Promote main to release (domain-sha tag keying)' (#5) from main into release
All checks were successful
secrets-guard / encrypted (push) Successful in 5s
46e3163420
Merge pull request 'Promote main to release (tag-keying remainder)' (#8) from main into release
All checks were successful
secrets-guard / encrypted (push) Successful in 5s
11a5e59797
Merge pull request 'Promote main to release (deploy prod): Open-Meteo migration' (#12) from main into release
All checks were successful
secrets-guard / encrypted (push) Successful in 8s
Build + push backend image (Forgejo registry) / build-push (push) Successful in 40s
Deploy backend to prod VPS / deploy (push) Successful in 1m15s
7d6b7850a1
Merge pull request 'Promote main to release (deploy prod): ERA5 lake stack + Go daemon' (#29) from main into release
All checks were successful
Build + push frontend image (Forgejo registry) / build-push (push) Successful in 56s
Build + push backend image (Forgejo registry) / build-push (push) Successful in 59s
secrets-guard / encrypted (push) Successful in 7s
shell-lint / shellcheck (push) Successful in 9s
Deploy backend to prod VPS / deploy (push) Successful in 1m17s
Deploy frontend to prod VPS / deploy (push) Successful in 33s
f8481ecf70
Merge pull request 'Promote main to release: lake extension bake + daemon healthcheck fixes' (#32) from main into release
All checks were successful
secrets-guard / encrypted (push) Successful in 11s
shell-lint / shellcheck (push) Successful in 10s
Build + push backend image (Forgejo registry) / build-push (push) Successful in 50s
Deploy backend to prod VPS / deploy (push) Successful in 1m15s
372813b67b
Merge pull request 'Promote main to release: daemon roll + Iceberg-backed lake query' (#42) from main into release
All checks were successful
secrets-guard / encrypted (push) Successful in 6s
shell-lint / shellcheck (push) Successful in 12s
Build + push frontend image (Forgejo registry) / build-push (push) Successful in 37s
Deploy frontend to prod VPS / deploy (push) Successful in 48s
a3a1209645
Merge pull request 'Promote main to release: Iceberg-backed lake query' (#46) from main into release
All checks were successful
secrets-guard / encrypted (push) Successful in 9s
shell-lint / shellcheck (push) Successful in 13s
Build + push backend image (Forgejo registry) / build-push (push) Successful in 58s
Deploy backend to prod VPS / deploy (push) Successful in 2m59s
b1b97e7c7d
Merge pull request 'Promote main to release: geocode P0 fix + ops tooling + privacy logging' (#53) from main into release
All checks were successful
secrets-guard / encrypted (push) Successful in 9s
shell-lint / shellcheck (push) Successful in 8s
Build + push backend image (Forgejo registry) / build-push (push) Successful in 47s
Deploy backend to prod VPS / deploy (push) Successful in 1m30s
4daa10c76d
Merge pull request 'Promote main to release: first alerting + Postfix supervision' (#61) from main into release
All checks were successful
secrets-guard / encrypted (push) Successful in 6s
shell-lint / shellcheck (push) Successful in 7s
67996d5b77
Merge pull request 'Promote main to release: MET forecast coverage gate' (#65) from main into release
All checks were successful
secrets-guard / encrypted (push) Successful in 17s
shell-lint / shellcheck (push) Successful in 16s
Build + push backend image (Forgejo registry) / build-push (push) Successful in 1m3s
Deploy backend to prod VPS / deploy (push) Successful in 2m0s
66f2cf0dfe
Merge pull request 'Promote main to release: NASA retirement' (#74) from main into release
All checks were successful
secrets-guard / encrypted (push) Successful in 17s
shell-lint / shellcheck (push) Successful in 24s
Build + push frontend image (Forgejo registry) / build-push (push) Successful in 1m22s
Build + push backend image (Forgejo registry) / build-push (push) Successful in 1m28s
Deploy backend to prod VPS / deploy (push) Successful in 3m24s
Deploy frontend to prod VPS / deploy (push) Successful in 3m50s
51889d6979
Merge pull request 'Promote main to release: vault consolidation, dev + Centralis vaults' (#79) from main into release
All checks were successful
secrets-guard / encrypted (push) Successful in 5s
shell-lint / shellcheck (push) Successful in 8s
4fce9e1540
promote: main → release (#93)
All checks were successful
secrets-guard / encrypted (push) Successful in 18s
shell-lint / shellcheck (push) Successful in 16s
Build + push images (Forgejo registry) / build-push (backend) (push) Successful in 1m27s
Build + push images (Forgejo registry) / build-push (frontend) (push) Successful in 1m25s
Deploy / deploy (backend) (push) Successful in 1m31s
Deploy / deploy (frontend) (push) Successful in 1m45s
90f699ceaf
Reviewed-on: https://git.thermograph.org/emi/thermograph/pulls/93
Twelve documents under docs/onboarding/ covering orientation, local setup,
the repo map, per-domain deep dives, the cross-service contracts, CI and the
release flow, infra and secrets, observability, task recipes, and a list of
which docs in this tree are currently stale.

Every command in the setup guide was run against this checkout: the backend
suite (429 passed, 8 skipped), the frontend Go suite, a venv boot of the
backend, and a build+boot of the Go frontend.

Two findings recorded along the way:

- static/units.js's F_REGIONS is guarded by no test, despite three source
  comments claiming "a test asserts all three stay identical". The Go test
  only cross-checks the Go copy against the backend's Python. All four copies
  are currently identical.
- backend/ and frontend/docker-compose.test.yml still default to the retired
  emi/thermograph-backend/app image path, and the frontend harness pins the
  split-era v0.0.2-split-ci tag.

Claude-Session: https://claude.ai/code/session_01AfXqHrxCJLs2D7hpQkiUiJ
frontend: fix the three inconsistencies the onboarding guide found (#99)
All checks were successful
secrets-guard / encrypted (push) Successful in 16s
shell-lint / shellcheck (push) Successful in 14s
Build + push images (Forgejo registry) / build-push (backend) (push) Successful in 1m24s
Build + push images (Forgejo registry) / build-push (frontend) (push) Successful in 1m23s
Deploy / deploy (backend) (push) Successful in 2m36s
Deploy / deploy (frontend) (push) Successful in 2m49s
18f50ad09b
Merge branch 'release' into main
All checks were successful
secrets-guard / encrypted (pull_request) Successful in 6s
PR build (required check) / changes (pull_request) Successful in 12s
shell-lint / shellcheck (pull_request) Successful in 8s
PR build (required check) / build-backend (pull_request) Has been skipped
PR build (required check) / build-frontend (pull_request) Has been skipped
PR build (required check) / validate-observability (pull_request) Has been skipped
PR build (required check) / gate (pull_request) Successful in 2s
secrets-guard / encrypted (push) Successful in 5s
shell-lint / shellcheck (push) Successful in 8s
Build + push images (Forgejo registry) / build-push (backend) (push) Successful in 23s
Build + push images (Forgejo registry) / build-push (frontend) (push) Successful in 22s
Deploy / deploy (backend) (push) Successful in 1m21s
Deploy / deploy (frontend) (push) Successful in 1m38s
90142cebbf
Reconciles the four commits that landed on release via the hotfix path and
were never down-merged: the onboarding guide (a23c667), its follow-up fixes
(18f50ad, #99), and two alerting fixes (9b0fae5 #94, 1f9a6f0 #96).

The resulting tree is byte-identical to main — every one of those changes
already reached main independently, so this carries no content. What it
carries is ancestry: release was not an ancestor of main, which made
main -> release unmergeable under any merge style and is why #132 reported
mergeable=false.

Conflicts were add/add on docs/onboarding/* and one comment line in
observability/grafana/provisioning/alerting/rules-prod.yml. All resolved to
main's side: release's copies predate the vps1/vps2 cutover and still
describe beta on vps1, dev on the desktop, and Forgejo co-located with beta.

BRANCHING.md requires this down-merge in the same session as the hotfix.
That step was missed; this closes it.
admin_emi merged commit 90142cebbf into main 2026-08-01 14:46:47 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Jinemi/thermograph#140
No description provided.