Commit Graph
68 Commits
Author SHA1 Message Date
jesse-uxandGrok (agent loop) 9455fbfc4f fix(release): keep daily backups from stalling when the disk fills
Expired daily files are pruned before a new backup, a verify older than 36 hours raises an alert, and the host monitors call sudo with the production env file. The Linux 0600 check is on the staging quick list.

Co-Authored-By: Grok (agent loop)
2026-10-15 17:24:26 +08:00
jesse-uxandGrok (agent loop) 14897f0bf3 merge origin/staging into the beta safety net branch
Safety-net records move to BUG-1358 through BUG-1361 because staging already uses BUG-1355 through BUG-1357 for capacity.

Co-Authored-By: Grok (agent loop)
2026-10-15 17:13:57 +08:00
jesse-uxandGrok (agent loop) 5c0d895391 fix(release): daily backups no longer replace the recovery point
Product chose to keep the scheduled backup, but the current recovery point must stay the one created by hand. Daily runs still encrypt and restore-verify, then record a separate latest-backup note.

Co-Authored-By: Grok (agent loop)
2026-10-15 16:16:48 +08:00
jesse-uxandGrok (agent loop) a54f75e5e3 fix(capacity): limit each user and queue heavy compute briefly.
Consult, rectification turns, and report generation stop before a credit reservation when the product caps are hit. A full heavy-compute gate waits up to 8 seconds, and one consultation retries that 429 inside the same request.

Co-Authored-By: Grok (agent loop)
2026-10-15 13:33:06 +08:00
jesse-uxandGrok (agent loop) 53d8df257d 给内测补上每日加密备份、宕机告警和日志上限。
主机安装和一次恢复演练留给产品。页面没有变化。

Co-Authored-By: Grok (agent loop)
2026-10-15 12:58:34 +08:00
jesse-uxandGrok (agent loop) 00e6efdbfa 发布可以跟上只多了文档的测试环境头
四个生产工作流改用同一条发布修订:最近一次代码门禁成功的提交可以发布,后面只多文档不再挡住。生产环境拒绝测试验证码。63 个还没上生产的迁移写了分级、演练脚本和首发步骤。没有点任何生产按钮。

自测:发布修订 7 通过,演练安全 3 通过,tsc 0 错,lint 0 error。本机空库演练在服务角色读人物表处按设计停止(退出码 4,其他人物已确认行数为 0)。

Co-Authored-By: Grok (agent loop)
2026-10-14 10:24:40 +08:00
jesse-uxandGrok (agent loop) 4c3485bc23 服务器长跑不再堆积取消监听,数据库少走几趟。
报告工人的等待到点就摘掉取消监听。本地数据库缓存表结构,并把设置身份合成一条语句,对照通过后默认打开,写成 off 仍走原来的语句。交付、重算和限流的内存表会过期。登录读缓存默认关闭,要开再设 IDENTITY_SESSION_COOKIE_CACHE=on。

自测:tsc 通过,lint 0 error,点名测试 134 通过,test:db 开关关和开都只有已知的 13 条失败,往返 49 降到 32。

Co-Authored-By: Grok (agent loop)
2026-10-14 03:32:39 +08:00
Jesse_ChenandClaude Opus 5.5 8f58eccecf feat(legal): terms and privacy pages, login consent recorded per version, re-consent gate (draft text, placeholders)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
2026-09-30 09:42:11 +08:00
Jesse_ChenandClaude Opus 5 10afdcddeb docs(tasks): 校正标题修补迁移的进度记录与 Bug 历史回填
Independent Staging Quality Gate / validate (push) Canceled after 38s
Independent Staging Quality Gate / publish (push) Canceled after 0s
- PROGRESS-rectification-title-repair-migration-20260916.md:前提复核、
  逐字一致的复核命令、幂等两层的说明、基线比对与环境缺口。
- BUG_HISTORY:BUG-699 / BUG-704 的「修复」补记改由迁移承担,「验证」
  的欠账改成待产品在 staging 应用后从 NOTICE 回填。不新增编号。
- BLOCKED.md:BLK-002 无 Docker / 无本地 PostgreSQL,test:db 未跑、
  db:migrate:check 缺 SCHEMA_DATABASE_URL,附已实跑的替代证据。
- deploy/README.md:一次性数据修补走同一个 Migrate Staging Database
  按钮,行数看日志里的 notice 行。
- docs/tasks/README.md:该单改记待验收。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JUei7K13cYxLHE3Axe4A45
2026-09-16 01:39:03 +00:00
jesse-ux 69ede4367f fix(ci): migrate staging automatically before deploy
Independent Staging Quality Gate / validate (push) Successful in 10m6s
Independent Staging Quality Gate / publish (push) Successful in 4m18s
Quality gate now dispatches Migrate Staging Database, waits for success, then dispatches Deploy staging. Automatic migrate attests the in-progress gate run so the two jobs cannot deadlock. Manual migrate is unchanged. Staging schema changes must stay backward-compatible with the currently deployed app.
2026-09-15 23:36:09 +08:00
jesse-ux 1a73f64ecd fix(ci): let staging migration resolve the latest gated SHA
Independent Staging Quality Gate / validate (push) Successful in 9m38s
Independent Staging Quality Gate / publish (push) Successful in 2m7s
Leave Migrate Staging Database deploy_sha empty (or type latest) to use the newest successful backend-quality-gate push. Filled 40-hex still takes the original path. Production workflows stay required.
2026-09-15 23:19:44 +08:00
Jesse_ChenandCursor b466a6fc8c fix(report): stop listing reports via PostgREST JSON paths (BUG-574)
Staging PostgREST rejects the executiveSummary JSON-path alias, so GET /api/reports 500s. Persist a plain card_summary column from the Markdown excerpt instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-07 11:08:00 +08:00
Jesse_ChenandCursor 13bde020fb fix(staging): let migrate accept docs-only-ahead like deploy
Independent Staging Quality Gate / validate (push) Successful in 8m57s
Independent Staging Quality Gate / publish (push) Successful in 1m49s
Docs-only staging HEAD blocked Migrate Staging Database even when an ancestor already had a successful exact-SHA gate, so pending SQL could not be applied.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 10:29:19 +08:00
Jesse_ChenandClaude Fable 5.1 fb69e43c90 ci: remove GitHub mirror workflows and dead Gitea manual workflows
Gitea (git.copse.top) is the only CI/CD control plane; GitHub is a
read-only mirror whose Actions are being disabled in repository settings.

- Delete all 11 `.github/workflows/*.yml` (stale copies of the old design).
- Delete unused Gitea manual workflows `ci.yml`, `test.yml`,
  `publish-pypi.yml`, `apply-supabase-profile-migrations.yml`
  (0-1 historical runs, no remaining target).
- Fold the full `python -m pytest` tree and `tests/run_all.py` into
  `release-quality-gate.yml`, which previously only ran the curated
  release profile; update the `run_quality_gate.py` comment accordingly.
- Port `reset-staging-account.yml` to Gitea: `runs-on: xiaoxin`, bounded
  exact-SHA checkout, `refs/heads/staging` only, `staging-mutation`
  concurrency, same email/confirmation/host/port/user/path assertions.
- Repoint frontend workflow tests at `.gitea/workflows/`, drop the
  GitHub-only assertions, add coverage for the new reset workflow, and
  remove `tests/test_supabase_profile_migration_workflow.py`.
- Update AGENTS.md §6.8, README.md, and deploy/README.md to the current
  production/mirror facts and document the staging account reset.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VawU7Xfd5jS9wUEXz1XYmS
2026-09-02 04:02:04 +00:00
Jesse_ChenandCursor 124d3990b2 fix(api): persist scratch/local and bound heavy compute concurrency
Independent Staging Quality Gate / validate (push) Failing after 12m34s
Independent Staging Quality Gate / publish (push) Has been skipped
Keep async job and chart-cache files across API recreates, freeze jyotish_api_server.py growth, and fail fast with 429 when rectification or high-rigor compute is saturated.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 06:12:23 +08:00
Jesse_Chen 8ddcef4cf1 fix(deploy): prevent Next.js chunk version skew
Independent Staging Quality Gate / validate (push) Successful in 13m28s
Independent Staging Quality Gate / publish (push) Successful in 10m14s
2026-08-16 09:09:27 +08:00
Jesse_Chen 7b620c7a2e fix: repair production lock through direct mount
Independent Staging Quality Gate / validate (push) Successful in 13m1s
Independent Staging Quality Gate / publish (push) Successful in 2m13s
2026-08-16 04:16:12 +08:00
Jesse_Chen 9f31de7b4a fix: preserve recovery helper traversal
Independent Staging Quality Gate / validate (push) Successful in 12m19s
Independent Staging Quality Gate / publish (push) Successful in 2m14s
2026-08-16 03:30:03 +08:00
Jesse_Chen 29a7295667 fix: reuse docker boundary for production recovery
Independent Staging Quality Gate / validate (push) Successful in 13m32s
Independent Staging Quality Gate / publish (push) Successful in 2m13s
2026-08-16 02:42:18 +08:00
Jesse_Chen 2b1deff0e9 fix: repair production recovery lock ownership
Independent Staging Quality Gate / validate (push) Successful in 12m23s
Independent Staging Quality Gate / publish (push) Successful in 2m6s
2026-08-16 01:50:50 +08:00
Jesse_Chen 934c4175d3 ops: automate production recovery attestation
Independent Staging Quality Gate / validate (push) Successful in 13m3s
Independent Staging Quality Gate / publish (push) Successful in 2m18s
2026-08-16 01:03:10 +08:00
Jesse_Chen 7a613f26db fix(ci): isolate staging gate from legacy main listener
Independent Staging Quality Gate / validate (push) Successful in 12m45s
Independent Staging Quality Gate / publish (push) Successful in 2m7s
2026-08-13 13:05:59 +08:00
Jesse_Chen 013c15a9e9 ci(staging): decouple deployment from main
Staging Backend Quality Gate / validate (push) Successful in 14m50s
Staging Backend Quality Gate / publish (push) Failing after 7m58s
2026-08-13 11:57:24 +08:00
Codex 9b07e12b0c ops: prepare self-hosted production migration
Staging Backend Quality Gate / validate (push) Has been cancelled
Staging Backend Quality Gate / publish (push) Has been cancelled
2026-08-08 21:12:55 -04:00
Jesse_Chen 5fa1b8304e Allow public HTTPS model provider origins
Staging Backend Quality Gate / validate (push) Successful in 12m28s
Staging Backend Quality Gate / publish (push) Successful in 22m47s
2026-08-08 11:18:50 +08:00
Jesse_Chen 508f3db9c6 fix(staging): bootstrap database model key
Staging Backend Quality Gate / validate (push) Successful in 17m40s
Staging Backend Quality Gate / publish (push) Successful in 23m46s
2026-08-07 20:10:27 +08:00
Jesse_Chen 3089316d2e feat(admin): configure model providers from database 2026-08-07 20:03:20 +08:00
Jesse_Chen f3946eaa6f chore: retire legacy rectification runtime
Staging Backend Quality Gate / validate (push) Failing after 9m57s
Staging Backend Quality Gate / publish (push) Has been skipped
2026-08-07 12:55:32 +08:00
Jesse_Chen 9d8c73561f test(deploy): integrate billing admin rollout checks
Staging Backend Quality Gate / validate (push) Failing after 7m30s
Staging Backend Quality Gate / publish (push) Has been skipped
2026-08-06 20:15:50 +08:00
Jesse cfc7af6b46 fix(staging): rotate SSH secret handling and env ownership
Staging Backend Quality Gate / validate (pull_request) Successful in 16m32s
Staging Backend Quality Gate / publish (pull_request) Has been skipped
2026-08-06 15:34:31 +08:00
Jesse_Chen 5957803de4 Merge GitHub upstream into Gitea primary 2026-08-05 11:13:34 +08:00
linmeng f4e35974c6 Revert "merge: sync GitHub staging to Gitea"
Deploy staging to test server / deploy (push) Failing after 14m49s
This reverts commit a55c69115d, reversing
changes made to 02c9c9f3d6.
2026-07-30 14:38:17 +08:00
Jesse_Chen f0f7c27382 fix: verify semantic rollout runtime 2026-07-29 19:26:51 +08:00
Jesse_Chen 6ed9f2dd0a fix: enable semantic rectification rollout 2026-07-29 19:18:09 +08:00
Jesse_Chen 092efa0ed2 ops: manage staging rectification rollout 2026-07-28 13:48:29 +08:00
Jesse_Chen 47acaf3f53 ci: add guarded production rectification migrations 2026-07-25 02:15:20 +08:00
Jesse_Chen 3ca30ed7de feat: complete minute birth-time rectification flow 2026-07-25 01:17:14 +08:00
Jesse_Chen a1b8eaec36 feat(staging): switch to local postgres 2026-07-22 11:04:36 +08:00
Jesse_Chen 7836c85758 merge: resolve self-hosted identity main conflicts 2026-07-22 09:43:11 +08:00
Jesse_Chen 20f5a6c1d1 chore(identity): wire staging identity operations 2026-07-21 17:52:25 +08:00
Jesse_Chen eb8ed8bee4 Merge branch 'feat/conversational-birth-time-rectification'
# Conflicts:
#	.github/workflows/deploy-production.yml
#	frontend/src/app/api/account/route.ts
#	frontend/src/app/globals.css
#	frontend/src/app/page.tsx
#	frontend/tests/health-deployment.test.ts
2026-07-21 16:03:53 +08:00
Jesse_Chen 576ebf9bf2 fix: gate rectification rollout to canary users 2026-07-21 15:19:03 +08:00
Jesse_Chen 6827e0ca45 test: close conversational rectification review gaps 2026-07-21 15:06:42 +08:00
Jesse_Chen ffaa7dc9c5 test: verify conversational birth-time rectification 2026-07-21 14:40:43 +08:00
Jesse_Chen ab6de1fda9 docs: bound staging rollback window 2026-07-21 07:45:14 +08:00
Jesse_Chen 3a9a332be0 fix: preserve staging rollback transition 2026-07-21 07:45:14 +08:00
Jesse_Chen 9e119df977 fix: keep staging control plane on main 2026-07-21 07:45:14 +08:00
Jesse_Chen 2f08940717 fix: pin and serialize staging releases 2026-07-21 07:45:14 +08:00
Jesse_Chen 92cc635b45 fix: scope production action trigger guidance 2026-07-21 07:45:14 +08:00
Jesse_Chen a57f233d45 fix: harden staging operations runbook contracts 2026-07-21 07:45:14 +08:00