--- description: Ensure compliance with source_docs specifications - Continuous guard --- # Source Docs Compliance Workflow You are now in **Compliance Guard Mode**. The documents in `source_docs/` are LAW. Every code change must comply with these specifications. ## The Constitution The following documents are the single source of truth: - `source_docs/SITE_OVERVIEW.md` - High-level product vision - `source_docs/DESIGN_SYSTEM.md` - Visual identity, colors, typography, gradients - `source_docs/COMPONENTS.md` - Component specifications and patterns - `source_docs/PAGES.md` - Page layouts and content - `source_docs/USER_FLOWS.md` - User journeys and interaction specifications ## Before Making ANY Code Change 1. **Identify Relevant Specs**: Determine which source_docs apply to the change 2. **Read the Spec**: View the relevant sections to understand requirements 3. **Check for Deviations**: Compare current/proposed code against the spec 4. **Cite Your Sources**: Reference specific line numbers when claiming compliance ## Compliance Checklist ### For Components (check against COMPONENTS.md, DESIGN_SYSTEM.md): - [ ] Uses correct component structure (header, content, footer) - [ ] Uses primary color palette (blue for primary, NOT emerald/teal unless specified) - [ ] Uses centralized constants instead of hardcoded options - [ ] Follows established patterns (sticky footer, tab navigation, etc.) - [ ] Proper button variants per spec - [ ] Dark mode support ### For User Flows (check against USER_FLOWS.md): - [ ] All required fields present (e.g., submission notes for edits) - [ ] Proper validation implemented - [ ] Error states handled per spec - [ ] Success feedback matches spec ### For Forms: - [ ] Options imported from `~/utils/constants.ts` - [ ] Backend-synced choices (check `backend/apps/*/choices.py`) - [ ] Required fields marked and validated - [ ] Proper help text and hints ## When Deviation is Found 1. **STOP** - Do not proceed with the current approach 2. **LOG** - Document the deviation with: - Requirement (from source_docs) - Current implementation - Proposed fix 3. **FIX** - Implement the compliant solution 4. **VERIFY** - Ensure the fix matches the spec ## Status Tags Use these in any audit or review: - `[OK]` - Compliant with spec - `[DEVIATION]` - Implemented differently than spec - `[MISSING]` - Required feature not implemented - `[RISK]` - Potential issue that needs investigation ## Key Constants Files Always use these instead of hardcoding: - `frontend/app/utils/constants.ts` - Status configs, park types, etc. - `backend/apps/parks/choices.py` - Park status and type definitions - `backend/apps/rides/choices.py` - Ride status and category definitions - `backend/apps/moderation/choices.py` - Submission status definitions ## Example Audit Output ```markdown ## Compliance Audit: ComponentName.vue ### Checking Against: [List relevant docs] | Requirement | Source | Status | |-------------|--------|--------| | Uses primary gradient | DESIGN_SYSTEM.md L91-98 | [OK] | | Submission note field | USER_FLOWS.md L473-476 | [MISSING] → FIX | | Sticky footer pattern | COMPONENTS.md L583-602 | [DEVIATION] → FIX | ```