Files
Jyotisha/docs/tasks/PROGRESS-report-binding-scope-lock-20260915.md
T
jesse-ux 8d56d0ab0b
Independent Staging Quality Gate / validate (push) Successful in 9m52s
Independent Staging Quality Gate / publish (push) Successful in 2m6s
test(report): lock binding exclusion allowlist literals (BUG-694)
Contract-test the D2 exclusion tuples so widening them cannot silently pass. Record the timezonefinder quality-gate gap in BLOCKED.md.
2026-09-15 10:41:10 +08:00

2.3 KiB
Raw Blame History

进度 · 绑定排除集字面量锁 + timezone 缺口入账(2026-09-15

范围

  • 分支:codex/report-binding-scope-lock-20260915(基于 origin/staging @ 10b463b9
  • 任务单:docs/tasks/TASK-report-binding-scope-lock-20260915.md
  • 不新增 BUG 编号;只补强 BUG-694 防复发条
  • 生产代码一行未改(calculation_profile_contract.py / full_report_quality_gate.py / jyotish_engine.py
  • CHANGELOG.md 不写(D5

完成

  • T1test_binding_exclusion_allowlist_is_the_literal_d2_set 钉死两个常量的完整字面量与顺序。注释写明三类归属,以及改这里要先改任务书并在 BUG-694 补记。
  • T2BLOCKED.md 记 timezone 缺口;本机复现同一条测试红,warning 原文一致。未改该断言。未装 timezonefinder(仓内已声明,本机 Anaconda 没有;装上只绿本机,不改变验收机缺口)。
  • T3:BUG-694 防复发条补了一句字面量合同测试守门。

任务 1 红 / 绿

ALLOWED_BINDING_EXCLUDED_PATHS 临时加 "**.generated_by"

FAILED tests/test_calculation_profile_contract.py::test_binding_exclusion_allowlist_is_the_literal_d2_set
AssertionError: assert ('ai_and_audi...generated_by') == ('ai_and_audi...e_expires_at')
  Left contains one more item: '**.generated_by'
RED_EXIT 1

恢复常量后:

.                                                                        [100%]
GREEN_EXIT 0

git diff scripts/calculation_profile_contract.py 为空。

定向测试

tests/test_calculation_profile_contract.py + tests/test_full_report_quality_gate.py:全绿(既有 3 skipped)。

--profile quick 失败清单

验收机(任务书 §1.2):739 passed, 1 failed

FAILED tests/test_api_server_security.py::test_shadbala_endpoint_returns_ranked_planet_strength
WARNING [api_server] shadbala advanced layer failed: timezone inference dependency unavailable
assert ['core_sixfold'] == ['core_sixfold', 'advanced_evidence']

本机隔离复现同一条,warning 原文相同。本机没有项目 .venvAnaconda 还缺 mcp,完整 run_quality_gate.py --profile quick 会先在 interpretation_source_inventory_gate 红掉,跑不到 739 那条汇总;timezone 缺口以隔离命令为准,见 BLOCKED.md