# In Progress

## Role

Active development. Issue is being worked on, code is being written.

## Actions

1. Analyze issue and acceptance criteria
2. Explore codebase to understand existing context
3. Plan modifications (files to create/modify)
4. **MANDATORY VERIFICATION**: For EACH acceptance criterion:
   - Check if criterion is already satisfied in existing code
   - If NO: implement the missing functionality
   - If YES: move to next criterion
5. Test locally that ALL criteria pass
6. Commit + push work done
7. If out of scope work detected: `autocode new "<title>" "<description>" --priority P2 --labels "<labels>" --acceptance "<criteria>" --semver patch --column backlog`
8. Document: `autocode comment <issue-key> "Work completed: [list of changes]"`
9. **ONLY IF ALL CRITERIA ARE SATISFIED**: `autocode next <issue-key>`

> Or return: `autocode move <issue-key> <target-column-slug>`

## IMPORTANT

⚠️ **NEVER call `autocode next` if acceptance criteria are not ALL satisfied!**

If criteria cannot be satisfied:
- Document why with `autocode comment`
- DO NOT advance the issue
- Wait for human decision

If code exists but does not match criteria:
- MODIFY the code to match the criteria
- Do not assume "code exists so it's fine"

## Validation Criteria

- [ ] ALL acceptance criteria are verified ONE BY ONE
- [ ] Code implements ALL functionalities required by criteria
- [ ] Local tests pass
- [ ] Code is committed and pushed
- [ ] A comment summarizes work done

## Notes

For investigation: documented answer is the deliverable. For bug: identify root cause before coding fix.
