Tailor the design phase to the feature's domain instead of using one generic
(backend-flavored) schema for everything.
- classify_feature_domain: auto-detect frontend/backend/fullstack from an
explicit story Type:/Domain: field, then heuristic keyword scoring, failing
safe to fullstack (the superset) when ambiguous
- build_lens_block + build_domain_schema: inject a domain-specific planning
lens (component states, a11y, responsive / API contract, error handling,
migrations, concurrency, observability) and matching JSON fields, added to
the existing core schema (non-breaking)
- run_design_critic is now domain-aware: missing FE component states/a11y or
BE error paths/status codes are enforced as NEEDS_REVISION gaps via the
existing revision loop
- validate_domain_completeness: advisory warning + metric for the common
omissions (FE components without states, BE API without error handling)
- get_result_feature_type getter; TDD reconciliation now hints which test
kinds to emphasize per domain
Auto-detection only (no manual override flag yet). All additions are advisory
except the critic enforcement, preserving the non-blocking design contract.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>