This document provides detailed sequence diagrams covering all major workflows in Symphony IDE, showing interactions between actors, components, and systems.


1. Developer Workflow: Execute Melody (AI-Driven)

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:

  1. Maestro Mode (RL): Conductor automatically analyzes context and generates an optimal workflow DAG based on the prompt
  2. Manual Mode: User browses and selects a pre-existing Melody from the Polyphony Store

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

2. Extension Creator Workflow: Build & Publish Extension

Overview: This sequence illustrates the complete extension development lifecycle using the Carets CLI toolchain, from project scaffolding to marketplace publication.

Key Participants:

Development Workflow:

  1. Scaffolding: carets new generates project structure with Symphony.toml manifest
  2. Development: Creator implements extension logic following SDK patterns
  3. Testing: Automated test suite validates functionality and integration
  4. Validation: Manifest validation, dependency checking, semantic versioning verification
  5. Security: Cryptographic signing ensures package integrity
  6. Publication: Package uploaded to marketplace with virus scanning and metadata indexing
  7. Analytics: Creator monitors downloads, ratings, and user reviews

Extension 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

3. Developer Workflow: Install & Use Extension

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: