ci: harden trusted PR review evidence (#1896)

This commit is contained in:
Carlos Florêncio
2026-07-23 16:22:50 +01:00
committed by GitHub
parent 1c70495689
commit a225fbac3e
57 changed files with 2193 additions and 425 deletions
+22 -11
View File
@@ -75,7 +75,10 @@ Every code change must include tests for new or changed logic. Backend: `*_test.
- **Plans:** Implementation plans are generated from specs via `/plan` and committed under `docs/plans/<slug>/plan.md`, with individual sibling task files named `docs/plans/<slug>/task-<NN>-<short-slug>.md`. Specs are the living requirements; plans and task files are implementation records for the current buildout.
### Plan Implementation
- After implementing a plan, run `make fmt` first to format code, then run `make typecheck test lint` to verify the changes. Formatting must come first because formatters may split lines, which can trigger complexity linter warnings.
- After implementing a substantial plan, commit through active hooks, then
delegate `verify` with `mode=full` before push. Full mode ignores hook
omissions and runs `make fmt` before `make typecheck test lint`; formatting
comes first because it may split lines and expose complexity-linter failures.
### Observability
- In dev mode (`KANDEV_MOCK_AGENT=true` or `debug.pprofEnabled`), `/debug/vars` exposes the stdlib expvar handler. Office provider-routing metrics live under `routing_*` (route attempts, fallbacks, parked runs, provider degraded/recovered counters). The metrics are also still emitted as structured `routing.metric.*` zap logs for human debugging.
@@ -93,17 +96,25 @@ When a Kandev system message references an MCP tool that is not visible in the a
### Planner and Worker Execution
The user-started primary session is the planner. It may clarify intent, read
repository context, create planning artifacts, delegate bounded work, review
results, and report status. It must not implement or edit application, test, or
harness code; run tests or verification; commit or push changes; or create PRs.
The user-started primary session is the planner and default architect: it owns
clarification, architecture, specs, plans, task decomposition, integration
judgment, and user communication. It may directly perform small scoped work
when one clear concern touches a few localized files, has no useful isolation or
parallelism benefit, and has quick bounded verification. Follow the applicable
skill, protect unrelated dirty changes, and obtain delegated Spark `verify`
after commit and before push when code, tests, or config changed. Pass the
successful non-bypassed hook receipt so changed-scope verification skips only
equivalent hook-covered checks; PR CI remains the authoritative full matrix.
All execution must be delegated through the current coding harness's native
subagent tools. Never use Kandev MCP task/session APIs as a delegation fallback.
Each delegated worker executes one bounded work packet and must not spawn other
agents. If native delegation is unavailable, stop and report that limitation.
Detailed work-packet and model-selection rules live in the
`planner-orchestration` skill.
Delegate only when it has positive ROI or independent evidence is essential:
broad/unknown exploration, substantial plan tasks, large/cross-component work,
parallel packets, long/noisy E2E or debugging, exceptional specialist review,
and final change-aware `verify`. Keep long PR monitoring on cheap `pr-poller`.
Delegation is not default ceremony: weigh context reload and coordination cost.
Each delegated worker executes one bounded packet and does not spawn agents.
Never use Kandev MCP task/session APIs as a delegation fallback. The architect
agent is only for a user-requested independent architecture second opinion.
Detailed routing lives in `planner-orchestration`.
### Kandev Task Creation