Luigit
repositories / smith

smith

There are many coding harnesses - but this one is fast

owned by admin

TO_DISCUSS.md

Raw
Rendered preview

To discuss

Informal backlog. Not System bundles. Each item names its trigger.

Future specs

  • Plugin Distribution & Update: smith update, signing scheme, registries, channels, release-signature vs update-key. Trigger: update-channel design, first signed release.
  • Virtual Providers / Routing: plugin-owned aliases, multi-sub failover, fan-out + merge, first-wins. Trigger: routing relaxation design. Constraint to preserve: offline, deterministic, complete diagnostics.
  • VCS Plugin: engine choice (session-native content-addressed blobs biased), snapshot/diff/undo wiring. Trigger: engine discussion. gix removed from dep map 2026-09-25.

Future plugin migrations

  • Compaction → plugin (context transforms). Core keeps invariants: durable history, lineage, tool pairing, never-persist-known-truncated. Trigger: long-session work.
  • Catalog + refresh → plugin. Trigger: catalog churn hurts.
  • Input-queue policies (steering, follow-up naming) → plugin. Core mechanism: lifecycle-event queues. Trigger: interactive input work.

Rethinks

  • Guest std ergonomics: sealed wasi shims for io, clocks, cli landed (SMH-SPEC-WASM0001 Sealed WASI); random, wall-clock, filesystem, sockets substitutes land on demand when a guest needs them. Trigger: first non-echo guest failing instantiation.

  • Benchmarking: moved to SMH-PLAN-2_O9OFR0 (.system/plans/SMH-PLAN-2_O9OFR0-benchmarking/).

  • SDK-layer bindings: deferred past 1.0; world must stay comfortable through raw wit-bindgen. Trigger: 1.0 stabilization.

Frontends

  • smith-mcp: decided as the second smith-ui consumer crate (agents as UI audience; stdio client-spawned like smith rpc; no daemon needed). rmcp is the engine-grade dependency from the start — MCP authorization machinery (OAuth 2.1 resource server, dynamic client registration) is the hard-to-get-right part, not the plumbing. Trigger: second-frontend slice.
  • ACP (Agent Client Protocol): editor-facing agent protocol; technical shape and smith layer unclear — likely a frontend sibling of smith-rpc and smith-mcp, but unverified. Deferred. Trigger: editor integration wanted.

(Daemon and fleet discussion lives in SMH-SPEC-RMTF0001 and SMH-SPEC-FLET0001.)

# To discuss

Informal backlog. Not System bundles. Each item names its trigger.

## Future specs

- Plugin Distribution & Update: `smith update`, signing scheme, registries, channels, release-signature vs update-key. Trigger: update-channel design, first signed release.
- Virtual Providers / Routing: plugin-owned aliases, multi-sub failover, fan-out + merge, first-wins. Trigger: routing relaxation design. Constraint to preserve: offline, deterministic, complete diagnostics.
- VCS Plugin: engine choice (session-native content-addressed blobs biased), snapshot/diff/undo wiring. Trigger: engine discussion. gix removed from dep map 2026-09-25.

## Future plugin migrations

- Compaction → plugin (context transforms). Core keeps invariants: durable history, lineage, tool pairing, never-persist-known-truncated. Trigger: long-session work.
- Catalog + refresh → plugin. Trigger: catalog churn hurts.
- Input-queue policies (steering, follow-up naming) → plugin. Core mechanism: lifecycle-event queues. Trigger: interactive input work.

## Rethinks

- Guest std ergonomics: sealed wasi shims for io, clocks, cli landed (SMH-SPEC-WASM0001 Sealed WASI); random, wall-clock, filesystem, sockets substitutes land on demand when a guest needs them. Trigger: first non-echo guest failing instantiation.

- Benchmarking: moved to SMH-PLAN-2_O9OFR0 (`.system/plans/SMH-PLAN-2_O9OFR0-benchmarking/`).
- SDK-layer bindings: deferred past 1.0; world must stay comfortable through raw wit-bindgen. Trigger: 1.0 stabilization.

## Frontends

- smith-mcp: decided as the second smith-ui consumer crate (agents as UI audience; stdio client-spawned like smith rpc; no daemon needed). rmcp is the engine-grade dependency from the start — MCP authorization machinery (OAuth 2.1 resource server, dynamic client registration) is the hard-to-get-right part, not the plumbing. Trigger: second-frontend slice.
- ACP (Agent Client Protocol): editor-facing agent protocol; technical shape and smith layer unclear — likely a frontend sibling of smith-rpc and smith-mcp, but unverified. Deferred. Trigger: editor integration wanted.

(Daemon and fleet discussion lives in SMH-SPEC-RMTF0001 and SMH-SPEC-FLET0001.)