Commit Graph
816 Commits
Author SHA1 Message Date
Jesse_ChenandClaude Opus 5.5 5c3704166e docs(tasks): follow upstream 7a773d13 (D4 key, single-language, Niryaana Shoola PVR)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 20:39:55 +08:00
Jesse_Chen 84967d747f Merge remote-tracking branch 'origin/staging' into codex/upstream-sync8-finish-20261018
# Conflicts:
#	CHANGELOG.md
2026-10-18 18:44:55 +08:00
jesse-uxGrok (agent loop)Cursor
44e961ef9b docs: record the eighth upstream sync and the freeze decision
The ten calculation fixes are on this branch. Rectification trials match the previous replay, and the freeze files were not rewritten.

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 17:07:36 +08:00
jesse-uxandCursor a0e84845e9 feat(people): raise the chart archive cap to 20 people
Independent Staging Quality Gate / validate (push) Successful in 17m28s
Independent Staging Quality Gate / publish (push) Successful in 23m1s
The trigger, the shared constants, and the limit sentence now agree, and the archive and person menus scroll instead of growing past the screen.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 16:33:06 +08:00
Jesse_ChenandClaude Opus 5.5 e7bf60c1f2 docs(tasks): board row for #83
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 15:31:32 +08:00
Jesse_ChenandClaude Opus 5.5 04a70923f1 docs(tasks): synastry report → chat brief
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 15:19:45 +08:00
Jesse_ChenandClaude Opus 5.5 2b234493c6 docs(tasks): synastry analysis logic folded; technical summary follows upstream appendix
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 15:09:36 +08:00
Jesse_ChenandClaude Opus 5.5 a801985d4f docs(tasks): synastry report shows reasons inline and a dasha timeline
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 15:01:27 +08:00
Jesse_ChenandClaude Opus 5.5 ec30f4193e docs(tasks): synastry report as relationship portrait; #79 backend-only
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 14:41:08 +08:00
Jesse_ChenandClaude Opus 5.5 128b5e25b0 docs(tasks): board rows for #81 #82
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 13:29:26 +08:00
Jesse_ChenandClaude Opus 5.5 a84136b362 docs(tasks): full-reading module parity brief (5 upstream modules)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 13:20:38 +08:00
Jesse_ChenandClaude Opus 5.5 47b4a23174 docs(tasks): synastry full report brief; #79 becomes engine + picker (no billing)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 13:15:51 +08:00
Jesse_ChenandClaude Opus 5.5 c4c983cf2a docs(tasks): marriage match follows upstream bde5d615 (35-point core, order-independent)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-18 13:04:46 +08:00
Jesse_ChenandClaude Opus 5.5 bafa296829 docs(tasks): marriage match engine ports upstream marriage_match.py
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-17 22:09:33 +08:00
Jesse_ChenandClaude Opus 5.5 edf25918b2 docs(tasks): link sync8 to issue #80
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HwMNZEzdzmrbPhuRNmZe3C
2026-10-17 18:35:50 +08:00
Jesse_ChenandClaude Opus 5.5 b5e0f9c215 docs(tasks): upstream sync8 brief from author fix branch caf1ed4e
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HwMNZEzdzmrbPhuRNmZe3C
2026-10-17 18:34:39 +08:00
Jesse_ChenandClaude Opus 5.5 d4e5ca3207 docs(tasks): marriage match rules switch to practitioner consensus
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-17 17:03:44 +08:00
Jesse_ChenandClaude Opus 5.5 e077667c08 docs(tasks): people archive limit 20 + marriage match phase 1 briefs
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-17 16:47:36 +08:00
Jesse_ChenandClaude Opus 5.5 712a0fd2a1 docs(rectification): narrower delivery brief + width funnel and karaka-interval research
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Ad9rqAB8pXXvyzh7f4X8v
2026-10-16 23:21:23 +08:00
Jesse_ChenandClaude Opus 5.5 1eb504d3e0 merge origin/staging into beta safety net (只碰文档;安全网 BUG-1358~1364 顺延为 1360~1366, issue #75)
Independent Staging Quality Gate / validate (push) Successful in 13m11s
Independent Staging Quality Gate / publish (push) Successful in 3m50s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-16 14:33:45 +08:00
jesse-uxandGrok (agent loop) fbf04f0b5f 把被逐字锁定的年运函数改回原样,历史清单不再要求已删除的占位文件。
Independent Staging Quality Gate / validate (push) Successful in 14m11s
Independent Staging Quality Gate / publish (push) Successful in 3m43s
年数表字面量留在 calc_mudda_with_dasha_balance 里。调用矩阵测试改为确认这两个路径已删并由现行模块接替。pytest 三条文件 187 通过、1 跳过、0 失败。

Co-Authored-By: Grok (agent loop)
2026-10-16 09:02:20 +08:00
Jesse_ChenandClaude Opus 5.5 ef9ee62a6b docs(tasks): dasha unify fix brief (agent loop, issue #69, bounce 1)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-16 08:35:02 +08:00
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_ChenandClaude Opus 5.5 32b238cf86 docs(tasks): beta safety net fix brief 2 (agent loop, issue #75)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-15 16:48:54 +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) 6ba63470a9 merge origin/staging into the beta safety net branch
The fix brief is already on staging. BUG-1354 on this branch collided with an earlier answer-effort record, so the safety-net entries move to BUG-1355 through BUG-1357.

Co-Authored-By: Grok (agent loop)
2026-10-15 16:04:45 +08:00
Jesse_ChenandClaude Opus 5.5 2d41338897 docs(tasks): beta safety net fix brief, daily backup leaves the recovery point alone (agent loop, issue #75)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-15 15:44:49 +08:00
Jesse_ChenandClaude Opus 5.5 9fae294532 docs(tasks): beta capacity fix brief (agent loop, issue #76, bounce 1)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-15 15:10:37 +08:00
jesse-uxandGrok (agent loop) 53d8df257d 给内测补上每日加密备份、宕机告警和日志上限。
主机安装和一次恢复演练留给产品。页面没有变化。

Co-Authored-By: Grok (agent loop)
2026-10-15 12:58:34 +08:00
Claude ef49257b73 merge origin/staging into answer effort ab (issue #65)
Independent Staging Quality Gate / validate (push) Successful in 14m3s
Independent Staging Quality Gate / publish (push) Successful in 3m47s
Docs-only catch-up; agent-loop rule A.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-15 11:15:23 +08:00
jesse-uxandGrok (agent loop) 9324253408 fix(consult): move the answer-effort probe out of the image build
The dry-run script lived under frontend/scripts and read a test fixture, so the web image build would type-check a file the image does not copy. Move it to frontend/tests with a non-test filename. The switch default is unchanged.

Checked: guard plus answer-effort tests 5 pass, 0 fail, 0 cancelled; probe --dry-run exit 0; tsc exit 0; lint 0 errors and 123 warnings.

Co-Authored-By: Grok (agent loop)
2026-10-15 10:56:22 +08:00
Claude 7175548531 merge origin/staging into api chart subprocess gate (issue #64)
Independent Staging Quality Gate / validate (push) Successful in 13m47s
Independent Staging Quality Gate / publish (push) Successful in 4m5s
Docs-only catch-up; agent-loop rule A.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-15 10:44:32 +08:00
jesse-uxandGrok (agent loop) 0d73cd332b merge origin/staging into the answer-effort branch (issue #65)
Keep the pushed switch commit and take the newer staging history, including the bounce brief.

Co-Authored-By: Grok (agent loop)
2026-10-15 10:42:03 +08:00
jesse-uxandGrok (agent loop) e21e167a73 fix(chart): lock synastry chart calls and stop overwriting the A/B note
The bounced contract still looked for the old chart calls. The research script now writes to a temp directory unless --out is set. Quota splits stay unimplemented.

Co-Authored-By: Grok (agent loop)
2026-10-15 10:19:41 +08:00
Claude 71f7fac3a1 merge origin/staging into chart ascendant row (issue #53)
Independent Staging Quality Gate / validate (push) Successful in 13m39s
Independent Staging Quality Gate / publish (push) Successful in 3m47s
Docs-only catch-up; agent-loop rule A.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-15 10:14:36 +08:00
jesse-uxandGrok (agent loop) 18fdce6006 merge origin/staging into the chart subprocess gate branch
Keep the pushed fix commit and bring in the bounce brief plus the data-layer fix.

Co-Authored-By: Grok (agent loop)
2026-10-15 10:11:38 +08:00
jesse-uxGrok (agent loop)Cursor
454951de27 fix(chart): keep the ascendant nakshatra the page already renders
The chart API rebuilt the ascendant without nakshatra, lord, and pada, so those cells stayed blank. Cache schema is now 7. Centered column headers line up with their cells, and the current dasha card keeps its tint without the left accent.

pytest 34 passed. tsc 0 errors. lint 0 errors and 123 existing warnings.

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 09:46:37 +08:00
Claude 1de3cc307b merge origin/staging into data layer types (issue #71)
Independent Staging Quality Gate / validate (push) Successful in 14m20s
Independent Staging Quality Gate / publish (push) Canceled after 15m27s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-15 09:44:41 +08:00
jesse-uxandGrok (agent loop) b184448871 fix(db): check callers against the adapter that actually runs
The self-hosted client was typed as a full Supabase client, so an old scoring poll called .single() on a plain promise and failed. The new DataClient only lists methods the adapter implements.

Co-Authored-By: Grok (agent loop)
2026-10-15 09:21:14 +08:00
Jesse_ChenandClaude Opus 5.5 2b7112a601 docs(tasks): chart page ascendant row brief (agent loop, issue #53 round 2)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-15 09:19:35 +08:00
Jesse_ChenandClaude Opus 5.5 10d0c4bba6 docs(tasks): answer effort switch fix brief (agent loop, issue #65, bounce 1)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-15 09:03:35 +08:00
Jesse_ChenandClaude Opus 5.5 9308382ef8 docs(tasks): api chart subprocess gate fix brief (agent loop, issue #64, bounce 1)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-15 08:45:34 +08:00
jesse-uxGrok (agent loop)Cursor
ab7f66be14 feat(consult): add an answer-step reasoning effort switch
The switch is off unless CONSULT_ANSWER_REASONING_EFFORT is set, so today's request body stays the same. A set value is sent as top-level reasoning_effort only on the answer step. The real A/B did not run: there is no model key.

Request-body probe, the named frontend tests (114 pass, 0 fail), tsc, and lint (0 errors) were run.

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 08:31:19 +08:00
jesse-uxGrok (agent loop)Cursor
336286e428 fix(chart): skip unused synastry overview and doomed report subprocesses
Synastry charts now skip the unused external overview and run together. Reports skip PyJHora subprocesses when that library is missing, and a full heavy-compute slot logs which paths hold it. Splitting quotas stays a simulation.

Gate, growth, and report pytest passed, as did the frontend route tests, tsc, lint, and the A/B script.

Co-Authored-By: Grok (agent loop)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-15 08:02:39 +08:00
jesse-uxandGrok (agent loop) 09906cdccc fix(release): keep owners and grants in production recovery points
Co-Authored-By: Grok (agent loop)
2026-10-14 21:01:52 +08:00
jesse-uxandGrok (agent loop) d13250f40a merge origin/staging into the release-path branch
Bring in the second review brief for issue 74. Keep the existing progress links and add the fix2 task row.

Co-Authored-By: Grok (agent loop)
2026-10-14 20:28:40 +08:00
Jesse_ChenandClaude Opus 5.5 6b12e09436 docs(tasks): release path fix brief 2, recovery points keep owners and grants (agent loop, issue #74)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-14 20:08:16 +08:00
jesse-uxandGrok (agent loop) 32aa46b573 fix(release): close the first review of the production release path
Host rehearsal no longer needs Node on the production machine, and a failed cleanup now stops with the rehearsal database name. Docs-only staging heads no longer block rollback. Tests no longer hardcode Windows paths, and a trailing slash on the production site still refuses the test code.

pytest 12 passed; tsc exit 0; lint 0 errors; identity tests 9 passed, 0 cancelled. test:db was not run.

Co-Authored-By: Grok (agent loop)
2026-10-14 16:37:58 +08:00
jesse-uxandGrok (agent loop) 0dc1d8fa52 merge origin/staging into the release-path fix branch
Co-Authored-By: Grok (agent loop)
2026-10-14 15:54:45 +08:00