Jesse_Chen
9958e00abc
fix(web): keep unrectified birth data usable without inventing a minute
...
Rectification stays optional. Reported minutes can consult and generate reports; date-plus-period uses a declared window instead of a midpoint or 00:00. Updates BUG-341.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 15:29:58 +08:00
Jesse_Chen
b5bcbaed73
fix(consult): record a tool call the tool never received
...
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
staging 手测 run 951a841e 第一次工具调用发出 tool.failed 后重试成功,但回执里
steps 只有 skill 与那次成功的 tool,stepBudget.used 为 2——失败的那次完全不存在。
客户端看见失败过一次,回执说没有,两边都查不到为什么。
工具的 inputSchema 是 strict 的,模型参数不合法时 Mastra 在调用 execute 之前就拒了,
于是工具体内一切都没跑:调用不计数、失败步不记录、连 chart-calculation 活动事件都没
发出(这也是本次定位的证据——失败那次没有任何 activity,重试那次有)。工具无法记录
一次它从未收到的调用。叠加两处:safeToolError 把非超时非取消的错误全塌成
calculation_failed,而即使失败落进工具体的 catch,consultationWorkflowFailureCode
对非 ConsultationWorkflowError 返回 undefined、append 处又写成可选省略,于是最需要
解释的那条记录恰好是唯一没有原因的记录。
改为在流层补记:流是唯一能观测到全部工具失败的位置,无论失败在 schema 这侧还是
execute 那侧,且它持有 startedAt 因而能给出时长。tool-error 分支比对「流已见的错误数」
与「state 里已有的失败 tool 步数」,只在前者更多时补一条,工具仍记录它能看见的失败,
两者不重复计。另新增 consultationToolFailureCode,令每个错误都解析出一个码。
failureCode 刻意仍不进公开回执:白名单与「the public receipt never carries the
internal failure classification」是刻意约束,workflow_rate_limited 这类后端内情不该
上线到客户端。原因走可观测日志的 toolCalls[].failureCode。客户端能看到「有一步失败」,
运维能在日志里看到为什么。
另记入 BUG-268 的线上实测值:单领域 referenceReads 两次均为 2,多领域为 0——不是
从不读方法,而是最需要方法的多领域路径一份都没打开。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-18 15:30:51 +08:00
Jesse_Chen
5caf47a413
fix(consult): require the evidence the product tells the user it will use
...
修完 BUG-267 后核对同一张表时发现,前端领域注册表早就为每个领域声明了 requiredLayers,
键名正确,并且这份列表驱动界面上的 evidencePreview——也就是产品明确告诉用户「这次会用
这些证据」。服务端的门是另写的一份,两份用不同词汇描述同一个合同,彼此没有任何链接,
对照下来门少查三处:marriage 声明 A7 而门只要求 UL,wealth 声明 Ashtakavarga 而门只
要求 D2,general 声明 D10 与 D2 而门只要求 D1/D9。三者实测在真实排盘中都是 used,补进
去不会把状态推成 degraded。失败方向仍是静默放宽,因此没有任何人报错。
新增一条测试解析前端注册表,断言其中每个指向真实 section 的条目都出现在服务端的门里。
只比对真实 section:注册表里还有人看的标签(7th house/lord、negative holdout gate)和
引擎压根不产出的 D11,机械全量对齐会把每条路由钉死在 degraded。该测试 fail-closed——
先断言 10 条路由全部解析到且列表非空,否则一次正则失配就会让它无声通过。
另外把 tests/test_consultation_consumer_context.py 加进 CORE_PYTEST_TARGETS:该文件
不在任何 CI 档位里,BUG-267 的 8 条与本条的 1 条此前都只在本地手动跑过,staging 门用的
是 --profile quick,从不运行它们。防漂移的钉子本身没人跑,等于没钉。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-18 15:26:57 +08:00
Jesse_Chen
0e5575a8a9
test: close local release gate regressions
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
2026-08-15 09:32:28 +08:00
Jesse_Chen
5957803de4
Merge GitHub upstream into Gitea primary
2026-08-05 11:13:34 +08:00
Jesse_Chen
31682d1c0e
chore: remove legacy Vite frontend
2026-07-20 10:36:36 +08:00
732642856
447d89f1da
feat: gate commercial external validation release
2026-07-17 14:32:56 +08:00
Jesse_Chen
2c72950096
Merge remote-tracking branch 'upstream/codex/release-hygiene-ci'
...
# Conflicts:
# docs/research/pre_work_error_ledger.md
# jyotish-app/api-bridge.js
# mcp_server.py
# references/technique_registry.json
# scripts/jyotish_api_server.py
# scripts/skill_release_package.py
2026-07-17 11:10:52 +08:00
Jesse_Chen
bca33ada66
fix: satisfy ruff checks
2026-07-15 22:32:06 +08:00
Jesse_Chen
4aa0105fa4
feat: add Railway-ready Jyotish chat product
2026-07-15 22:23:17 +08:00
732642856
bd6a9e84d6
add strict external parity release gate
2026-07-14 19:57:46 +08:00
732642856
997cc8751f
run privacy and renderer probes in release gate
2026-07-14 13:47:30 +08:00
732642856
f5606a933b
chore: remove private chart data from project
2026-07-08 17:03:04 +08:00
732642856
4764482c73
Harden Jyotish runtime evidence gates
2026-07-05 18:27:33 +08:00
732642856
b50161a8ce
Add character-level source manifest gate
2026-07-02 16:51:50 +08:00
732642856
f2a741d36b
Add interpretation source inventory gate
2026-07-02 14:17:18 +08:00
732642856
49399ccae4
Add external oracle sanity closure audit
2026-07-01 20:16:21 +08:00
732642856
0f9b06d9d4
Wire VedAstro orchestrator into strict workflows
2026-06-29 10:26:54 +08:00
732642856
a07f91c88b
Wire VedAstro status and live quality gate
2026-06-29 03:59:30 +08:00
732642856
d11cebacf8
fix: harden accuracy and api guardrails
2026-06-26 00:44:09 +08:00
732642856
5d35731f8b
Add jyotish oracle evidence calibration gate
2026-06-25 18:33:26 +08:00
732642856
bff6ec4685
Add real case revalidation gate
2026-06-24 18:42:09 +08:00
732642856
3db4ad6a27
Add ordinary user delivery preflight
2026-06-24 17:45:35 +08:00
732642856
494e387018
Productize jyotish app release surface
2026-06-24 13:37:33 +08:00
732642856
23b8b6e5cf
chore: harden release checks and sync capability docs
2026-06-21 16:50:46 +08:00
732642856
93610326fe
feat: add yoga context validation fixtures
2026-06-05 17:16:23 +08:00
732642856
625deb4007
chore: add engineering quality gate
2026-06-05 15:58:06 +08:00