ai-agent-dev-workflow

Clarification Taxonomy

Structured categories for detecting ambiguity in feature specs. Use this during Phase 2 (to identify edge cases and mark ambiguities) and Phase 3 (to prioritize clarification questions).

For each category, assess: Clear Partial Missing

Category filtering: Not all 9 categories apply to every project. Skip categories that are structurally irrelevant — e.g., skip “Users & Roles” for single-user CLI tools, skip “Interaction Flow” for non-interactive content packages. Mark skipped categories as “N/A” rather than “Clear” to distinguish “doesn’t apply” from “assessed and satisfied.”

Categories marked Partial or Missing are candidates for [NEEDS CLARIFICATION] markers. Only promote to a marker when:

Make informed guesses for everything else and document in Assumptions.


Categories

1. Scope & Boundaries

What is included in this feature? What is explicitly excluded?

Check for:

Reasonable defaults: If not specified, assume all-at-once rollout, no feature flags, standard volume for the project type.

2. Users & Roles

Who uses this feature? Does behavior differ by user type?

Check for:

Reasonable defaults: If not specified, assume single user type, authentication required, no multi-tenancy.

3. Data & State

What data does this feature create, read, update, or delete?

Check for:

Reasonable defaults: If not specified, assume standard CRUD, industry-standard retention, no migration needed.

4. Interaction Flow

What is the primary user journey?

Check for:

Reasonable defaults: If not specified, assume single entry point, loading spinner, “no items yet” empty state, confirmation for destructive actions.

5. Error Handling

What happens when things go wrong?

Check for:

Reasonable defaults: If not specified, assume user-friendly error messages, manual retry, no degraded mode.

6. Edge Cases & Boundaries

What boundary conditions and concurrent scenarios exist?

Check for:

Reasonable defaults: If not specified, assume reasonable max limits for the platform, no special concurrent handling beyond standard framework protections.

7. Integration & Dependencies

What existing systems does this feature interact with?

Check for:

Reasonable defaults: If not specified, assume current API version, standard timeout (30s), no backward compatibility concerns unless the project has existing consumers.

8. Non-Functional Concerns

What quality attributes matter beyond correctness?

Performance:

Security:

Accessibility:

Observability:

Reasonable defaults: If not specified, assume standard performance for the platform, basic auth, no specific WCAG target, standard logging at info/error levels.

9. Domain-Specific Concerns

Project-specific patterns from PROJECT.md.

Check for:

This category has no reasonable defaults — it’s entirely project-specific. If PROJECT.md doesn’t exist or has no domain concerns listed, skip this category.


Prioritization

When multiple categories have ambiguities, promote to [NEEDS CLARIFICATION] in this priority order:

  1. Scope & Boundaries — Wrong scope = wasted implementation
  2. Data & State — Wrong model = expensive rework
  3. Error Handling — Missing error handling = production incidents
  4. Users & Roles — Wrong permissions = security issues
  5. Edge Cases — Missing edge cases = bugs found later
  6. Integration — Missed dependencies = broken features
  7. Interaction Flow — Wrong flow = poor UX
  8. Non-Functional — Missing NFRs = tech debt
  9. Domain-Specific — Context-dependent priority

Use this order when selecting which ambiguities to promote to [NEEDS CLARIFICATION] (max 5) and which to resolve with reasonable defaults documented in Assumptions.


Question Design

When promoting an ambiguity to a clarification question:

Example:

**Context:** The spec says "users can export data" but doesn't
specify the format.

**Recommended:** Option A — CSV is the most universally supported
format and doesn't require additional libraries.

| Option | Description | Implications |
|---|---|---|
| A | CSV export | Simple, universal, no formatting |
| B | JSON export | Structured, good for re-import |
| C | Both CSV and JSON | More work, covers more use cases |

Reply with option letter, "yes" to accept recommendation, or
your own answer.