docs(tasks): dasha unify fix brief (agent loop, issue #69, bounce 1)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LutgzyJqNhPpZy1nFsJtN3
This commit is contained in:
Jesse_Chen
2026-10-16 08:35:02 +08:00
co-authored by Claude Opus 5.5
parent b9cbe9aa76
commit ef9ee62a6b
2 changed files with 33 additions and 0 deletions
+1
View File
@@ -494,6 +494,7 @@
| `TASK-pl9-render-split-20261013.md` | — | render_pl9_markdown 第一阶段:搬出无依赖内部函数 | 待领取(排队:api-chart-subprocess-gate) | `codex/pl9-render-split-20261013` |
| `TASK-python-hygiene-20261013.md` | — | 免费层排队开关报反、静默吞异常、功能吉凶兜底合一、测试专用脚本归位(BUG-1340) | 待领取(排队:pl9-render-split) | `codex/python-hygiene-20261013` |
| `TASK-dasha-unify-20261013.md` | — | /api/dasha 改走引擎同一套实现、删占位注册表、Ashtottari 出生余额(BUG-1341、1344) | 待领取(排队:python-hygiene) | `codex/dasha-unify-20261013` |
| `TASK-dasha-unify-fix-20261016.md` | — | **#69 第 1 次打回**:`5ac88e58` 主体通过;逐字移植的 `calc_mudda_with_dasha_balance` 被改;调用矩阵仍列已删文件 | 待领取 | `codex/dasha-unify-20261013` |
| `TASK-api-server-service-extract-20261013.md` | — | API 单体第一阶段:拆出不带 HTTP 的计算类,生产伪造 handler 归零 | 待领取(排队:dasha-unify) | `codex/api-server-service-extract-20261013` |
| `TASK-data-layer-types-20261013.md` | `PROGRESS-data-layer-types-20261013.md` | 数据访问层改用自己的 DataClient 类型第一阶段(BUG-1351;任务书预留的 1343 已被更大编号越过) | 待验收 | `codex/data-layer-types-20261013` |
| `TASK-contracts-helpers-dedupe-20261013.md` | — | 前后端契约与小工具去重第一阶段 | 待领取(排队:frontend-dead-code、consult-route-split) | `codex/contracts-helpers-dedupe-20261013` |
@@ -0,0 +1,32 @@
# TASK · 大运接口统一修复单(issue #69,第 1 次打回)
- 日期:2026-10-16
- 原任务书:`docs/tasks/TASK-dasha-unify-20261013.md`
- 被验 SHA:`5ac88e58f50b451f860482ea6de107c846780ae5`(`codex/dasha-unify-20261013`)
- 执行方:Grok,同一分支续做(先 merge 最新 `origin/staging`,不改写已推历史)
## 1. 验收结论:主体通过,Python 全量新增 2 条真失败
已确认成立:冻结身份两份清单内的文件一个字节没改;Claude 独立用三张虚构盘对比新旧全量解读包,Ashtottari 之外只有随时间变化的引用号与仓库路径不同,无其它差异;Ashtottari 与 PyJHora 起止相差 ≤1 天(以 Grok 回报为准)。
| 新增失败(单独重跑仍失败;基线上通过) | 证据 |
| --- | --- |
| `tests/test_tajika_mudda.py::test_ported_function_is_verbatim[calc_mudda_with_dasha_balance]` | 函数源码哈希 `8569dd86…` → `8862bb1f…`。这条合同要求从上游移植的函数**逐字保持原样**;本单 T4 把 `scripts/tajika.py` 里这个函数内的 Vimshottari 年数字面量换成了常量引用 |
| `tests/test_owner_case_purge_contract.py::test_invocation_matrix_paths_counts_hash_and_boundaries` | 断言 `references/oracle/full_technique_invocation_matrix_2026_07_22.json` 每行 `sample_files` 的路径都存在;本单删了 `scripts/extended_dashas.py`、`scripts/conditional_dashas.py`,矩阵里仍列着它们 |
## 2. 修法要求
1. `tajika.py::calc_mudda_with_dasha_balance`:**恢复成与基线逐字相同**(年数表字面量留在函数里)。原任务书 T4 已写「顺序或数值不同的不换」——逐字移植的函数同样不换;把它加进 T4 新测试「Vimshottari 年数字面量计数」的白名单,并在 PROGRESS 写明理由(`test_ported_function_is_verbatim` 锁定)。再 grep 一遍 `test_ported_function_is_verbatim` 覆盖的其它函数,确认本单没有改到。
2. 调用矩阵:`references/oracle/full_technique_invocation_matrix_2026_07_22.json` 属于历史归档类文件,**不要直接改它的内容**。先看该测试与仓库里是否有既有的「归档引用已删除文件」处理办法(如 `test_historical_artifacts_are_byte_preserved_not_refreshed` 的约定);若没有,选其一并在 PROGRESS 写清理由:
a. 让测试对矩阵里指向已删除的 `extended_dashas.py` / `conditional_dashas.py` 的条目改为断言「这些路径已按 BUG-1341 删除,且由 `<现行模块>` 接替」(三栏写明);
b. 若归档文件允许更新,则用生成它的脚本重新生成,不得手改。
**不得**为了让测试过而把那两个文件加回来。
3. 合并最新 staging 后在本机跑:`python -m pytest tests/test_tajika_mudda.py tests/test_owner_case_purge_contract.py tests/test_dasha_api_engine_parity.py -q`。
## 3. 验收标准
Claude 全量 pytest 与 staging 基线逐条比对无新增;`tajika.py` 中 `calc_mudda_with_dasha_balance` 与基线 `git diff` 为空。
## 4. 让步顺序
无。第 1 次打回。