jesse-ux
e96de24721
merge origin/staging into dasha unify (issue #69 )
2026-10-16 08:56:34 +08:00
Jesse_Chen and Claude 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-ux and Grok (agent loop)
5ac88e58f5
让大运接口走完整解读的同一套算法,不再返回编出来的周期。
...
Ashtottari 在适用时把出生前已经走过的部分算进时间线。
Co-Authored-By: Grok (agent loop)
2026-10-16 00:52:29 +08:00
Claude
b9cbe9aa76
merge origin/staging into python hygiene (issue #68 )
...
Independent Staging Quality Gate / validate (push) Successful in 14m1s
Independent Staging Quality Gate / publish (push) Successful in 5m22s
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 23:30:28 +08:00
jesse-ux and Grok (agent loop)
a7162db271
让免费层限流的报告跟真实限流一致,并给少一块结果的静默失败留下函数名和错误类型。
...
Co-Authored-By: Grok (agent loop)
2026-10-15 23:12:56 +08:00
Claude
5d452a4ff1
merge origin/staging into contracts helpers dedupe (issue #72 )
...
Independent Staging Quality Gate / validate (push) Successful in 17m49s
Independent Staging Quality Gate / publish (push) Successful in 4m18s
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 22:44:45 +08:00
jesse-ux and Grok (agent loop)
d2296c2654
把前后端共用的请求契约和小工具收成一份,避免再各抄一份。
...
报告创建请求、校正入口和同名类型改从 contracts 推导;同义的对象判断与 sha256 改走共享函数。调用处用 import 别名保留原名,使 diff 低于 1500 行。行为、哈希和状态字符串不变。
Co-Authored-By: Grok (agent loop)
2026-10-15 22:22:44 +08:00
Claude
e4ff62c738
merge origin/staging into pl9 render split (issue #67 )
...
Independent Staging Quality Gate / validate (push) Successful in 14m16s
Independent Staging Quality Gate / publish (push) Successful in 4m9s
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 21:23:23 +08:00
jesse-ux and Grok (agent loop)
dbba127e71
拆分报告渲染函数的第一阶段,把 34 个无外层依赖的辅助函数搬到 report_render。
...
同一份真实盘包在屏蔽与不屏蔽 PyJHora 下新旧渲染 sha 都一致,各 24 项且退出码 0。指定 pytest 233 通过、3 跳过。
Co-Authored-By: Grok (agent loop)
2026-10-15 20:59:11 +08:00
jesse-ux and Grok (agent loop)
cd7e0a3493
把普通对话的预留、取消、追加、寒暄结算和用量计算收进结算工厂。
...
Independent Staging Quality Gate / validate (push) Successful in 13m51s
Independent Staging Quality Gate / publish (push) Successful in 4m6s
完成回答、直达校正、输出审核和开流前加载仍留在路由里,使 diff 停在 1500 行以内。
Co-Authored-By: Grok (agent loop)
2026-10-15 19:12:44 +08:00
Jesse_Chen and Claude 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
Claude
168e4dde19
merge origin/staging into beta capacity (issue #76 )
...
Independent Staging Quality Gate / validate (push) Successful in 14m45s
Independent Staging Quality Gate / publish (push) Successful in 4m13s
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 15:45:46 +08:00
Jesse_Chen and Claude 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-ux and Grok (agent loop)
360a667e4f
fix(capacity): align two stale checks with the rate-limit edit.
...
The consultation contract still required await directly before runConsultationWorkflow(toolInput), and a new report test shifted three privacy allowlist lines. Keep the toolInput lock and move that test to the end. No product code change.
Co-Authored-By: Grok (agent loop)
2026-10-15 15:31:35 +08:00
jesse-ux and Grok (agent loop)
904dfe9f79
merge origin/staging into beta capacity (issue #76 ).
...
Bring in the bounce-1 fix brief without rewriting the pushed capacity commit.
Co-Authored-By: Grok (agent loop)
2026-10-15 15:24:52 +08:00
Jesse_Chen and Claude 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-ux and Grok (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
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-ux and Grok (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-ux and Grok (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-ux and Grok (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-ux and Grok (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
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-ux and Grok (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_Chen and Claude 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_Chen and Claude 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_Chen and Claude 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
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
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_Chen and Claude Opus 5.5
9274491681
docs(ops): prove the recovery backup decrypts before dropping production (issue #74 )
...
The rollback restore dropped jyotisha before decrypting the backup; a bad
key or damaged file would leave the site on an empty database. Load the
host env file, check sha256, decrypt into pg_restore --list first.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-14 21:28:47 +08:00
jesse-ux and Grok (agent loop)
40bc565a49
docs(testing): keep the host rehearsal sheet and record the local PostgreSQL 17 drill
...
Independent Staging Quality Gate / validate (push) Successful in 18m13s
Independent Staging Quality Gate / publish (push) Successful in 4m37s
Co-Authored-By: Grok (agent loop)
2026-10-14 21:02:19 +08:00
jesse-ux and Grok (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-ux and Grok (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_Chen and Claude 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-ux and Grok (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-ux and Grok (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
Jesse_Chen and Claude Opus 5.5
53b2f0008d
docs(tasks): release path production fix brief (agent loop, issue #74 , bounce 1)
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-14 15:39:22 +08:00
Claude
3e20c125b8
test(api): capability audit no longer counts the deleted dead panel as app-visible (BUG-1342)
...
Independent Staging Quality Gate / validate (push) Successful in 18m9s
Independent Staging Quality Gate / publish (push) Successful in 3m56s
The audit scans frontend app/components source. Its only Case Validation
hit was evidence-audit-panel.tsx, never mounted and deleted in #63 , so the
topic is truthfully gone and case_validator's UX level is thin. Product
owner chose option A on issue #63 (Claude fixes directly). Staging gate
run 1824 was red on this test.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-14 15:27:53 +08:00
jesse-ux and Grok (agent loop)
29949e0a29
接受删除旧报告页,并跟上最新 staging
...
Independent Staging Quality Gate / validate (push) Failing after 8m31s
Independent Staging Quality Gate / publish (push) Skipped
旧的结构化报告页已由另一单删除,标识留在现在用的阅读页。测试不再读取那个文件。更新日志和 Bug 历史两边都保留。
自测:tsc 退出码 0;lint 0 error、123 warning;修复单点名的 3 个测试 7 通过、0 失败、0 取消。
Co-Authored-By: Grok (agent loop)
2026-10-14 12:27:33 +08:00
Jesse_Chen and Claude Opus 5.5
7290477ead
docs(tasks): beta main path fix brief (agent loop, issue #73 , bounce 1)
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-14 12:15:10 +08:00
Claude
400af57e86
merge origin/staging into frontend dead code (issue #63 )
...
Independent Staging Quality Gate / validate (push) Failing after 7m39s
Independent Staging Quality Gate / publish (push) Skipped
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-14 11:20:59 +08:00
Claude
4130d1dba9
merge origin/staging into consult prep parallel (issue #62 )
...
Independent Staging Quality Gate / publish (push) Canceled after 0s
Independent Staging Quality Gate / validate (push) Canceled after 9m43s
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-14 11:14:51 +08:00
jesse-ux and Grok (agent loop)
392c1f7218
合并 staging,并去掉已删组件留下的样式名单条目
...
knownUnstyled 不再保留 personal-report-additional-charts。它只被删掉的报告组件用过。其它白名单没有同类残留。业务代码没改。
自测:类名合同和两条否定合同 6 通过,失败 0,取消 0。tsc 0 错,lint 0 error。
Co-Authored-By: Grok (agent loop)
2026-10-14 11:10:17 +08:00
Jesse_Chen and Claude Opus 5.5
f122f8b7d7
docs(tasks): frontend dead code fix brief (agent loop, issue #63 , bounce 1)
...
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
2026-10-14 11:02:37 +08:00
jesse-ux and Grok (agent loop)
9e29310941
合并 staging,并让发问准备的检查跟上新位置
...
两条按源码原文查找的检查改认搬走后的写法,意思没有放宽。对照脚本挪到测试目录,镜像构建不再去找测试文件。业务代码和三个开关的默认值没改。
自测:相关前端测试 40 通过,失败 0,取消 0。假时钟仍是并行 160、串行 210。tsc 0 错,lint 0 error。
Co-Authored-By: Grok (agent loop)
2026-10-14 10:56:17 +08:00
jesse-ux and Grok (agent loop)
a04e590961
合并 staging,并把长报告缓存目录登记进自行清理名单
...
Independent Staging Quality Gate / validate (push) Successful in 14m32s
Independent Staging Quality Gate / publish (push) Successful in 4m18s
与最新 origin/staging 合并。report_reference_cache 写入 OFFLINE_SCRATCH_NAMES。清理仍由每次读取前删掉两天前的文件完成,两个缓存模块的行为没改。
自测:test_api_scratch_retention 10、test_report_reference_perf 15、test_consult_card_full_source 12,共 37 通过。
Co-Authored-By: Grok (agent loop)
2026-10-14 10:40:43 +08:00
jesse-ux and Grok (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