Skip to content

Conversation

@emilbon99
Copy link
Contributor

@emilbon99 emilbon99 commented Jan 6, 2026

Issue Pull Request

Linear Issue

SY-####

Description

Basic Readiness

  • I have performed a self-review of my code.
  • I have added relevant tests to cover the changes to CI.
  • I have added needed QA steps to the release candidate template that cover these changes.
  • I have updated in-code documentation to reflect the changes.
  • I have updated user-facing documentation to reflect the changes.

Greptile Summary

  • Completely refactors Arc tasking infrastructure by replacing the old deployment model with a new rack-based task management system that integrates Arc program execution into Synnax's unified task framework
  • Separates driver infrastructure into language-specific packages (core/pkg/service/driver/cpp and core/pkg/service/driver/go) to enable better organization and different driver implementations
  • Removes the deploy boolean field from Arc entities across the entire codebase (TypeScript, Go, console UI) in favor of a more sophisticated task-based approach for managing Arc program execution

Important Files Changed

Filename Overview
core/cmd/start.go Adds dual-driver architecture with new Go driver for Arc task execution alongside existing C++ embedded drivers
core/pkg/service/arc/runtime/task.go Refactors Arc runtime to implement task interface, enabling integration with Synnax's task management infrastructure
console/src/arc/editor/Editor.tsx Replaces single-button deploy with rack-based task management, adding rack selection and proper task lifecycle controls
core/pkg/service/driver/go/driver.go New Go driver implementation for managing Arc task lifecycle with command streaming and database change observation

Confidence score: 4/5

  • This PR requires careful review due to extensive architectural changes affecting Arc program execution and driver infrastructure
  • Score reflects the comprehensive nature of changes across multiple system layers, the introduction of new task management patterns, and potential integration complexities
  • Pay close attention to the Arc runtime refactoring and dual-driver architecture implementation to ensure proper task lifecycle management

Sequence Diagram

sequenceDiagram
    participant User
    participant Console
    participant ArcService
    participant TaskService
    participant GoDriver
    participant ArcRuntime
    participant Framer

    User->>Console: "Deploy Arc"
    Console->>ArcService: "Compile Arc program"
    ArcService->>ArcService: "Generate WASM module"
    Console->>TaskService: "Create task"
    TaskService->>GoDriver: "Task change notification"
    GoDriver->>ArcRuntime: "Configure Arc task"
    ArcRuntime->>ArcRuntime: "Initialize nodes and scheduler"
    ArcRuntime->>Framer: "Setup streaming pipeline"
    User->>Console: "Start task"
    Console->>TaskService: "Send start command"
    GoDriver->>ArcRuntime: "Execute start command"
    ArcRuntime->>ArcRuntime: "Start scheduler"
    ArcRuntime->>Framer: "Begin telemetry processing"
    Framer->>ArcRuntime: "Stream telemetry frames"
    ArcRuntime->>ArcRuntime: "Process nodes"
    ArcRuntime->>Framer: "Write output data"
Loading

Base automatically changed from sy-3486-arc-improve-thread-real-time-communication-semantics to rc January 13, 2026 06:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants