Skip to content

Orchestrator foundation PR: skeleton crate + test scaffolding#46

Open
martinjms wants to merge 1 commit intomainfrom
feat/orchestrator-foundation-pr-20
Open

Orchestrator foundation PR: skeleton crate + test scaffolding#46
martinjms wants to merge 1 commit intomainfrom
feat/orchestrator-foundation-pr-20

Conversation

@martinjms
Copy link
Copy Markdown
Collaborator

Closes #20

First PR of the orchestrator MVP epic. Creates crates/arcane-swarm-orchestrator/ skeleton + test files for all six components, with all tests #[ignore]-d. No behavior change. Zero new runtime functionality. Pure scaffolding so subsequent component PRs have a stable target.

Acceptance

  • New crate compiles and is in workspace
  • 6 test files exist, one per component
  • All tests #[ignore]-d (since impl doesn't exist yet)
  • cargo test --workspace --all-features passes
  • CI green

Follows the test-driven agent supervision pattern documented in the design doc.

Components

  1. Driver registration & heartbeat protocol
  2. Real-time command dispatch
  3. Cluster /stats collector
  4. Telemetry SSE source + dashboard CLI
  5. Telemetry archive

Note: Component 4 (real-time validity gate) was moved to the benchmark controller per the orchestrator/controller split design decision.

- Move BackendRuntime trait, SpacetimeRuntime, and ArcaneRuntime from
  main.rs to new runtime.rs module (349 lines)
- Extract control-mode orchestrator (run_control_mode + handle_control_connection)
  into control.rs (366 lines)
- Introduce SharedHandles struct to reduce repetitive .clone() calls
  inside each spawn_player implementation
- Update spawn_context.rs to use crate::runtime::BackendRuntime and
  SharedHandles instead of direct PlayerLoopShared passing
- Drop main.rs from 713 lines to 189 lines (under 350 target)
- Add 7 unit tests for the runtime module covering name(), spawn_read(),
  snapshot_cache_counters(), and SharedHandles construction

Closes #38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Orchestrator foundation PR: skeleton crate + test scaffolding

1 participant