Skip to content

Add managed worlds control plane: telemetry, import, scenarios, captures - #7

Merged
everettVT merged 1 commit into
mainfrom
observer-control-plane
Sep 14, 2026
Merged

everettVT merged 1 commit into
mainfrom
observer-control-plane

Conversation

@everettVT

Copy link
Copy Markdown
Owner

Managed worlds control plane extensions so the Turbo observer can act as the operator view over this runtime. Contract and rationale: observer/CONTROL_PLANE.md in VangelisTech/turbo-repo.

Runtime additions

  • Activity telemetry with a background tailer, observer log rotation, and an activity object in inspection (available = topology-complete, lag reported separately).
  • relations, typed bounded query_rows, program_source; revisions on instance_info, apply_changes and status.
  • Registry import preserving ids/versions; named definitions and library associations; definitions lists every version with correct kinds.
  • World purpose, summary inventory, build log tail, runtime_info.
  • Scenarios and an asynchronous test verb; retained compiled topology (capture_get).
  • Authored groups resolved by member_match at snapshot time.
  • Star phase regions installed by the observer hook installer at build time (registry hashes unchanged).

Verification

  • cargo fmt --check, cargo clippy --features mcp -D warnings, cargo test --locked --workspace: green. --all-features clippy needs rustc 1.95 (iceberg crates), passes with cargo +1.95.0.
  • Native acceptance (tests/worlds_native.rs, ignored by default) run with the pinned DDlog toolchain: activity totals, relations, paged reads, capture, test verb, phase scopes and member_match resolution.
  • Exercised end to end by the observer control plane: register/import, run, live activity, tests, stop/restart, retained topology, and a migration of the two demo programs with identical outputs.

🤖 Generated with Claude Code

…, scenarios, captures

Extends the runtime-owned worlds control plane (ddlog-worlds) so an operator
view can be its front end:

- Activity telemetry: worlds run the native child with full observer detail and
  log rotation; a per-generation tailer thread ingests schedule, message,
  progress and differential events into a shared telemetry state; inspection
  reports an `activity` object with lag and rotation counts, and `available`
  means topology-complete.
- Instance operations: `relations`, typed bounded `query_rows`,
  `program_source`; `instance_info` and `apply_changes` carry the committed
  revision; status carries a cheap top-level `revision`.
- Registry import preserving processor ids and versions from another registry
  directory (plain JSON reads, dependency closure, validate-all-then-write,
  dry run); libraries carry their registered definitions with names; the
  `definitions` listing covers every version and reports compositions.
- World purpose (instance/test), summary inventories, build log tail,
  `started_at_unix_ms`, truthful `persistence: not_configured`, `runtime_info`
  from build.rs.
- Scenarios per definition version and an asynchronous `test` verb that runs
  them on the world's start thread and records results in status.
- Retained compiled topology per definition version (`capture_get`).
- Authored groups resolved at snapshot time by `member_match` (scope name or
  debug pattern) instead of unstable native operator ids.
- Star phase instrumentation (large-star, small-star, minimum-label named
  regions) installed by scripts/install-observer.py at build time, keeping
  registered content hashes unchanged; build-ddlog.sh fails closed when an
  explicit Cargo lock cannot build a star program.

Tests: fake-driver world tests, a stdio protocol test for ddlog-worlds, a
fixture hash stability test, native acceptance covering activity, relations,
paged reads, captures, the test verb and phase scopes. Docs in docs/worlds.md
and docs/inspection.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@everettVT
everettVT merged commit 7b4fd4b into main Sep 14, 2026
1 of 2 checks passed
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.

1 participant