SPEC-0013: Scrum Mode Audit Triage
Overviewā
A --scrum flag for /sdd:audit that adds a team-based triage ceremony on top of the standard six-category drift analysis. After completing the standard audit, a six-role scrum team groups raw findings into functional themes, applies prioritization (P1/P2/P3) and effort estimation (XSāXL), challenges false positives, distinguishes code-fix findings from artifact-update findings, and produces a prioritized remediation roadmap. ADRs and OpenSpecs are the source of truth; code that deviates is presumed wrong unless the triage team explicitly argues the artifact has become stale. See š ADR-0014.
Requirementsā
Requirement: Scrum Flag and Mode Activationā
The /sdd:audit skill MUST accept a --scrum flag. When set, the skill SHALL first complete the full standard audit analysis (all six drift categories, severity assignments, findings table) and then execute the triage ceremony phases. The --scrum flag MUST compose with scope arguments: /sdd:audit auth --scrum SHALL limit both the standard audit and the triage ceremony to the auth domain. The --scrum flag MUST be mutually exclusive with --review; if both are provided, --scrum MUST take precedence.
Scenario: Scoped scrum auditā
- WHEN the user runs
/sdd:audit security --scrum - THEN the standard audit analyzes only security-domain artifacts and code, and the triage team triages only the security-domain findings
Scenario: Full-project scrum auditā
- WHEN the user runs
/sdd:audit --scrumwith no scope - THEN the standard audit runs against the full project and the triage team triages all findings
Scenario: Flag precedenceā
- WHEN the user provides both
--scrumand--review - THEN
--scrumtakes precedence,--reviewis silently ignored, and the scrum ceremony runs
Requirement: Triage Team Compositionā
The skill MUST spawn exactly five specialist agents to triage raw findings alongside the orchestrating lead. Agent personas MUST be defined verbatim in the SKILL.md with the following role-specific mandates:
| Role | Audit-Specific Mandate |
|---|---|
| Product Owner | Prioritize findings by business impact and user exposure; decide which findings are "accept for now" vs. "must fix before next release"; document priority decisions with reasoning |
| Scrum Master | Estimate remediation effort per theme (XS/S/M/L/XL); flag themes that are too large for one sprint and propose splits; ensure themes are sprint-actionable |
| Engineer A | Assess technical complexity and implementation risk of fixes; identify themes that require large refactors vs. targeted patches |
| Engineer B (Grumpy) | Challenge whether each finding is genuine drift or intentional architectural evolution; hold a high bar for accepting "this is fine actually"; explicitly call out when the PO wants to defer a MUST/SHALL violation |
| Architect | Validate that ADRs and specs are still the correct source of truth; identify findings where the correct resolution is an artifact update (via /sdd:adr or /sdd:spec) rather than a code fix |
Scenario: Engineer B disputes a findingā
- WHEN Engineer B argues a finding reflects intentional evolution, not drift
- THEN the Architect evaluates the argument and decides: code fix required, or artifact update needed
Scenario: Architect recommends artifact updateā
- WHEN the Architect determines the code reflects a better architectural decision than the current spec or ADR
- THEN the finding MUST be flagged as "ARTIFACT UPDATE NEEDED" with a suggestion to run
/sdd:adror/sdd:specto capture the evolution, rather than being added to the code-fix remediation backlog
Scenario: PO wants to defer a MUST violationā
- WHEN the PO proposes accepting a finding that violates a MUST or SHALL requirement
- THEN Engineer B MUST object, and the Scrum Master MUST note the objection in the triage report; MUST violations MAY only be deferred if both Engineer B's objection is documented and the PO provides a written justification
Requirement: Source of Truth Principleā
ADRs with status accepted and specs with status approved or implemented SHALL be treated as the authoritative source of truth. When code deviates from these artifacts, the code MUST be presumed incorrect unless the triage team's Architect explicitly reclassifies the finding as an artifact update. The skill MUST NOT treat all drift as equivalent ā findings against accepted ADRs and approved/implemented specs carry higher authority than findings against proposed ADRs or draft specs.
Scenario: Code deviates from accepted ADRā
- WHEN a finding shows code contradicting an accepted ADR decision
- THEN the finding is presumed a code error unless the Architect reclassifies it as an artifact update
Scenario: Code deviates from proposed ADRā
- WHEN a finding shows code contradicting a proposed (not yet accepted) ADR
- THEN the finding SHOULD be flagged as lower-authority drift; the PO MAY choose to accept this as "not yet binding" without Engineer B objecting
Requirement: Functional Theme Groupingā
After the standard audit completes, the lead MUST group all findings into 4ā8 functional themes before the triage team is spawned. Themes MUST be named for the affected part of the system (e.g., "Authentication & Authorization", "Billing API Contracts", "Data Model Coverage") rather than for the drift category (e.g., "Code vs. Spec findings"). Each finding MUST appear in exactly one theme. Themes that contain only INFO-severity findings SHOULD be grouped into a single "Technical Debt & Coverage Gaps" theme unless the INFO findings are functionally heterogeneous.