2026-07-25T20:58:37Z - 2026-08-01T20:58:37Z
Overview
53 pull requests merged by 2 users
Merged
#160 make: add root install/up/down for the local stack
Merged
#159 promote: main → release (jinemi registry namespace, Caddy trusted_proxies, CI login fix)
Merged
#158 promote: dev → main (doc accuracy pass, runner unit fix)
Merged
#157 forgejo: make the desktop runner unit restart-always, fix the vps2 config path
Merged
#156 docs: correct file references and the dev reachability claim
Merged
#152 promote: dev → main (Forgejo on dev.jinemi.com; jinemi registry namespace)
Merged
#155 build-push: drop the empty ${{ }} that silenced the registry login
Merged
#154 build-push: stop a whitespace-tainted REGISTRY_TOKEN failing as "denied"
Merged
#153 forgejo: record why the runner is on vps2, rather than leaving a contradiction
Merged
#150 registry: move image and repo references to the Jinemi namespace
Merged
#151 forgejo: make dev.jinemi.com canonical (ROOT_URL and OAuth callback)
Merged
#148 forgejo: serve dev.jinemi.com alongside git.thermograph.org
Merged
#145 lb: trust the host Caddy's X-Forwarded-Proto
Merged
#149 openbao: make verify-parity --all host-aware
Merged
#147 infra-sync: render /etc/centralis.env from the vault
Merged
#143 openbao: make the parity gate actually work, and run it nightly
Merged
#141 ci: add an always-on Actions runner on vps2
Merged
#132 promote: main → release
Merged
#140 down-merge release into main (unblocks the prod promotion)
Merged
#139 promote: dev → main
Merged
#137 secrets: make the two-host age key quorum a checked policy
Merged
#138 rotate Contabo S3 credentials
Merged
#133 feat/openbao-centralis-renderer
Merged
#131 promote: dev → main
Merged
#130 openbao: add a dormant OpenBao backend alongside SOPS
Merged
#128 forgejo: restart the db service on a clean exit, not just on failure
Merged
#127 promote: dev → main (sign in with Google; shared OAuth engine)
Merged
#122 accounts: sign in with Google, on a shared provider-agnostic OAuth engine
Merged
#126 docs: the orchestrator runbook and the module map
Merged
#125 promote: dev → main
Merged
#124 db: raise max_connections to 200, cap work_mem at 64MB, trim async pool overflow
Merged
#123 promote: dev → main (bookmarks fixes: SSR script tag, phantom save at cap)
Merged
#121 bookmarks: don't fabricate a local save when the server rejects it
Merged
#120 frontend: load bookmarks-ui.js from the Go SSR home template too
Merged
#119 promote: dev → main (location bookmarks)
Merged
#117 bookmarks: account-synced saved locations API
Merged
#116 promote: dev → main (sign in with Discord)
Merged
#115 accounts: sign in with Discord, sharing the existing link callback
Merged
#114 promote: dev → main
Merged
#113 dev: leave /healthz outside the basic-auth boundary
Merged
#112 promote: dev → main (dev behind basic auth at dev.thermograph.org)
Merged
#111 dev: serve at dev.thermograph.org behind basic auth, bound to loopback
Merged
#110 promote: dev → main (cutover fixes: sync-dev guard, owner-db hardening, post-deploy gate)
Merged
#109 deploy.sh: honour TG_POST_DEPLOY on the compose path too
Merged
#108 provision-env-db: revoke PUBLIC connect on the owner database too
Merged
#106 promote: dev → main (vps1/vps2 estate split)
Merged
#107 infra-sync: refuse to render dev's vault onto a host that is not dev
Merged
#103 infra: split the estate into vps1/vps2 — beta joins prod, dev gets a home
Merged
#105 promote: dev → main (Weekly UTC-today date fix)
Merged
#104 fix(frontend): Weekly view must always send an explicit date to /grade
Merged
#101 promote: main → release
Merged
#100 promote: dev → main
Merged
#99 frontend: fix the three inconsistencies the onboarding guide found
4 pull requests proposed by 1 user
Proposed
#102 narrative: precomputed plain-English day summaries
Proposed
#118 bookmarks: map + account UI for saved locations
Proposed
#129 WIP: openbao: add a dormant OpenBao backend alongside SOPS
Proposed
#144 secrets: validate CENTRALIS_TEAM at render time, like CENTRALIS_TOKENS
6 issues closed from 1 user
Closed
#55 climate_sync silently dead-letters cells: 4 never recent-synced, 6 with zero derived rows, 39 stale >24h - nothing retries, nothing reports
Closed
#56 ERA5 Iceberg lake is unqueryable in both prod and beta - "is the ERA5 ingest current?" cannot be answered by any means
Closed
#66 Recent/forecast grade window has date gaps and boundary-row artifacts (missing 07-22/07-23, future-dated rows, spurious 100th-pct boundary lows)
Closed
#68 Discord conversational agent can't emit real @mentions (posts literal "@username" text instead)
Closed
#67 Discord bot narrates future-dated forecast rows in the past tense
Closed
#54 No alerting on prod 5xx: 87 errors in 24h (incl. 5x /healthz, 5x homepage) went entirely undetected
2 issues created by 1 user
Opened
#142 Saved locations only accessible in Weekly tab
Opened
#146 Incorrect units on humidity in recent & 7-day forecast table