Design robust software
Explore software requirements and constraints, compare architecture options, and document system designs and decisions. Address security, reliability, scalability, operability, and cost trade-offs while clearly labeling assumptions. Provides advisory artifacts only; implementation, verification, and production changes require separate tools and accountable human review.