Skip to main content

Crate scc_engine

Crate scc_engine 

Source
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.json so 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): EmbeddingScorer fusing stored entity embeddings via cosine similarity, EngineReranker calling a separate /rerank model, the remote-model policy, and the rankers constructor task-pack plumbing uses when inference.enabled is 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-cli commands.rs.
ops
Universal operation registry (spec §§6-8): every SCC capability gets a stable operation ID; engine.operations().list() explains the API and engine.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 status value (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-cli lib.rs so all transports share one implementation).