Skip to main content
Glama

DollhouseMCP

by DollhouseMCP
WORKFLOW_ARCHITECTURE_PROPOSAL.mdโ€ข7.02 kB
# Workflow Architecture Proposal - July 3, 2025 ## Current Problem Analysis ### **Reliability Issues** - **Cross-Platform Testing** (`cross-platform.yml`): 98 lines, **persistent failures** for 20+ minutes - **Cross-Platform Simple** (`cross-platform-simple.yml`): 56 lines, **100% reliable** - **Performance Testing**: Working correctly as dedicated workflow ### **Evidence Pattern** โœ… **Simple workflows = Reliable** โŒ **Complex workflows = Failure-prone** ### **Current Blocking Issue** The main `cross-platform.yml` workflow has been failing consistently with startup errors, preventing branch protection implementation. Even after fixing bash syntax issues in PR #20 (approved by Claude Code), the workflow continues to fail. ## ๐ŸŽฏ **Proposed Solution: Multiple Simple Workflows** Replace the monolithic `cross-platform.yml` with focused, specialized workflows: ### **1. Core Build & Test** (Branch Protection Required) ```yaml name: Core Build & Test triggers: [push, pull_request] matrix: [ubuntu-latest, windows-latest, macos-latest] ร— [Node 20.x LTS] steps: - checkout - setup Node.js 20.x - npm ci - npm run build - npm test purpose: Fast, reliable validation for PR gating timeout: 10 minutes ``` ### **2. Extended Node Compatibility** (Comprehensive Coverage) ```yaml name: Extended Node Compatibility triggers: [push to main, scheduled weekly] matrix: [ubuntu-latest, windows-latest, macos-latest] ร— [Node 18.x, 22.x] steps: - checkout - setup Node.js (18.x, 22.x) - npm ci - npm run build - npm test purpose: Broader compatibility validation timeout: 15 minutes ``` ### **3. Build Artifacts Validation** (Deployment Readiness) ```yaml name: Build Artifacts triggers: [push, pull_request] matrix: [ubuntu-latest] ร— [Node 20.x] steps: - checkout - setup Node.js - npm ci - npm run build - verify dist/index.js exists - verify dist/index.d.ts exists - verify personas/ directory exists - file size analysis purpose: Ensure deployment artifacts are correct timeout: 5 minutes ``` ### **4. Performance Testing** (Already Implemented โœ…) ```yaml name: Performance Testing triggers: [scheduled daily 6 AM UTC, manual, release tags] purpose: Performance monitoring and benchmarking status: Already working correctly ``` ## ๐Ÿ“Š **Benefits Analysis** ### **Reliability Improvements** - **Focused scope**: Each workflow has single responsibility - **Reduced complexity**: Fewer failure points per workflow - **Easier debugging**: Issues isolated to specific workflow - **Independent execution**: One failure doesn't block others ### **Performance Benefits** - **Parallel execution**: All workflows run simultaneously - **Faster feedback**: Core workflow completes in ~5-10 minutes - **Optimized resource usage**: Only necessary platforms/versions per workflow ### **Maintenance Benefits** - **Simpler modifications**: Changes affect only relevant workflow - **Clear ownership**: Each workflow has obvious purpose - **Easier testing**: Can test individual workflows independently ### **Branch Protection Benefits** - **Fast PR feedback**: Only require "Core Build & Test" (10 min vs 25+ min) - **Reduced failure rate**: Simple workflows more reliable - **Flexible requirements**: Can add/remove requirements without affecting core flow ## ๐Ÿ›ก๏ธ **Branch Protection Configuration** ### **Required Status Checks** (Minimal, Fast) ```yaml required_status_checks: strict: true contexts: - "Core Build & Test / Test (ubuntu-latest, 20.x)" - "Core Build & Test / Test (windows-latest, 20.x)" - "Core Build & Test / Test (macos-latest, 20.x)" - "Build Artifacts / Validate (ubuntu-latest, 20.x)" ``` ### **Optional Status Checks** (Comprehensive) ```yaml optional_contexts: # Extended compatibility (non-blocking) - "Extended Node Compatibility / Test (ubuntu-latest, 18.x)" - "Extended Node Compatibility / Test (ubuntu-latest, 22.x)" - "Extended Node Compatibility / Test (windows-latest, 18.x)" - "Extended Node Compatibility / Test (windows-latest, 22.x)" - "Extended Node Compatibility / Test (macos-latest, 18.x)" - "Extended Node Compatibility / Test (macos-latest, 22.x)" # Performance monitoring (non-blocking) - "Performance Testing / Performance Benchmarks (ubuntu-latest)" - "Performance Testing / Performance Benchmarks (windows-latest)" - "Performance Testing / Performance Benchmarks (macos-latest)" ``` ## ๐Ÿ”„ **Implementation Strategy** ### **Phase 1: Create New Simple Workflows** 1. Create `core-build-test.yml` - Essential validation 2. Create `extended-node-compatibility.yml` - Broader testing 3. Create `build-artifacts.yml` - Deployment validation 4. Test all new workflows thoroughly ### **Phase 2: Transition Period** 1. Run both old and new workflows in parallel 2. Validate new workflows achieve 100% reliability 3. Update branch protection to use new workflows 4. Monitor for any issues ### **Phase 3: Cleanup** 1. Remove problematic `cross-platform.yml` 2. Keep `cross-platform-simple.yml` as backup 3. Update documentation 4. Finalize branch protection configuration ## ๐Ÿ“ˆ **Expected Outcomes** ### **Immediate Benefits** - **Resolved workflow failures**: Simple workflows more reliable - **Faster PR feedback**: Core validation in 10 minutes vs 25+ - **Parallel execution**: Multiple workflows run simultaneously - **Easier maintenance**: Focused, single-purpose workflows ### **Long-term Benefits** - **Scalable architecture**: Easy to add new specialized workflows - **Better debugging**: Issues isolated to specific workflow types - **Flexible requirements**: Can adjust branch protection without major changes - **Improved developer experience**: Faster, more reliable CI/CD ## ๐Ÿšจ **Risk Mitigation** ### **Potential Risks** - **Increased workflow count**: More workflows to maintain - **Configuration complexity**: Multiple workflow files - **Resource usage**: Multiple parallel workflows ### **Mitigation Strategies** - **Clear documentation**: Each workflow well-documented with purpose - **Consistent patterns**: Use similar structure across workflows - **Gradual rollout**: Test thoroughly before full transition - **Monitoring**: Track resource usage and adjust if needed ## ๐Ÿ’ก **Alternative Considered** **Option**: Fix the existing complex workflow **Analysis**: Multiple attempts have failed, suggesting fundamental architectural issues **Recommendation**: The simple workflow approach is more sustainable long-term ## ๐Ÿ“‹ **Next Steps** 1. **Create reference files** for current session state 2. **Context compaction** 3. **Post-compaction**: Implement simple workflow architecture 4. **Test and validate** new workflows 5. **Enable branch protection** with reliable workflows **Priority**: High - Current workflow failures are blocking branch protection implementation --- **Document Status**: Proposal ready for implementation **Created**: July 3, 2025 **Context**: Session ending, requires post-compaction implementation

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DollhouseMCP/DollhouseMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server