cc-haha/.github/copilot-instructions.md
程序员阿江(Relakkes) b156be8d8d feat: make PR quality verification self-enforcing
Contributors and coding agents need one local command that both reports and enforces the quality contract. This change turns the PR gate into the shared verification entrypoint, adds path-selected local lanes, tightens coverage accounting around changed lines, and documents the repair loop in contributor and agent-facing guidance.

Constraint: Ordinary PR verification must stay non-live and runnable without provider credentials
Constraint: Coverage policy updates in this commit require maintainer approval before push/merge
Rejected: Keep quality guidance only in docs | agents need executable scripts and AGENTS.md instructions to follow the loop consistently
Confidence: high
Scope-risk: broad
Directive: Do not bypass `bun run verify` for production changes; fix failed lanes and coverage reports instead of lowering thresholds
Tested: bun run check:policy
Tested: ALLOW_CLI_CORE_CHANGE=1 ALLOW_COVERAGE_BASELINE_CHANGE=1 bun run verify
Not-tested: live provider baseline; no provider credentials were required for this non-live PR gate
2026-05-06 22:33:43 +08:00

1.6 KiB

AI Coding Instructions

Follow the repository contract in AGENTS.md before editing code.

For every feature or bugfix:

  • Identify the changed surface before coding: desktop, server, adapter, native, docs, provider/runtime, agent-loop, or release.
  • Add same-area tests with the production change. Do not leave production behavior untested unless the PR explicitly carries the maintainer override allow-missing-tests.
  • Preserve or improve the coverage ratchet. New or changed executable production lines must pass the changed-line coverage threshold in scripts/quality-gate/coverage-thresholds.json; do not edit coverage baselines or thresholds without maintainer approval via allow-coverage-baseline-change.
  • Use unit tests for pure logic, API/request-shape tests for server/provider/runtime behavior, Testing Library/Vitest for desktop UI and stores, and E2E or agent-browser smoke for user-visible cross-boundary flows.
  • For agent loop, tool execution, provider routing, model selection, file editing, permissions, session resume, and desktop chat changes, include mock/fixture tests and provide live smoke or baseline evidence when provider access is available.
  • Before marking work complete, run the narrow relevant check and then bun run verify; for high-risk Coding Agent paths, also run bun run quality:providers plus the appropriate quality:smoke, quality:baseline, or quality:release command.
  • In the final handoff or PR description, include changed files, tests added, coverage report path, E2E/live report path or blocker, and known residual risk.