Skip to content

Getting Started

Install

python -m pip install --upgrade pip
pip install -e "."
# Optional: docs/dev tools
pip install -e ".[dev]"

Quick run

Baseline NC1 run with defaults:

ldtc run --config configs/profile_r0.yml

Run Ω power-sag and generate figures:

ldtc omega-power-sag --config configs/profile_r0.yml --drop 0.3 --duration 10

Artifacts are written under artifacts/ (audit, indicators, figures).

Pinned environments

For exact reproduction of included artifacts/figures:

# Runtime (reproduce artifacts/figures)
pip install -r requirements.txt

# Dev tooling (tests, lint, typing, notebooks)
pip install -r requirements-dev.txt

Keys (device-signed indicators)

Indicators are signed with Ed25519. Generate keys once per workspace:

python scripts/keygen.py  # writes artifacts/keys/ed25519_{pub,priv}.pem

Verify indicators in CI or locally:

python scripts/verify_indicators.py \
  --ind-dir artifacts/indicators \
  --audit artifacts/audits/audit.jsonl \
  --pub artifacts/keys/ed25519_pub.pem

Docker (clean Linux repro)

# Build the image
make docker-build

# Run baseline NC1 loop inside the container (artifacts mapped to host)
make docker-run

# Or run any CLI subcommand, e.g., an Ω power-sag trial
docker run --rm \
  -v $(pwd)/artifacts:/app/artifacts \
  ldtc:latest omega-power-sag --config configs/profile_r0.yml --drop 0.35 --duration 8

Project layout

See CONTRIBUTING.md for a high-level map and development workflow.