Jesse_Chen
54269fcfcc
refactor(chat): extract home helpers, chart library, and starter surfaces
...
Independent Staging Quality Gate / validate (push) Has been cancelled
Independent Staging Quality Gate / publish (push) Has been cancelled
page.tsx still owns the chat main chain, but the first product surfaces now
live in their own modules so later splits can land without editing the 4k-line
Home. Source-lock tests follow the moved tokens; the orphan user-data contract
is aligned and added to the quick gate.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 22:58:02 +08:00
Jesse_Chen
901cdb96ef
fix(rectification): expand quality-gate pytest globs before argv
...
Independent Staging Quality Gate / validate (pull_request) Successful in 13m37s
Independent Staging Quality Gate / publish (pull_request) Has been skipped
subprocess.run does not shell-expand tests/test_rectification_*.py, so a
string pin could stay green while the suite never ran. Expand glob targets
to real files and fail closed on zero matches.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 19:13:38 +08:00
Jesse_Chen
c48a965640
fix(rectification): close round A/2 tail gaps in tests, CI, and stale-score reuse
...
Independent Staging Quality Gate / validate (pull_request) Failing after 6m13s
Independent Staging Quality Gate / publish (pull_request) Has been skipped
Window_scan assertions now match the public from_sign/to_sign contract, the
staging quick gate runs the rectification Python suite, and compare-candidates
rescores when stored policy lags the live engine identity.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 18:17:33 +08:00
Jesse_Chen
a0ce55f066
fix(web): drive rectification from candidate contrast and allow range close
...
Independent Staging Quality Gate / validate (push) Successful in 11m17s
Independent Staging Quality Gate / publish (push) Failing after 9m28s
Showing a choice card is no longer treated as completion. Distinguish probes
require real candidate groups, holdout stays out of scoring, and ordinary
sessions can finish with a credible range instead of an exact-minute gate.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-26 17:19:26 +08:00
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