UNPKG

aios-core

Version:

Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework

523 lines (390 loc) 14.1 kB
# Generate Phased Migration Strategy > Task ID: brad-generate-migration-strategy > Agent: Brad (Design System Architect) > Version: 1.0.0 ## Execution Modes **Choose your execution mode:** ### 1. YOLO Mode - Fast, Autonomous (0-1 prompts) - Autonomous decision making with logging - Minimal user interaction - **Best for:** Simple, deterministic tasks ### 2. Interactive Mode - Balanced, Educational (5-10 prompts) **[DEFAULT]** - Explicit decision checkpoints - Educational explanations - **Best for:** Learning, complex decisions ### 3. Pre-Flight Planning - Comprehensive Upfront Planning - Task analysis phase (identify all ambiguities) - Zero ambiguity execution - **Best for:** Ambiguous requirements, critical work **Parameter:** `mode` (optional, default: `interactive`) --- ## Task Definition (AIOS Task Format V1.0) ```yaml task: generateMigrationStrategy() responsável: Dara (Sage) responsavel_type: Agente atomic_layer: Strategy **Entrada:** - campo: name tipo: string origem: User Input obrigatório: true validação: Must be non-empty, lowercase, kebab-case - campo: options tipo: object origem: User Input obrigatório: false validação: Valid JSON object with allowed keys - campo: force tipo: boolean origem: User Input obrigatório: false validação: Default: false **Saída:** - campo: created_file tipo: string destino: File system persistido: true - campo: validation_report tipo: object destino: Memory persistido: false - campo: success tipo: boolean destino: Return value persistido: false ``` --- ## Pre-Conditions **Purpose:** Validate prerequisites BEFORE task execution (blocking) **Checklist:** ```yaml pre-conditions: - [ ] Target does not already exist; required inputs provided; permissions granted tipo: pre-condition blocker: true validação: | Check target does not already exist; required inputs provided; permissions granted error_message: "Pre-condition failed: Target does not already exist; required inputs provided; permissions granted" ``` --- ## Post-Conditions **Purpose:** Validate execution success AFTER task completes **Checklist:** ```yaml post-conditions: - [ ] Resource created successfully; validation passed; no errors logged tipo: post-condition blocker: true validação: | Verify resource created successfully; validation passed; no errors logged error_message: "Post-condition failed: Resource created successfully; validation passed; no errors logged" ``` --- ## Acceptance Criteria **Purpose:** Definitive pass/fail criteria for task completion **Checklist:** ```yaml acceptance-criteria: - [ ] Resource exists and is valid; no duplicate resources created tipo: acceptance-criterion blocker: true validação: | Assert resource exists and is valid; no duplicate resources created error_message: "Acceptance criterion not met: Resource exists and is valid; no duplicate resources created" ``` --- ## Tools **External/shared resources used by this task:** - **Tool:** component-generator - **Purpose:** Generate new components from templates - **Source:** .aios-core/scripts/component-generator.js - **Tool:** file-system - **Purpose:** File creation and validation - **Source:** Node.js fs module --- ## Scripts **Agent-specific code for this task:** - **Script:** create-component.js - **Purpose:** Component creation workflow - **Language:** JavaScript - **Location:** .aios-core/scripts/create-component.js --- ## Error Handling **Strategy:** retry **Common Errors:** 1. **Error:** Resource Already Exists - **Cause:** Target file/resource already exists in system - **Resolution:** Use force flag or choose different name - **Recovery:** Prompt user for alternative name or force overwrite 2. **Error:** Invalid Input - **Cause:** Input name contains invalid characters or format - **Resolution:** Validate input against naming rules (kebab-case, lowercase, no special chars) - **Recovery:** Sanitize input or reject with clear error message 3. **Error:** Permission Denied - **Cause:** Insufficient permissions to create resource - **Resolution:** Check file system permissions, run with elevated privileges if needed - **Recovery:** Log error, notify user, suggest permission fix --- ## Performance **Expected Metrics:** ```yaml duration_expected: 5-20 min (estimated) cost_estimated: $0.003-0.015 token_usage: ~2,000-8,000 tokens ``` **Optimization Notes:** - Iterative analysis with depth limits; cache intermediate results; batch similar operations --- ## Metadata ```yaml story: N/A version: 1.0.0 dependencies: - N/A tags: - automation - workflow updated_at: 2025-11-17 ``` --- ## Description Create realistic 4-phase migration plan to gradually adopt design system without blocking sprints. Prioritizes high-impact patterns first, includes rollback procedures, tracks progress. ## Prerequisites - Tokenization completed (*tokenize command run successfully) - .state.yaml contains consolidation and token data - Token files exist (tokens.yaml, exports) ## Workflow ### Interactive Elicitation This task uses interactive elicitation to customize migration strategy. 1. **Assess Team Context** - Ask about team size and velocity - Current sprint length - Risk tolerance (conservative vs aggressive rollout) - Availability for migration work 2. **Review Pattern Priority** - Show most-used patterns (highest impact first) - Confirm prioritization strategy - Identify any must-have-first patterns 3. **Define Phase Timeline** - Estimate effort per phase - Map to sprint schedule - Set milestone dates - Confirm realistic timeline ### Steps 1. **Load Token and Consolidation Data** - Read .state.yaml for consolidation metrics - Load token locations - Identify pattern counts and reduction percentages - Validation: Tokenization phase completed 2. **Analyze Pattern Impact** - Calculate usage frequency for each pattern type - Identify highest-impact patterns (most instances) - Estimate migration effort per pattern - Prioritize by impact/effort ratio - Validation: Priority list created 3. **Design Phase 1: Foundation** - Goal: Deploy token system with zero visual changes - Tasks: Add token files, configure build, update CSS to use tokens - Risk: Low (no component changes) - Duration: 1 sprint - Validation: Phase plan defined 4. **Design Phase 2: High-Impact Patterns** - Goal: Replace most-used components for immediate ROI - Identify top 3 patterns (buttons, inputs, cards typically) - Calculate instances to migrate - Estimate effort and ROI - Risk: Medium - Duration: 2-3 sprints - Validation: High-impact patterns identified 5. **Design Phase 3: Long-Tail Cleanup** - Goal: Consolidate remaining patterns - List remaining components - Group by complexity - Estimate effort - Risk: Low (proven system exists) - Duration: 2-4 sprints - Validation: Cleanup plan created 6. **Design Phase 4: Enforcement** - Goal: Prevent regression - Add CI/CD pattern validation - Deprecate old components - Monitor adoption metrics - Risk: Low - Duration: 1 sprint - Validation: Enforcement strategy defined 7. **Create Component Mapping** - Generate old component new component mapping - Document prop changes - Create migration snippets (find/replace patterns) - Validation: Complete mapping for all components 8. **Define Rollback Procedures** - Document rollback steps for each phase - Identify rollback trigger conditions - Ensure backups exist - Validation: Rollback plan documented 9. **Generate Migration Documentation** - Create migration-strategy.md (executive summary) - Create phase-specific guides (phase-1.md, phase-2.md, etc) - Generate component mapping file - Include code examples - Validation: Complete migration docs created 10. **Calculate ROI Timeline** - Estimate when ROI breakeven occurs - Project cumulative savings by phase - Show investment vs savings curve - Validation: ROI projection created 11. **Update State File** - Add migration section to .state.yaml - Record phase count, timeline, priorities - Update phase to "migration_strategy_complete" - Set ready_for_atlas flag - Validation: State updated for Atlas handoff ## Output - **migration-strategy.md**: Executive summary with 4-phase plan - **phase-1-foundation.md**: Detailed Phase 1 tasks - **phase-2-high-impact.md**: Detailed Phase 2 tasks - **phase-3-long-tail.md**: Detailed Phase 3 tasks - **phase-4-enforcement.md**: Detailed Phase 4 tasks - **component-mapping.json**: Old new component map - **migration-progress.yaml**: Progress tracking template - **.state.yaml**: Updated with migration plan ### Output Format ```markdown # Migration Strategy ## Executive Summary **Target**: Adopt design system with >80% pattern reduction **Timeline**: 6-8 sprints (12-16 weeks) **Risk Level**: Medium (phased approach reduces risk) **ROI Breakeven**: Phase 2 completion (~6 weeks) ## Phase 1: Foundation (1 sprint) **Goal**: Deploy tokens, zero visual changes **Tasks**: - [ ] Add token files to project (tokens.yaml, exports) - [ ] Configure build pipeline to process tokens - [ ] Update existing CSS to use CSS custom properties - [ ] No component changes yet **Success Criteria**: Tokens deployed, no visual regressions **Rollback**: Remove token files, revert CSS ## Phase 2: High-Impact Patterns (2-3 sprints) **Goal**: Replace most-used components for immediate ROI **Priorities**: 1. Button (327 instances 3 variants) - 93% reduction 2. Input (189 instances 5 variants) - 87% reduction 3. Card (145 instances 2 variants) - 85% reduction **Success Criteria**: Top 3 patterns migrated, measurable velocity improvement **Rollback**: Component-level rollback, old components still available ## Phase 3: Long-Tail Cleanup (2-4 sprints) **Goal**: Consolidate remaining patterns **Tasks**: - [ ] Forms (23 variations 5) - [ ] Modals (12 variations 2) - [ ] Navigation (8 variations 3) **Success Criteria**: >85% overall pattern consolidation achieved ## Phase 4: Enforcement (1 sprint) **Goal**: Prevent regression **Tasks**: - [ ] Add CI/CD pattern validation - [ ] Deprecate old components - [ ] Block non-system patterns - [ ] Monitor adoption metrics **Success Criteria**: System enforced, adoption sustained ``` ## Critical References **ALWAYS include these in migration strategy docs:** - **Migration Validation Checklist** (`migration-validation-checklist.md`) - Run AFTER every migration script execution - Detects corrupted classes, build failures, visual regressions - 5-10 min validation saves hours of debugging - **Non-negotiable** - must be followed before committing - **Migration Pitfalls** (`migration-pitfalls.md`) - Common mistakes and how to avoid them - Anti-patterns from real incidents - Detection patterns for corruption - Prevention strategies **In every phase guide, include:** ```markdown ## Validation After executing migration scripts: 1. Run migration-validation-checklist.md (ALL steps) 2. Review migration-pitfalls.md for common issues 3. Do NOT commit until validation passes See: Squads/super-agentes/checklists/migration-validation-checklist.md ``` ## Success Criteria - [ ] 4 distinct phases defined with clear goals - [ ] Phase 1 has zero visual changes (safe foundation) - [ ] Phase 2 prioritizes highest-impact patterns - [ ] Each phase has success criteria and rollback plan - [ ] Timeline is realistic for team size/velocity - [ ] Component mapping covers all patterns - [ ] ROI breakeven projected accurately ## Error Handling - **No tokenization data**: Exit with message to run *tokenize first - **Cannot estimate timeline**: Use defaults, warn user to adjust - **Insufficient pattern data**: Recommend re-running audit - **Team context missing**: Use conservative defaults ## Security Considerations - Migration scripts run with user permissions only - Validate component mapping to prevent injection - Backup files before any automated changes - Rollback procedures tested before execution ## Examples ### Example 1: Migration Strategy Generation ```bash *migrate ``` Output: ``` 🔍 Brad: Generating phased migration strategy... 📊 Pattern Analysis: - Buttons: 327 instances (highest priority) - Inputs: 189 instances - Colors: 1247 usages 🗓️ MIGRATION PLAN (4 phases, 6-8 sprints): Phase 1: Foundation (1 sprint) Deploy tokens, no visual changes Risk: LOW Phase 2: High-Impact (2-3 sprints) Migrate Button, Input, Card Expected ROI: $31,200/month savings Risk: MEDIUM Phase 3: Long-Tail (2-4 sprints) Cleanup remaining 15 patterns Risk: LOW Phase 4: Enforcement (1 sprint) CI/CD validation, prevent regression Risk: LOW 💰 ROI Projection: Investment: ~$12,000 Breakeven: Week 6 (Phase 2 complete) Year 1 Savings: $374,400 Migration docs saved: outputs/design-system/my-app/migration/ Ready for Atlas to build components ``` ### Example 2: Component Mapping ```json { "buttons": { ".btn-primary": "Button variant='primary'", ".button-primary": "Button variant='primary'", ".btn-main": "Button variant='primary'", ".btn-secondary": "Button variant='secondary'", ".btn-danger": "Button variant='destructive'" }, "props_changed": { "Button": { "old": "type='primary'", "new": "variant='primary'" } } } ``` ## Notes - Phase 1 must complete before Phase 2 (foundation required) - High-impact patterns = most instances × easiest to migrate - Rollback gets harder as system grows - do it early if needed - CI/CD enforcement prevents regression (Phase 4 critical) - Timeline assumes team works on migration alongside features - Brad says: "Phased rollout = safe rollout. No big-bang rewrites." - After this, hand off to Atlas: *agent atlas for component building