# DSS Core Principles **Version 2.1.0** | Last Updated: 2025-12-09 | Status: Production The Design System Swarm (DSS) treats design as a core architectural concern, equal to code and infrastructure. By codifying design decisions into version-controlled, immutable contracts and exposing all operations via standardized tooling, we deliver consistent, high-quality user experiences with greater velocity and traceability. --- ## The 5 Core Principles ### 1. Design is an Architectural Concern Design decisions shape system structure, not just aesthetics. Every color, spacing, and component is a **contract** that other parts of the system depend on. **What this means:** - Design tokens are code-level dependencies, not styling suggestions - Component specifications are immutable contracts (API_CONTRACTS.md) - Design changes go through the same versioning and review as API changes **Decision criteria:** - Does this design change affect component contracts? → Version it - Is this a visual tweak or structural change? → Structural = architectural --- ### 2. Contracts are Immutable and Versioned Tier 1 files (API_CONTRACTS.md, ARCHITECTURE.md, PRINCIPLES.md) are the constitution. They change only through semantic versioning. **What this means:** - Breaking changes require MAJOR version bump (v1.0.0 → v2.0.0) - Non-breaking additions require MINOR bump (v1.0.0 → v1.1.0) - Documentation fixes require PATCH bump (v1.0.0 → v1.0.1) - Every change includes a changelog entry **Decision criteria:** - Will external systems break if I change this? → Don't change it (bump version first) - Can I add new fields without breaking old code? → Minor bump, backwards compatible --- ### 3. The System is the Single Source of Truth Every piece of information exists in exactly ONE canonical location. No duplicates, no "also documented in...". **What this means:** - API endpoints documented ONCE in API_CONTRACTS.md (not repeated in README) - Architecture decisions documented ONCE in ARCHITECTURE.md (not in project guides) - Project status documented ONCE in PROJECT_STATUS.md (not in weekly reports) - Use links instead of copy-paste for cross-references **Decision criteria:** - Does this information already exist somewhere? → Link to it, don't duplicate - Is there conflicting information in two places? → Find the canonical source and delete the copy --- ### 4. Decisions are Explicit and Traceable Why did we choose this? → Check the Architecture Decision Record (ADR). **What this means:** - Significant architectural decisions documented in `.knowledge/adrs/` - Every ADR includes: context, decision, alternatives considered, consequences - Code changes link to ADRs (`Implements ADR-002`) - Decision rationale is preserved, not lost in commit messages **Decision criteria:** - Will someone ask "why did we do this?" in 6 months? → Document it as an ADR - Is this a one-off technical choice or a pattern? → If pattern, it's an ADR --- ### 5. Operations are Exposed as Standardized Tools Model Context Protocol (MCP) tools are first-class. REST endpoints wrap tools, not the reverse. Agents interact via tools; humans use tools through UIs. **What this means:** - Every operation (create project, sync tokens, etc.) is an MCP tool - REST endpoints wrap tools, not standalone logic - Agents have full autonomy via tools - All operations logged in audit trail **Decision criteria:** - Is this a new capability? → Create as MCP tool first, then REST endpoint wraps it - Should humans or agents do this? → Humans use tool through UI, agents use directly --- ## How These Principles Work Together ``` Design Decisions (Principle 1) ↓ Version in Contracts (Principle 2) ↓ Document in Single Location (Principle 3) ↓ Record Why in ADR (Principle 4) ↓ Expose as MCP Tool (Principle 5) ↓ Governed by Admin Standards (Admin Principles) ``` --- ## Admin & Operational Standards The administration of the DSS is governed by a specific set of operational standards that extend these core principles. **See [ADMIN_PRINCIPLES.md](./ADMIN_PRINCIPLES.md) for the detailed specification.** **Key Admin Principles:** 1. **Visibility**: Transparent system state (Glass Box). 2. **Authority**: Decisions bounded by contracts (No God Mode). 3. **Accountability**: All actions audited and attributed. 4. **Partnership**: Distinct roles for Developers and Admins. 5. **Isolation**: Admin plane survives User plane failures. --- ## What to Do When Principles Conflict Use this hierarchy: 1. **Contracts are Immutable** (highest priority) 2. **Single Source of Truth** 3. **Operations as Tools** 4. **Decisions Traceable** 5. **Design is Architecture** (lowest priority) **Example**: If MCP tooling would break an API contract → Keep the contract, deprecate the old tool, introduce new one in next major version. --- ## For Different Audiences **New Developer:** 1. Read this file (5 min) 2. Read DOCUMENTATION_GUIDE.md (10 min) 3. Start with QUICK_REFERENCE.md for your task **Making a Decision:** 1. Will this break a contract? (Principle 2) 2. Will this duplicate existing info? (Principle 3) 3. Should this be an MCP tool? (Principle 5) 4. Document in an ADR if significant (Principle 4) **Doing Code Review:** - Does this create duplicate documentation? ✗ - Is the version updated? ✓ - Should this be an MCP tool? ✓ - Is there an ADR for this decision? (if major change) ✓ --- ## Key Documents - **API_CONTRACTS.md**: Endpoint specifications (immutable, versioned) - **ARCHITECTURE.md**: System design and structure (immutable, versioned) - **ADMIN_PRINCIPLES.md**: Operational standards and admin governance - **PROJECT_STATUS.md**: Current state (updated weekly, not immutable) - **IMPLEMENTATION_SUMMARY.md**: Feature inventory by phase - **.knowledge/adrs/**: Decision records (why we chose this way) - **DOCUMENTATION_GUIDE.md**: Map of all documentation (where to find what) - **BEST_PRACTICES.md**: How to apply principles (implementation patterns) - **ANTI_PATTERNS_AND_LEARNINGS.md**: What not to do (and why) --- ## Success Metrics - ✅ No duplicate documentation (links used instead) - ✅ All major decisions in `.knowledge/adrs/` - ✅ Tier 1 files (contracts) never change without version bump - ✅ PROJECT_STATUS.md updated weekly - ✅ All operations have MCP tools (REST wraps tools) - ✅ New developer can start coding in 30 min (read QUICK_REFERENCE → DOCUMENTATION_GUIDE → relevant guide) - ✅ Team asks "which principle applies here?" before PRs --- ## Evolution Path **Year 1 (Now)**: Manual enforcement - Team follows principles consciously - Pre-commit hooks catch violations - CI/CD validates consistency **Year 2**: Automation - Generate semver from change detection - Auto-generate changelogs - Tools self-discover from API schema **Year 3**: Code-from-Graph - ARCHITECTURE.md generates TypeScript types - API_CONTRACTS.md generates OpenAPI + SDK types - ADRs generate test suites - Rules become executable code --- **Last Updated**: 2025-12-09 **Version**: 2.2.0 (Integrated 6-principle Admin framework) **Previous Version**: 2.1.0 **Status**: PRODUCTION - All principles active and enforced