Skip to main content

Crate aivcs_core

Crate aivcs_core 

Source
Expand description

AIVCS Core Library

Re-exports core components for programmatic access to AIVCS functionality.

Re-exports§

pub use diff::lcs_diff::diff_tool_calls as diff_tool_calls_lcs;
pub use diff::lcs_diff::DiffSummary;
pub use diff::lcs_diff::ParamChange;
pub use diff::lcs_diff::ToolCallChange as LcsToolCallChange;
pub use diff::lcs_diff::ToolCallEntry;
pub use domain::AgentSpec;
pub use domain::AgentSpecFields;
pub use domain::AivcsError;
pub use domain::DeterministicEvalRunner;
pub use domain::EvalCaseResult;
pub use domain::EvalRunReport;
pub use domain::EvalSuite;
pub use domain::EvalTestCase;
pub use domain::EvalThresholds;
pub use domain::Event;
pub use domain::EventKind;
pub use domain::Release;
pub use domain::ReleaseEnvironment;
pub use domain::ReleasePointer;
pub use domain::Result;
pub use domain::Run;
pub use domain::RunStatus;
pub use domain::ScorerConfig;
pub use domain::ScorerType;
pub use domain::SnapshotMeta;
pub use event_adapter::subscribe_ledger_to_bus;
pub use event_adapter::LedgerHandler;
pub use git::capture_head_sha;
pub use git::is_git_repo;
pub use cas::fs::FsCasStore;
pub use cas::CasError;
pub use cas::CasStore;
pub use cas::Digest;
pub use parallel::fork_agent_parallel;
pub use parallel::BranchStatus;
pub use parallel::ForkResult;
pub use parallel::ParallelConfig;
pub use parallel::ParallelManager;
pub use compat::evaluate_compat;
pub use compat::CompatRule;
pub use compat::CompatRuleSet;
pub use compat::CompatVerdict;
pub use compat::CompatViolation;
pub use compat::PromoteContext;
pub use deploy::deploy_by_digest;
pub use deploy::DeployResult;
pub use deploy_runner::DeployByDigestRunner;
pub use deploy_runner::DeployRunOutput;
pub use diff::node_paths::diff_node_paths;
pub use diff::node_paths::extract_node_path;
pub use diff::node_paths::NodeDivergence;
pub use diff::node_paths::NodePathDiff;
pub use diff::node_paths::NodeStep;
pub use diff::state_diff::diff_run_states;
pub use diff::state_diff::diff_scoped_state;
pub use diff::state_diff::extract_last_checkpoint;
pub use diff::state_diff::ScopedStateDiff;
pub use diff::state_diff::StateDelta;
pub use diff::state_diff::CHECKPOINT_SAVED_KIND;
pub use diff::tool_calls::diff_tool_calls;
pub use diff::tool_calls::ParamDelta;
pub use diff::tool_calls::ToolCall;
pub use diff::tool_calls::ToolCallChange;
pub use diff::tool_calls::ToolCallDiff;
pub use gate::evaluate_gate;
pub use gate::CaseResult;
pub use gate::EvalReport;
pub use gate::GateRule;
pub use gate::GateRuleSet;
pub use gate::GateVerdict;
pub use gate::Violation;
pub use recording::GraphRunRecorder;
pub use release_registry::ReleaseRegistryApi;
pub use replay::replay_run;
pub use replay::ReplaySummary;
pub use reporting::render_diff_summary_md;
pub use reporting::write_diff_summary_md;
pub use reporting::write_eval_results_json;
pub use reporting::DiffSummaryArtifact;
pub use reporting::EvalCaseResultArtifact;
pub use reporting::EvalResultsArtifact;
pub use reporting::EvalSummaryArtifact;
pub use metrics::METRICS;
pub use obs::emit_event_appended;
pub use obs::emit_gate_evaluated;
pub use obs::emit_run_finalize_error;
pub use obs::emit_run_finished;
pub use obs::emit_run_started;
pub use obs::RunSpan;
pub use telemetry::init_tracing;

Modules§

cas
compat
Compatibility validator for release promotions.
deploy
Deploy-by-digest with registry lookup.
deploy_runner
Deploy-by-digest reference runner.
diff
domain
Domain models for AIVCS.
event_adapter
Adapter bridging oxidizedgraph’s EventBus lifecycle events into the AIVCS RunLedger persistence layer.
gate
Merge gate rules engine.
git
Git integration utilities for capturing repository state.
metrics
Global atomic counters for AIVCS observability.
obs
Structured observability hooks for AIVCS run lifecycle events.
parallel
Parallel Simulation Module
publish_gate
Publish gate rules engine.
recording
Graph lifecycle adapter: bridges domain Event types to RunLedger persistence.
release_registry
replay
Replay functionality for recorded runs.
reporting
telemetry
Centralised tracing initialisation for AIVCS binaries.

Structs§

AtticClient
Attic client for binary cache operations
AtticConfig
Attic configuration
AutoResolvedValue
Result of automatic conflict resolution
BranchRecord
Branch record - pointer to a commit
CommitId
Composite Commit ID - hash of (Logic + State + Environment)
CommitRecord
Commit record stored in SurrealDB
FlakeMetadata
Metadata from a Nix Flake
MemoryConflict
A conflict between two memory records
MemoryRecord
Memory record - agent memory/context for RAG
MergeResult
Result of a semantic merge operation
NixHash
Nix environment hash - content-addressable identifier
SnapshotRecord
Snapshot record - the actual agent state data
SurrealHandle
SurrealDB connection handle for AIVCS
VectorStoreDelta
Difference between two memory vector stores

Enums§

HashSource
Source of the Nix hash

Constants§

VERSION
AIVCS version

Functions§

diff_memory_vectors
Diff memory vectors between two commits
generate_environment_hash
Generate environment hash from a Nix Flake
generate_logic_hash
Generate a hash of Rust source code
is_attic_available
Check if Attic CLI is available
is_nix_available
Check if Nix is available on the system
resolve_conflict_state
Resolve a state conflict using LLM Arbiter
semantic_merge
Perform a semantic merge of two branches
synthesize_memory
Synthesize two memory stores into one