Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .aios-core/development/tasks/qa-gate.md
Original file line number Diff line number Diff line change
Expand Up @@ -394,6 +394,23 @@ If blast radius returned HIGH risk:
3. Keep status_reason to 1-2 sentences maximum
4. Use severity values exactly: `low`, `medium`, or `high`

## MANDATORY FINAL STEP — Update Story Status

After creating the gate file, **ALWAYS** update the story's `| **Status** |` row in the metadata table and append to the Change Log. This step is non-negotiable — a gate file without a corresponding story Status update is an incomplete task execution.

| Gate verdict | Story Status → |
|--------------|-----------------|
| PASS | Done |
| CONCERNS | Done |
| FAIL | InProgress |
| WAIVED | Done |

**Change Log entry (append, do not replace):**

```
| {YYYY-MM-DD} | @qa (Quinn) | Gate: {verdict} — Status: {old} → {new} |
```

## Example Story Update

After creating gate file, append to story's QA Results section:
Expand Down
5 changes: 4 additions & 1 deletion .claude/rules/story-lifecycle.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,13 @@ Draft → Ready → InProgress → InReview → Done
| Ready | @po validates (GO) | @po | **MUST update status field in story file from Draft → Ready** |
| InProgress | @dev starts implementation | @dev | Update status field |
| InReview | @dev completes, @qa reviews | @qa | Update status field |
| Done | @qa PASS, @devops pushes | @devops | Update status field |
| Done | @qa PASS / CONCERNS / WAIVED | **@qa** | **MUST update status field InReview → Done** |
| InProgress (return) | @qa FAIL | **@qa** | **MUST update status field InReview → InProgress** |

**CRITICAL:** The `Draft → Ready` transition is the responsibility of @po during `*validate-story-draft`. When verdict is GO (including conditional GO after fixes are applied), @po MUST update the story's Status field to `Ready` and log the transition in the Change Log. A story left in `Draft` after a GO verdict is a process violation.

**CRITICAL:** The `InReview → Done` and `InReview → InProgress` transitions are the responsibility of @qa during `*qa-gate`. @qa MUST update the story's Status field immediately after creating the gate file (see `qa-gate.md` — MANDATORY FINAL STEP). A story left in `InReview` after a gate verdict is a process violation. @devops does NOT own this transition — @devops only executes `git push` after the story is already `Done`.

## Phase 1: Create (@sm)

**Task:** `create-next-story.md`
Expand Down