Expand description
SCC engine facade: one orchestration seam for every transport.
The scc CLI is one client of this engine — never the only way to
access functionality. CLI, HTTP, MCP, SDKs, RPC, and FFI all call
these operations; business logic lives here, transports only parse
arguments and render results.
Migration rule (spec §50): installing no third-party plugins preserves existing behavior. This facade moves orchestration WITHOUT changing algorithms — outputs stay byte-identical (parity tests enforce it).
Re-exports§
pub use context::SccContext;pub use error::EngineError;pub use error::Result;pub use workspace::Engine;pub use workspace::open_engine;pub use invoke::invoke;pub use ops::describe as describe_operation;pub use ops::OPERATIONS;pub use ranking::RankFeatureValue;pub use ranking::RankHooks;pub use task::TaskContextArtifact;pub use task::build_task_context;pub use task::build_enriched_task_pack;
Modules§
- checkpoint
- PreCompact checkpoint (docs §125–§127): transient task state persisted to
.scc/checkpoint.jsonso compaction is transparent. - context
- Engine context operations: every context pack behind one seam.
- diagram
- Architecture diagram model + deterministic Mermaid/SVG rendering.
- error
- Engine error: the single error type every transport renders.
- exports
- Engine export operations: System IR, JSONL, CCG, capsule.
- graph
- Engine graph operations: search, listings, recompile.
- history
- Engine history: revisions + semantic diff (typed values).
- index
- Engine index operations: full index, path refresh, resolution.
- inference
- Engine inference rankers (SCC-071):
EmbeddingScorerfusing stored entity embeddings via cosine similarity,EngineRerankercalling a separate/rerankmodel, the remote-model policy, and therankersconstructor task-pack plumbing uses wheninference.enabledis set. - integrations
- Engine integrations: adapter listing + doctor report VALUES.
- invoke
- Dynamic operation dispatch:
invoke(id, input_json) -> output_json. - misc
- Engine misc operations: drift, invariants, cochange, history,
snapshots, lessons, import, runtime status. Value-returning; the CLI
renders. Moved verbatim from
scc-clicommands.rs. - ops
- Universal operation registry (spec §§6-8): every SCC capability
gets a stable operation ID;
engine.operations().list()explains the API andengine.invoke(id, input)executes it. Typed namespaces (engine.context().task(..)) and dynamic invoke share ONE implementation — there are never two paths to the same behavior. - plugins
- Engine plugins namespace: discovery, custom-operation dispatch, cache keys.
- ranking
- Engine ranking namespace: every ranker stage callable independently.
- rpc
- stdio JSON-RPC: newline-delimited requests, same registry.
- snapshots
- Engine snapshots: get + diff (typed values).
- state
- Engine state: lessons, beads, evidence import, runtime.
- status
- Engine status: the
scc statusvalue (no println). - systems
- Engine multi-repo stitching (values; CLI renders).
- task
- Engine task artifact: THE one complete task derivation.
- workspace
- Engine workspace: open/config/freshness — the preamble every
operation repeats (moved verbatim from
scc-clilib.rs so all transports share one implementation).