---
name: "Replace manual_qa boolean with configurable qa mode field"
---

# Story 306: Replace manual_qa boolean with configurable qa mode field

## User Story

As a project owner, I want to configure QA mode per-story and set a project-wide default, so that I can choose between human review, server-only gate checks, or full agent QA on a per-story basis.

## Acceptance Criteria

- [ ] Replace manual_qa: true/false front matter field with qa: human|server|agent
- [ ] qa: server — skip the QA agent entirely, rely on server's automated gate checks (clippy + tests + coverage). If gates pass, advance straight to merge
- [ ] qa: agent — current behavior, spin up a QA agent (Claude session) to review code and run gates
- [ ] qa: human — hold in QA for human approval after server gates pass (current manual_qa: true behavior)
- [ ] Default qa mode is configurable in project.toml (e.g. default_qa = "server")
- [ ] Set the initial default in project.toml to "server"
- [ ] Per-story front matter qa field overrides the project default
- [ ] Backwards compatible: existing stories without a qa field use the project default
- [ ] Remove the old manual_qa field handling and replace with the new qa field throughout pool.rs, story_metadata.rs, and any other references
- [ ] Update bot.toml.example and project.toml documentation to reflect the new field

## Out of Scope

- TBD
