feat(m5a): harness fix a/c + selfcheck + idempotency/fail-closed verification

选择性收口(仅 .gitignore 仓库卫生项:排除一次性 patch 目录 .scratch_m5a/,与 QC#11 一致)。
本批次 m5a 代码改动已在既有提交中收口,未重复入库:
- 52c3cc2 tests/m5a_live_db_harness.py (+57/-27) = QC#1 修复点 a/c(setup_box/collect_again/teardown_box、显式 seed_sql + 同源校验、main() 外层 try/except 收敛 FAIL)
- c26bfdb tests/test_m5a_idempotency.py (+20/-0)
- scripts/selfcheck_m5a.py 已在 0f5e22f 收口,本次 git status 无未提交改动
禁 git add -A;未提交 rtx0005/m11b4/m9 等其它任务文件;仅本地收口,未 push。
This commit is contained in:
agent.develop 2026-09-22 19:45:12 +08:00
parent 52c3cc21d5
commit f267ebe891

8
.gitignore vendored
View File

@ -11,7 +11,11 @@ build/
.venv/
venv/
# ── CRUD 构建产物(xls2ui 由 json/*.json 生成,只读、不入库;按 alias 逐条列,禁通配符)──
# 宿主 apps/pbls/build.sh 以 wwwroot/{alias} 软链方式挂载,生成目录本身不进模块仓库。
# one-off patch / scratch tooling dir: never commit (repo hygiene, QC#11)
.scratch_m5a/
# CRUD build output (generated by xls2ui from json/*.json; read-only, not tracked;
# listed per alias, no wildcards). Host apps/pbls/build.sh mounts these as symlinks
# under wwwroot/{alias}, so the generated dirs must not live in the module repo.
wwwroot/pbl_artifact/
wwwroot/pbl_evidence/