Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,13 @@ RUN sed -i 's|http://deb.debian.org|https://deb.debian.org|g' /etc/apt/sources.l
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=native /app/target/release/maestro /usr/local/bin/maestro
COPY packages/web/dist ./packages/web/dist
COPY skills ./skills
# The image binds to every interface, so the runtime gateway requires API-key
# auth. Supply a key at run time, for example:
# docker run -p 3000:3000 -e MAESTRO_WEB_API_KEY="$(openssl rand -hex 32)" ghcr.io/evalops/maestro
# docker run -p 3000:3000 -e MAESTRO_WEB_API_KEY="$(openssl rand -hex 32)" ghcr.io/dx-corp/maestro
# Do not add MAESTRO_WEB_REQUIRE_KEY=0 here: it is only honored for loopback
# binds and the server refuses to start when it is combined with 0.0.0.0.
ENV MAESTRO_CONTROL_HOST=0.0.0.0 PORT=3000
EXPOSE 3000
ENTRYPOINT ["maestro"]
CMD ["web"]
CMD ["serve"]
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ deixic-code setup # check auth/config and show the next setup
deixic-code "fix the failing test" # interactive with an initial prompt
deixic-code exec "summarize this repository"
deixic-code --headless # NDJSON protocol over stdio
deixic-code web --port 3000 # browser UI and HTTP runtime gateway
deixic-code serve --port 3000 # HTTP runtime gateway
deixic-code hosted-runner
```

Expand Down Expand Up @@ -107,14 +107,14 @@ Rust owns every agent/runtime path:
- `packages/session-history-rs`: remote redacted session-history adapter
- `packages/runtime-gateway-rs`: HTTP/SSE/WebSocket runtime gateway

The repository contains no TypeScript source or TypeScript build toolchain. The browser UI is a versioned static asset snapshot served by the Rust runtime gateway; agent execution, protocols, adapters, CLI, and TUI are Rust.
The repository contains no TypeScript source or TypeScript build toolchain. Agent execution, protocols, adapters, CLI, and TUI are Rust.

```sh
cargo test --workspace --locked
npm run check:rust-only-runtime
```

See [Architecture](docs/ARCHITECTURE.md), [Quickstart](docs/QUICKSTART.md), and [Web UI](docs/WEB_UI.md).
See [Architecture](docs/ARCHITECTURE.md) and [Quickstart](docs/QUICKSTART.md).

Use the [terminal screenshot framework](docs/tui-screenshots.md) to capture the
native UI with local fixtures, custom dimensions, and verifiable PNG bundles.
Expand Down
8 changes: 4 additions & 4 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ We follow a 90-day coordinated disclosure window. If you report a vulnerability,
This policy applies to the Maestro codebase and its official packages:

- `@evalops/maestro` and all `@evalops/*` packages
- Official Docker images (`ghcr.io/evalops/maestro`)
- Official Docker images (`ghcr.io/dx-corp/maestro`)
- The Maestro VS Code extension and JetBrains plugin

## Recognition
Expand All @@ -41,13 +41,13 @@ We appreciate security researchers who help keep Maestro safe. With your permiss

## Running the container image

`ghcr.io/evalops/maestro` binds the runtime gateway to `0.0.0.0`, so it requires
`ghcr.io/dx-corp/maestro` binds the runtime gateway to `0.0.0.0`, so it requires
API-key auth and will refuse to start without it:

```bash
docker run --rm -p 3000:3000 \
-e MAESTRO_WEB_API_KEY="$(openssl rand -hex 32)" \
ghcr.io/evalops/maestro
ghcr.io/dx-corp/maestro
```

Clients send the key as `Authorization: Bearer <key>` or `x-maestro-api-key`.
Expand All @@ -68,7 +68,7 @@ with or without a port. If you front the server with a tunnel or a proxy that
rewrites `Host`, list the extra names:

```bash
MAESTRO_WEB_ALLOWED_HOSTS="maestro.tunnel.example,dev.box.internal" maestro web
MAESTRO_WEB_ALLOWED_HOSTS="maestro.tunnel.example,dev.box.internal" maestro serve
```

Non-loopback binds are not `Host`-checked, because the names that reach them are
Expand Down
2 changes: 1 addition & 1 deletion deploy/helm/maestro/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ operatingLayer:
evidenceRetentionDays: 90

image:
repository: ghcr.io/evalops/maestro
repository: ghcr.io/dx-corp/maestro
# Defaults to Chart.appVersion when empty. Prefer immutable sha-* tags or digest.
tag: ""
digest: ""
Expand Down
4 changes: 2 additions & 2 deletions docs/AGENT_PROFILES.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ budgets:
maxCostUsd: 5
```

Oracle configurations must be read-only and reasoning-capable at runtime. The built-in profiles prefer a different provider family for the Oracle on higher levels.
Oracle configurations must be read-only and reasoning-capable at runtime. The built-in profiles always choose the Oracle, and the high and ultra reviewer specialists, from a different provider family than the primary model (`cross_provider` in `packages/tui-rs/src/mode_cli.rs`). Runtime reviewer subagent dispatch for the canonical levels still uses the parent provider; see evalops/mono#9321.

## Routing evidence

An assistant response completing without an error is not a verified success. Automatic promotion requires at least 20 verified outcomes for the workload. Verification results, explicit user acceptance, rejection, and retries can supply outcome evidence; unverified runs remain useful for latency and cost observations only.
An assistant response completing without an error is not a verified success. There is no automatic promotion today: the model-candidate lifecycle is not wired into profile defaults, so any promotion is a manual, advisory decision (tracked in evalops/mono#9322). When automatic promotion ships, it must require at least 20 verified outcomes for the workload. Verification results, explicit user acceptance, rejection, and retries can supply outcome evidence; unverified runs remain useful for latency and cost observations only.

Clients can request a profile through `X-Maestro-Agent-Profile` (or the compatibility `X-Composer-Agent-Profile`) and inspect the versioned resolved profile on the routing decision.

Expand Down
4 changes: 2 additions & 2 deletions docs/ARCHITECTURE.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ Browser / Slack / GitHub adapters ─HTTP─ packages/runtime-gateway-rs
└─ packages/session-rs local persistence
```

`packages/maestro-rs` classifies commands and invokes Rust libraries in-process. `packages/tui-rs` owns providers, model routing, tools, permissions, session orchestration, hooks, the terminal UI, and the headless protocol. `packages/session-rs` owns local JSONL sessions, forks, indexes, exports, and file checkpoints; `packages/session-history-rs` remains the remote redacted transcript adapter. `packages/runtime-gateway-rs` owns HTTP, SSE, WebSocket, A2A, automation, session, telemetry, and static-web routes.
`packages/maestro-rs` classifies commands and invokes Rust libraries in-process. `packages/tui-rs` owns providers, model routing, tools, permissions, session orchestration, hooks, the terminal UI, and the headless protocol. `packages/session-rs` owns local JSONL sessions, forks, indexes, exports, and file checkpoints; `packages/session-history-rs` remains the remote redacted transcript adapter. `packages/runtime-gateway-rs` owns HTTP, SSE, WebSocket, A2A, automation, session, and telemetry routes.

The browser UI and service adapters may use TypeScript as presentation or transport code. They do not construct agents, load providers, or provide execution fallbacks. They call the Rust runtime gateway.
Service adapters may use TypeScript as presentation or transport code. They do not construct agents, load providers, or provide execution fallbacks. They call the Rust runtime gateway.

Release artifacts contain a single native executable per supported platform. The npm package's `bin/maestro` is a shell selector for the packaged executable and requires no Node.js or Bun runtime.
2 changes: 1 addition & 1 deletion docs/BUILD_TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ npm run build
npm run smoke:release-native-only
```

`npm run build` compiles the optimized `maestro` binary and materializes the native npm package under `vendor/maestro/<platform>-<arch>`. The checked-in browser assets under `packages/web/dist` are served directly by the Rust control plane.
`npm run build` compiles the optimized `maestro` binary and materializes the native npm package under `vendor/maestro/<platform>-<arch>`.

## Packed-package verification

Expand Down
177 changes: 0 additions & 177 deletions docs/CONDUCTOR_BRIDGE.md

This file was deleted.

3 changes: 1 addition & 2 deletions docs/CONTRIBUTOR_RUNBOOK.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ npm run build
npm run smoke:release-native-only
```

The browser bundle under `packages/web/dist` is a versioned static input. Product code, protocols, adapters, CLI, TUI, and the runtime gateway are Rust.
Product code, protocols, adapters, CLI, TUI, and the runtime gateway are Rust.

## 2. Inner loop

Expand All @@ -44,7 +44,6 @@ The browser bundle under `packages/web/dist` is a versioned static input. Produc
## 4. Docs and references

- TUI/CLI UX: `docs/FEATURES.md`
- Web parity: `docs/WEB_UI.md`
- Tool behavior: `docs/TOOLS_REFERENCE.md`
- Native crates: `packages/maestro-rs`, `packages/tui-rs`, `packages/runtime-gateway-rs`, and `packages/ambient-agent-rs`
- Historical design documents are reference material, not current build instructions.
Expand Down
4 changes: 2 additions & 2 deletions docs/FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ protocol, storage, environment, and artifact identifiers for compatibility.
- Persistent sessions, resume/export/import, usage and cost accounting
- Account-scoped hosted Computer handoffs: freeze a selected remote diff/files/artifacts
for another same-tenant thread, then list or read the immutable package by digest
- Web runtime gateway with SSE/WebSocket chat, automations, A2A, hosted runners, telemetry, and model management
- Runtime gateway (`maestro serve`) with SSE/WebSocket chat, automations, A2A, hosted runners, telemetry, and model management
- Scripted scenarios, replay, trajectory evaluation, and protocol conformance
- Slack and GitHub adapters backed by the native runtime gateway

All product execution, browser runtime-gateway, and adapter behavior runs through Rust. The browser client is a checked-in static asset snapshot served by the native runtime gateway.
All product execution, runtime-gateway, and adapter behavior runs through Rust.
4 changes: 2 additions & 2 deletions docs/QUICKSTART.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Quickstart

Install Rust and Node.js for repository development. The browser UI is checked in as a versioned static snapshot; all product behavior is built from Rust.
Install Rust and Node.js for repository development. All product behavior is built from Rust.

```sh
npm install
npm run build
./bin/deixic-code --version
./bin/deixic-code setup
./bin/deixic-code
./bin/deixic-code web --port 3000
./bin/deixic-code serve --port 3000
```

Run checks with:
Expand Down
4 changes: 1 addition & 3 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@
Use this index to jump to the right guide quickly and see how the pieces connect.

## Start Here
- [Quickstart](QUICKSTART.md) — installation, environment prep, builds, and the fast path to running the CLI/TUI/Web.
- [Quickstart](QUICKSTART.md) — installation, environment prep, builds, and the fast path to running the CLI/TUI.
- [TUI User Guide](../packages/tui-rs/docs/user-guide/README.md) — numbered native TUI guide (getting started through worktrees).
- [Contributor Runbook](CONTRIBUTOR_RUNBOOK.md) — day-one flow for contributors (build, lint, verify).
- [Feature Guide](FEATURES.md) — user-facing capabilities across the TUI and CLI with power-user tips.
- [Dynamic workflows](DYNAMIC_WORKFLOWS.md) — run bounded, resumable workflow graphs from the native CLI.
- [Web UI Guide](WEB_UI.md) — browser workflow and TUI/Web parity appendix.
- [Compatibility and migration](DEIXIC_CODE_MIGRATION.md) — canonical names, retained Maestro coordinates, and publication boundaries.
- [Conductor Bridge](CONDUCTOR_BRIDGE.md) — connect the Conductor extension to a local Deixic Code server.

## Core Reference
- [Tools Reference](TOOLS_REFERENCE.md) — authoritative slash command and flag definitions.
Expand Down
Loading
Loading