This document provides detailed sequence diagrams covering all major workflows in Symphony IDE, showing interactions between actors, components, and systems.
Overview: This sequence demonstrates the complete lifecycle of executing a workflow (Melody) in Symphony IDE, from prompt submission to artifact retrieval. It showcases both AI-driven (Maestro Mode) and manual workflow selection paths.
Key Participants:
Player Policy: Extensions configured as “Players” can participate in Melodies. This includes:
Workflow Modes:
Performance Characteristics:
%%{init: {'theme':'base', 'themeVariables': { 'actorBkg':'#e0f2fe', 'actorBorder':'#4a90e2', 'actorTextColor':'#1f2937', 'actorLineColor':'#6b7280', 'signalColor':'#1f2937', 'signalTextColor':'#1f2937', 'labelBoxBkgColor':'#f9fafb', 'labelBoxBorderColor':'#d1d5db', 'labelTextColor':'#1f2937', 'loopTextColor':'#1f2937', 'noteBorderColor':'#4a90e2', 'noteBkgColor':'#f0f9ff', 'noteTextColor':'#1f2937', 'activationBorderColor':'#4a90e2', 'activationBkgColor':'#e0f2fe', 'sequenceNumberColor':'#ffffff'}}}%%
sequenceDiagram
actor Dev as Developer
participant UI as Frontend UI
participant Core as Core (Rust)
participant Conductor as 🎩 Conductor (Python RL)
participant Pit as The Pit (In-Process)
participant PoolMgr as Pool Manager
participant DAG as DAG Tracker
participant Artifact as Artifact Store
Dev->>UI: Write Prompt
UI->>Core: JSON-RPC: submitPrompt()
Core->>Conductor: Process Prompt
alt Maestro Mode (RL)
Conductor->>Conductor: Analyze Context
Conductor->>Conductor: Generate Melody (DAG)
Conductor-->>Core: Melody Generated
else Manual Mode
Core-->>UI: Request Melody Selection
UI-->>Dev: Show Melody Browser
Dev->>UI: Select Melody
UI->>Core: Selected Melody ID
end
Core->>Conductor: Orchestrate Tasks
Conductor->>Pit: Dispatch Task Batch
Pit->>PoolMgr: Allocate Player Extension
PoolMgr->>PoolMgr: Check Cache (50-100ns)
alt Player Ready
PoolMgr-->>Pit: Player Handle
else Player Not Loaded
PoolMgr->>PoolMgr: Load & Warm Player
PoolMgr-->>Pit: Player Handle
end
Pit->>DAG: Execute Workflow
DAG->>DAG: Topological Sort
DAG->>DAG: Parallel Execution
loop For Each Task Node
DAG->>PoolMgr: Execute Task
PoolMgr->>PoolMgr: Run Player Extension
PoolMgr-->>DAG: Task Result
DAG->>Artifact: Store Result
Artifact->>Artifact: Content-Addressable Storage
Artifact->>Artifact: Quality Scoring
Artifact-->>DAG: Artifact ID
end
DAG-->>Pit: Workflow Complete
Pit-->>Conductor: Execution Results
Conductor->>Conductor: Calculate Rewards (RL)
Conductor-->>Core: Task Completed
Core-->>UI: Update Status
UI-->>Dev: Show Results
Dev->>UI: View Artifacts
UI->>Core: getArtifacts()
Core->>Artifact: Retrieve Artifacts
Artifact-->>Core: Artifact Data
Core-->>UI: Artifact List
UI-->>Dev: Display Artifacts
Overview: This sequence illustrates the complete extension development lifecycle using the Carets CLI toolchain, from project scaffolding to marketplace publication.
Key Participants:
carets new, carets test, carets publish)Development Workflow:
carets new generates project structure with Symphony.toml manifestExtension Types:
sequenceDiagram
actor Creator as Extension Creator
participant CLI as Carets CLI
participant SDK as Extension SDK
participant Testing as Testing Framework
participant Registry as Orchestra Kit Registry
participant Marketplace as Grand Stage
participant Security as Security Module
Creator->>CLI: carets new my-instrument
CLI->>SDK: Generate Template
SDK->>SDK: Create Manifest (Symphony.toml)
SDK->>SDK: Scaffold Code Structure
SDK-->>CLI: Template Created
CLI-->>Creator: Project Ready
Creator->>Creator: Develop Extension Code
Creator->>CLI: carets test
CLI->>Testing: Run Test Suite
Testing->>Testing: Unit Tests
Testing->>Testing: Integration Tests
Testing-->>CLI: Test Results
CLI-->>Creator: All Tests Passed ✓
Creator->>CLI: carets publish
CLI->>SDK: Validate Manifest
SDK->>SDK: Check Dependencies
SDK->>SDK: Verify Semantic Version
SDK-->>CLI: Validation OK
CLI->>Security: Sign Extension
Security->>Security: Generate Signature
Security-->>CLI: Signed Package
CLI->>Registry: Register Extension
Registry->>Registry: Check Name Conflict
Registry->>Registry: Store Metadata
Registry-->>CLI: Registered
CLI->>Marketplace: Upload Package
Marketplace->>Marketplace: Virus Scan
Marketplace->>Marketplace: Store Binary
Marketplace-->>CLI: Published
CLI-->>Creator: Extension Published Successfully
Creator->>Marketplace: Monitor Analytics
Marketplace-->>Creator: Downloads, Ratings, Reviews
Overview: This sequence details the extension installation process and runtime execution, including the Chambering lifecycle state machine that manages extension states from installation to activation.
Key Participants: