文件
hyb-oa/issues/2026-02-12_01-09-41-p13-l5-governance.csv

5.0 KiB

1IDTitleDescriptionAcceptanceTest_MethodToolsDev_StatusReview1_StatusRegression_StatusFilesDependenciesNotes
2P13-0P13执行合同建档创建并冻结P13治理增强Issue合同及依赖关系CSV通过校验且字段规范完整python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-02-12_01-09-41-p13-l5-governance.csvmanualDONEDONEDONEissues/2026-02-12_01-09-41-p13-l5-governance.csv[]none
3P13-1后端单元测试框架引入在server引入可执行单测框架与基础脚手架并设置npm test可运行`cd server && npm test`可执行且至少包含1个示例测试通过cd server && npm testmanualDONEDONEDONEserver/package.json | server/vitest.config.* | server/tests/**["P13-0"]新增依赖: vitest@^2 + @vitest/coverage-v8@^2;回滚: 移除test脚本与依赖;已验收: npm test/test:coverage
4P13-2核心服务单元测试补齐为高风险治理链路补单测: featureFlags/verification/integration dispatcher核心链路覆盖并包含开关阻断/灰度/重试异常等关键分支cd server && npm test -- --coveragemanualDONEDONEDONEserver/src/services/featureFlags/index.js | server/src/services/verification/index.js | server/src/services/integrations/dispatcher.js | server/tests/unit/**["P13-1"]已补齐featureFlags/verification/dispatcher核心分支单测;验收通过: cd server && npm test && npm run test:coverage;回滚: 删除新增单测文件并恢复Issue状态
5P13-3OpenAPI自动文档接入接入Fastify Swagger并产出可访问或可导出的OpenAPI文档非生产且OPENAPI_DOCS_ENABLED=true时,/api/docs 与 /api/docs/json 可访问NODE_ENV=development OPENAPI_DOCS_ENABLED=true JOBS_ENABLED=false cd server && npm run start & sleep 3 && curl -sf http://127.0.0.1:3000/api/docs >/dev/null && curl -sf http://127.0.0.1:3000/api/docs/json | jq '.openapi' >/dev/nullmanualDONEDONEDONEserver/src/app.js | server/src/routes/featureFlags.js | server/src/routes/integrations.js | server/src/routes/invoicePool/verification.js | server/src/plugins/swagger.js | server/src/utils/openapi.js | server/src/config.js | server/.env.example | server/package.json["P13-0"]新增依赖: @fastify/swagger + @fastify/swagger-ui;回滚: OPENAPI_DOCS_ENABLED=false 或移除插件注册;已验收: /api/docs dev可用, prod隐藏
6P13-4SLI-SLO与错误预算落地将现有非功能基线文档升级为可执行SLO并提供告警规则草案形成明确SLI/SLO/错误预算与Prometheus规则文件并可检查test -f docs/ops/slo.md && test -f deploy/prometheus/alerts-slo.ymlmanualDONEDONEDONEdocs/ops/non-functional-baseline.md | docs/ops/slo.md | deploy/prometheus/alerts-slo.yml["P13-0"]已新增SLO文档与Prometheus告警规则;验收通过: test -f docs/ops/slo.md && test -f deploy/prometheus/alerts-slo.yml;回滚: 删除新增文档与规则并恢复Issue状态
7P13-5回归脚本结构化报告输出为regression-all增加JSON报告能力并标准化结果字段可输出commit/时间戳/脚本项结果并可被CI消费cd server && ./scripts/regression-all.sh --json-report /tmp/regression-report.json && jq . /tmp/regression-report.json >/dev/nullmanualDONEDONEDONEserver/scripts/regression-all.sh | server/scripts/lib/regression-report.sh["P13-0"]已支持--json-report并输出schema_version=1.0;支持enabled/failed/skipped结构化步骤;回滚: 不使用--json-report保持旧行为
8P13-6CI回归报告归档在GitHub Actions中上传回归JSON报告并关联commit SHACI产物可下载且报告包含失败项定位信息gh run view --log || manual: 在Actions页面确认artifact存在manualDONEDONEDONE.github/workflows/ci-regression.yml | docs/ops/ci-regression-reporting.md["P13-5"]ci-regression已输出/tmp/hyb-oa-regression/report.json并通过actions/upload-artifact归档;回滚: 移除artifact步骤
9P13-7变更失败率统计脚本基于回归JSON生成按时间窗口统计的Change Failure Rate报表生成周/月维度失败率报表并可复算python3 scripts/cfr_report.py --input-dir artifacts/regression --window 7d,30d --output-json /tmp/cfr.json && jq -e '.windows["30d"].run_cfr_pct >= 0' /tmp/cfr.json >/dev/nullmanualDONEDONEDONEscripts/cfr_report.py | docs/ops/dora-metrics.md | docs/feature-matrix.md["P13-6"]新增CFR统计脚本,支持7d/30d窗口与可选hotfix-csv;failed_commit=回归失败或24h热修
10P13-8P13验收与矩阵收口执行P13相关校验并同步feature matrix与Issue状态check-minimal+关键回归通过且矩阵一致性通过./scripts/check-minimal.sh && cd server && RUN_AUDIT_REGRESSION=1 RUN_OCR_REGRESSION=1 RUN_FEATURE_FLAGS_REGRESSION=1 ./scripts/regression-all.sh --json-report /tmp/regression-report.json && cd /home/shunli/Projects/hyb-oa && python3 scripts/validate-feature-matrix.pymanualDONEDONEDONEdocs/feature-matrix.md | scripts/validate-feature-matrix.py | issues/2026-02-12_01-09-41-p13-l5-governance.csv["P13-2","P13-3","P13-4","P13-7"]已纳入P13事实源并补齐P13-0~P13-8矩阵行;完成后统一三状态DONE