mirror of
https://github.com/NanmiCoder/cc-haha
synced 2026-07-16 13:03:31 +08:00
The desktop product needs a repeatable local gate that can prove the core Coding Agent loop still works after changes, not only that unit tests pass. This adds a quality-gate runner with PR, baseline, and release modes, structured reports, explicit quarantine metadata, and fixture-based live baseline cases that can run across provider/model targets. Constraint: Existing check:pr and CI policy behavior must remain usable while the stronger baseline grows around it Constraint: Default PR gates must not require real model credentials or provider quota Rejected: Build a standalone QA platform first | too heavy before the baseline task shape is proven Rejected: Keep unstable server exclusions hardcoded in run-server-tests | hides quarantine policy from reports and future review Confidence: medium Scope-risk: moderate Directive: Expand baseline cases by adding focused fixtures and verifiers; do not make normal PR checks depend on live providers Tested: bun test scripts/quality-gate/*.test.ts scripts/quality-gate/baseline/*.test.ts Tested: bun run check:server Tested: bun run quality:gate --mode baseline --allow-live --provider-model 2944f963-ce75-45b7-bac1-6e4f57df0970:kimi-k2.6:volc-kimi-k2.6 --provider-model 9c78d3df-7fb5-44c7-8436-3a41c3a59231:MiniMax-M2.7-highspeed:minimax-m2.7 Not-tested: desktop UI browser smoke and native release mode in this commit
40 lines
1.3 KiB
JSON
40 lines
1.3 KiB
JSON
{
|
|
"quarantined": [
|
|
{
|
|
"id": "server:cron-scheduler",
|
|
"path": "src/server/__tests__/cron-scheduler.test.ts",
|
|
"reason": "Known unstable scheduler timing assertions; keep out of default server gate until fixed.",
|
|
"owner": "maintainers",
|
|
"reviewAfter": "2026-06-01"
|
|
},
|
|
{
|
|
"id": "server:providers-real",
|
|
"path": "src/server/__tests__/providers-real.test.ts",
|
|
"reason": "Live provider coverage belongs in maintainer baseline or release mode, not the default PR gate.",
|
|
"owner": "maintainers",
|
|
"reviewAfter": "2026-06-01"
|
|
},
|
|
{
|
|
"id": "server:tasks",
|
|
"path": "src/server/__tests__/tasks.test.ts",
|
|
"reason": "Known default-gate instability; keep quarantined until task timing is hardened.",
|
|
"owner": "maintainers",
|
|
"reviewAfter": "2026-06-01"
|
|
},
|
|
{
|
|
"id": "server:e2e:business-flow",
|
|
"path": "src/server/__tests__/e2e/business-flow.test.ts",
|
|
"reason": "Broad e2e flow is not deterministic enough for default PR checks.",
|
|
"owner": "maintainers",
|
|
"reviewAfter": "2026-06-01"
|
|
},
|
|
{
|
|
"id": "server:e2e:full-flow",
|
|
"path": "src/server/__tests__/e2e/full-flow.test.ts",
|
|
"reason": "Broad e2e flow is not deterministic enough for default PR checks.",
|
|
"owner": "maintainers",
|
|
"reviewAfter": "2026-06-01"
|
|
}
|
|
]
|
|
}
|