缺陷 cma-strategy-map-autosave-stale-overwrite 的护栏(PUT /api/cma/maps/{id} 覆写 dimensions/canvas_data 须带 base_updated_at,否则 409 fail-closed)改变了同一写通道的 契约 ⇒ 全仓清点调用点,在调用点取基准(写前读 updated_at),**不放宽护栏**: - tests/test_map_versions.py: 新增 _base_updated_at(db, map_id) 助手;3 处覆写 dimensions 的 PUT 补基准(test_rollback_backs_up_current_and_restores_content 会直接失败; test_rollback_again_uses_next_free_backup_version 两处此前已静默降级——PUT 被拒但用例仍绿, 即「改了内容再回滚」的前提实际未发生)。 - tests/test_kr_name_pollution_20260916.py: 2 处 KR 透传护栏用例补基准。 改前/改后全量对拍(同树 pythonpath): baseline 22 failed / fixed2 18 failed;diff 仅剩 tests/test_doc_center_20260924.py:: TestProdContentCanary::test_prod_content_readable —— 基线树同样失败(/srv/hermes/shared/ cma-content 于 14:05 被写入 manual 分类,共享内容目录变化),与本单无关。 本单新增的 5 例在基线树全红、改后全绿。 任务: yanxue-20261012-cma-map-autosave-stale-overwrite-defect-fullstack
- Login.vue: no prefilled default creds; no anonymous entity enumeration on mount - deploy.sh: readiness polling (0.5s/30s cap) replaces fixed sleep 3; login smoke reads same-source 600 secret file, missing file = explicit abort - 19 verify/check/gen_report scripts: shared _admin_creds() loader (CMA_ADMIN_ENV -> ops .secrets -> profile copy); no hardcoded creds - tests: single TEST_USER_PASSWORD fixture constant; docs: pointer to 600 secret file; removed 4 legacy .bak + pycache residue