Asset Core Docs

Deterministic world-state engine documentation and API references.

Decision Gate docs

CLI (acctl)

acctl is the authoritative operator interface for Asset Core. It wraps the workflows you need to validate governance, perform diagnostics, replay state, and recover from failures when automation falls short.

Prerequisites

  • Rust toolchain (stable)
  • Asset Core binaries built (cargo build --release)

Step 1 - Install acctl

Build the CLI from the repository:

cargo build --release -p acctl

The binary is at target/release/acctl.

Step 2 - View available commands

acctl --help

The command list below is a reference. For task-focused guidance, see the ACCTL Operator Guide.

Available commands:

CommandDescription
adaptersLaunch protocol adapters (MCP/OpenAI/Gemini)
authAuthenticate, inspect permissions, and manage tokens
runLaunch daemons with config discovery and bootstrap
namespacesList, provision, and update namespaces
read-streamStream read daemon commits via SSE
tailStream envelopes from the envelope log
replayReplay envelopes offline for analysis
query-commitsQuery commit history via read daemon
query-container-commitsCommit history for a container
list-containersList containers with filters
get-container-contentsFetch balances, slots, or grid contents
get-container-gridInspect grid occupancy (optional region)
find-grid-freeFind free grid anchors for a shape
list-instancesList instances with filters
get-instanceFetch instance metadata
owner-summaryAggregate data for an owner
snapshotCreate or restore snapshots
diagRun environment diagnostics and endpoint checks
bundle-debugCreate debug archive for incidents

Step 3 - Run diagnostics

Check your environment and configuration:

acctl diag --print-config

This validates:

  • Configuration file paths
  • Commit log accessibility
  • Toolchain versions

Step 4 - Tail the envelope log

Stream events as they’re committed:

acctl tail --envelope-log /path/to/envelope.log

Options:

FlagDescription
--followContinue streaming new events
--formatOutput format: json or summary
--fromStart from specific sequence

Step 5 - Replay for analysis

Replay events offline to analyze state:

acctl replay \
  --envelope-log /path/to/envelope.log \
  --from 0 \
  --to 1000

Replay produces deterministic summaries without running the full daemon.

Step 6 - Create snapshots

Export current state as a JSON snapshot:

acctl snapshot create \
  --envelope-log /path/to/envelope.log \
  --output snapshot.json

Restore from snapshot:

acctl snapshot restore \
  --input snapshot.json \
  --envelope-log /path/to/envelope.log

Step 7 - Launch adapters

Start the MCP server for AI tool integration:

acctl adapters \
  --config /path/to/write.toml \
  --read-config /path/to/read.toml \
  --transport stdio

Options:

FlagDescription
--transportProtocol: stdio or sse
--portSSE listen port (SSE only)

Step 8 - Create debug bundles

Package artifacts for incident triage:

acctl bundle-debug \
  --config /path/to/write.toml \
  --output debug-bundle.tar.gz

The bundle includes:

  • Configuration files
  • Commit log segments
  • Checkpoints
  • Prometheus metrics scrape
  • Manifest with timestamps

Troubleshooting

”Config file not found”

Specify the full path to your configuration:

acctl run --config /absolute/path/to/config.toml

“Commit log not accessible”

Check file permissions and that the path exists:

ls -la /path/to/commit_log.log

“Adapter binary not found”

Build the adapters first:

cargo build --release -p assetcore-adapters

Environment variables

acctl respects these environment variables:

VariableDescription
ASSETCORE_WRITE_URLOverride write daemon URL
ASSETCORE_READ_URLOverride read daemon URL
ACCTL_ALLOW_PLAINTEXT_TOKEN_STOREAllow plaintext token storage when keyring is unavailable
ASSETCORE_BASE_DIROverride base directory for resolved paths

Next steps