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 |
|