diff --git a/PROGRESS-report-blocked-repairs-20260902.md b/PROGRESS-report-blocked-repairs-20260902.md index c87a34bb..9aff736c 100644 --- a/PROGRESS-report-blocked-repairs-20260902.md +++ b/PROGRESS-report-blocked-repairs-20260902.md @@ -77,18 +77,35 @@ --- -## 任务 4 · 质量门(本地) +## 任务 4 · 质量门与部署 + +`requiredTechniqueGroups` 相对任务书基线 `e37f8272` 无 diff。未改 `.gitea/workflows/**`,未提升 main。 | 门 | 结果 | |---|---| -| `frontend/node_modules/.bin/tsc --noEmit` | 通过(exit 0) | -| eslint(改动的 generation / 两个测试文件) | 0 error | -| `tsx --test` personal-report-generation + generation-v2 + contract + interpretive-facts + report-blocked-repairs | 64 passed / 0 failed(另 generation 单文件 55/55) | +| `frontend/node_modules/.bin/tsc --noEmit` | 通过(exit 0,无输出) | +| `eslint`(与 CI 相同,无 `--max-warnings`) | 0 error / 73 既有 warning,exit 0 | +| `tsx --test tests/*.test.ts` | tests 2515 / pass 2514 / fail 1 / skipped 0。相对 skill-parity 基线(2444 / 2410 / 24,本机当时无 Docker)本轮 Docker 可用,那 24 条环境失败已过。唯一失败是 `rectification-v9-database.test.ts`「v9 enforces profile gating, ownership and terminal read-only」:`database migration failed`(`1 !== 0`)。同文件单独重跑 **7/7 通过**。这是 `BLOCKED.md` 已记录的全量并发 Docker 争用 flake,与本轮 varga/Transit/karaka 改动无关。 | +| `next build --webpack` | exit 0;Compiled 2.9min;TS 2.3min;static 62/62。两条 `Failed to copy traced files` 指向 `rishi-ai-mcp/.cursor` / `.vscode` 的 sandbox `EPERM`,不影响路由表。 | | `pytest tests/test_consultation_consumer_context.py` | 28 passed | -| `next build` | 未跑(本机质量门已覆盖类型与合同;完整构建留给 staging 推送) | -| staging 真实报告重生 + 上一轮 writer/token 欠账 | 未做,需部署后由委托方核对 `/api/health` 的 `.deployment.gitCommit` | +| 相关测试聚焦 | `report-blocked-repairs` + generation / v2 / contract / interpretive-facts:64 passed / 0 failed | -未改 `.gitea/workflows/**`,未提升 main。 +### Staging 部署 + +- 提交:`7faf8555a589a0bdf14a5b17323352470816a7ee` 已在 `origin/staging` +- Independent Staging Quality Gate:[run 2308](https://git.copse.top/root/Jyotisha/actions/runs/2308) success(validate 9m + publish 1m) +- Deploy staging:[run 2309](https://git.copse.top/root/Jyotisha/actions/runs/2309) success +- `GET https://staging.jyotisha.chat/api/health` → `.deployment.gitCommit` = `7faf8555a589a0bdf14a5b17323352470816a7ee` + +### 真实 personal_full 与上一轮 writer/token 欠账 + +本执行环境没有登录会话,也没有 `ANTHROPIC_*` / `OPENAI_*` / `DEEPSEEK_*`。`GET /api/reports` 与 `GET /api/account` 均为 **401「请先登录」**。按红线不得读取或猜测凭据,因此**无法在此环境生成 staging 真实报告**,也无法抽查 writer 正文或实测每章 `inputTokens` / 墙钟。 + +委托方验收(登录后即可,health SHA 已对齐): + +1. 用虚构或自有资料生成一份 `personal_full`,主题 career / marriage / timing / wealth。 +2. 四个主题应有正文,不再全部 blocked,摘要不应再是「报告主题尚未生成」。 +3. 顺带完成上一轮欠账:≥3 处 writer 输出回溯;每章真实 `inputTokens` / 墙钟对照 `PROGRESS-report-skill-parity-20260901.md` 的 2 倍线裁决(产品已接受离线 2.28× 计费加权,以第一份实测为准)。 --- diff --git a/docs/BUG_HISTORY.md b/docs/BUG_HISTORY.md index 2433fe03..e261129a 100644 --- a/docs/BUG_HISTORY.md +++ b/docs/BUG_HISTORY.md @@ -7531,8 +7531,8 @@ - 触发条件:个人报告按主题调用 `/api/consultation_workflow`,提取层组 `ReportEvidenceBundleV2`。与出生数据或线上环境无关,本地 smoke 出生可逐字复现。 - 根因:三层叠加。`modules.varga_full` 真值是小写 `ascendant` / `sign_index` / `planets` 字典,提取层只读旧形状 `Ascendant` / `sign_idx` / 顶层行星键,所有分盘图提取失败;`modules.transits.status=executed` 存在但从不 upsert Transit 回执;consultation 响应的 `modules.jaimini` 只有 `arudha_padas`,没有 Chara Karaka,AmK/DK 回执无法闭合。BUG-486 的 `45f190a1` / `643f6f7a` 只修了键名别名、demote 兜底和手造旧形状 fixture,测试绿、线上仍挂。 - 修复:提取层双形状兼容真实 varga;`transits.status==="executed"` 时 upsert Transit(`partial`+executed,缺或非 executed 不产回执);引擎把 `jaimini.calc_chara_karaka_7` 挂到 `chart.modules.jaimini.chara_karakas`(不改 `arudha_padas`),前端按 AmK/DK 存在性 upsert 回执。不放宽主题最低证据组,不改既有字段形状。 -- 验证:golden fixture 形状契约;`frontend/tests/report-blocked-repairs.test.ts` 锁双形状、Transit 三态、AmK/DK、四主题 claimCards 4 / blocked 0、九主题全 claim;`tests/test_consultation_consumer_context.py::test_local_consultation_layers_attach_chara_karakas_from_jaimini`;既有 personal-report generation / interpretive / contract / v2 回归绿。未做登录后的 staging 重生(部署后验收)。 +- 验证:golden fixture 形状契约;`frontend/tests/report-blocked-repairs.test.ts` 锁双形状、Transit 三态、AmK/DK、四主题 claimCards 4 / blocked 0、九主题全 claim;`tests/test_consultation_consumer_context.py::test_local_consultation_layers_attach_chara_karakas_from_jaimini`;既有 personal-report generation / interpretive / contract / v2 回归绿。本地 `tsc --noEmit` / eslint 0 error / `next build --webpack` / pytest 28。全量 `tsx --test` 2514/2515,唯一失败是既有 Docker 争用 flake,同文件单独 7/7。Gitea gate [2308](https://git.copse.top/root/Jyotisha/actions/runs/2308) 与 Deploy staging [2309](https://git.copse.top/root/Jyotisha/actions/runs/2309) 成功;`https://staging.jyotisha.chat/api/health` 的 `deployment.gitCommit` = `7faf8555a589a0bdf14a5b17323352470816a7ee`。登录后的 staging 重生与 writer/token 抽查仍需委托方(本环境 401,无模型凭据)。 - 防复发:分盘 fixture 必须来自真实引擎响应,不得再手造 `Ascendant/sign_idx` 形状当 live 契约。Transit / AmK / DK 回执必须来自模块数据存在性,不得用 `available_layers` 名目冒充已执行。新增 `chara_karakas` 不得改写既有 `arudha_padas`。改提取形状后必须跑 `report-blocked-repairs` 与 `report-interpretive-facts`。 - 相关记录:BUG-486、BUG-467、BUG-352 - 复发自:BUG-486(键名别名与 demote 治标,值形状与缺失层未修) -- 修复版本:待发布 +- 修复版本:`7faf8555`(staging;未提升 main)