45d132588f
Advance the one-way import to git commit a6f47abd with consultation keypath golden, switch official VedAstro comparison to the REST Calculate bridge, and receive the 25 new registry entries behind research_only_blocked. Co-authored-by: Cursor <cursoragent@cursor.com>
2.9 KiB
2.9 KiB
PROGRESS · 上游能力接入(任务 3–7,2026-09-03)
工作树 / 分支同 PROGRESS-upstream-sync-20260903.md。任务 4 不依赖任务 2,按并行规则与任务 0 一起做。任务 3 / 5 / 6 / 7 未开(等任务 1–2,且 7b 在整备之后;整备 0–3 已在 staging)。
| 任务 | 状态 | 说明 |
|---|---|---|
| 3 health 三窗 + 个人报告 | 未开 | 会改 personal-report-generation.ts 与编排器,须在任务 2 之后 |
| 4 VedAstro REST 桥 | 完成(未提交) | 文件集与整备无交集 |
| 5 专业报告导出 | 未开 | 依赖任务 2 的 pl9-export |
| 6 新字段透传 | 未开 | 任务 6 先于任务 3 与 7c |
| 7 校正三项 | 未开 | 7b 岁差/交点按请求:整备已交付 resolveAyanamsa,仍等任务 2 后做 Python + 前端接线 |
任务 4
做了什么
- 引入
scripts/vedastro_rest_bridge.py(对齐上游a6f47abd的 REST Calculate 调用)。去掉 yn-1993 / Handan / 1993-04-17 14:49 默认值。 默认改为虚构 smoke:Beijing39.9042, 116.4074,12:00 01/01/1990 +08:00,LAHIRI。 - 本地 5 次/分钟限流。HTTP 429 与本地令牌耗尽均降为
official_blocked,不抛给调用方当硬错误。match子命令返回official_blocked/match_subcommand_not_implemented,不伪造合盘。 scripts/vedastro_gateway.py:官方健康改为打/api/Calculate的Status: Pass;status 输出transport=rest、rate_limit_per_minute=5、mcp_bridge_role=protocol_probe_only。JYOTISH_SKIP_LOCAL_ENV=1时探测为not_probed。scripts/vedastro_parity_matrix.py与 fast-path checklist:MCP/API Surface 的fastest_path_lane改为rest_adapter;MCP 桥文件保留,只作协议探测。scripts/diagnose_vedastro_mode.py、scripts/vedastro_official_mcp_bridge.py文档、docs/engine/README.md同步。
测试(无网络)
未设置 VEDASTRO_ENABLE_NETWORK=0 污染进程时:
tests/test_vedastro_rest_bridge.py
tests/test_vedastro_parity_matrix.py
tests/test_vedastro_gateway.py
tests/test_vedastro_runtime_mode_diagnostics.py
tests/test_vedastro_fast_path_checklist.py
tests/test_vedastro_official_mcp_bridge.py
67 passed(含任务 0 的 test_import_yinduzhanxing.py)。REST 桥测试用录制响应,不打真网。曾有一次 active_backend=local_fallback 失败是 pytest 进程被 VEDASTRO_ENABLE_NETWORK=0 污染,不是产品回归。
tests/test_vedastro_rest_bridge.py 断言默认 payload 不含 14:49。
有网络手工跑
.venv/bin/python -B scripts/vedastro_rest_bridge.py horoscope
虚构 Beijing smoke。Status: Pass,耗时 1.566 s。 未打到 429。限流路径由单测覆盖:gateway 降 official_blocked。
未做
未改 jyotish_api_server.py 的咨询路由。/api/vedastro_gateway/status 字段已在 gateway 模块与 tests/test_vedastro_gateway.py 锁住;本轮未起 Docker 打 staging 该端点。