Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Setting up each track

You can read every chapter without running anything. To run a part's labs, clone its repository at the revision the book shows. Later revisions may differ from the text.

Checking out the pinned revisions

These commands are generated from the book's lock file:

git clone https://github.com/cognokratos/arktos-wallet.git && git -C arktos-wallet checkout --detach 92650a0347993622cbb3e5eeac2c908069c67fd6  # main
git clone https://github.com/cognokratos/etf-research-agent.git && git -C etf-research-agent checkout --detach 493a67a721ef56ee64151e66e6e47c974552a23f  # main
git clone https://github.com/cognokratos/simple-agent-template.git && git -C simple-agent-template checkout --detach c66ce19d7b0c5c88c41b6860c78f66075485a07a  # main
git clone https://github.com/cognokratos/sophos-agent.git && git -C sophos-agent checkout --detach 8d9fe52182d8441454916ec8a6ab13c0773228e2  # main
git clone https://github.com/cognokratos/tauros-revenue.git && git -C tauros-revenue checkout --detach facbbc927eb4b9090937524ca02486c026f1f025  # main

To follow a project's current development instead, check out the branch shown in the comment (main for every project). Expect differences from the book.

The labs run code from those repositories. Treat them like any other code you download: read the Makefiles and scripts before you run them, and use the scratch locations each part recommends. The book itself never runs anything from these repositories.

Part I — simple-agent-template

NeedVersion / note
Docker with Compose v2about 8 GB of VM memory; PII masking adds about 600 MB
make, bash, Python 3host tooling for the make targets
Node22 or newer, for UI checks
Rust1.88 or newer, for labs 03 and 08 (changing the MCP server)
Model endpointany OpenAI-compatible API; default local Ollama with qwen3:8b; on a hosted endpoint also set LLM_GUARD_MODEL
Portsloopback 3000, 8082, 5000, 4318, 13133

Start with make env, make pull-models, make dev, make wait, make open-ui, and sign in as agent / agent. Approvals are off by default; lab 09 enables them. → Lab 01 · Run the agent

Part II — sophos-agent

NeedVersion / note
Node24, with Corepack (pnpm)
Ollamawith qwen3 pulled
npx, uv/uvxthe stdio MCP servers download from npm and PyPI on first start
curl, jq, sqlite3, lsof, pgrep/pkillused throughout the labs
Docker Compose v2only for part of lesson R8
Networkthe Fetch labs need internet access

The labs run node --env-file=.env build on 127.0.0.1:5174 against data/lab/. → Lab environment

Part III — etf-research-agent

NeedVersion / note
Rust1.85 or newer; the first cargo test compiles dependencies
Python 3for the deterministic labs
Compose stack + modelfor the live labs (A5, A6, lesson 08 and parts of A3–A4), as in Part I; sign in as researcher / researcher

make rules-explain prints one fund's evaluation and accepts in-memory overrides, so most experiments never touch data/. Caution: make rules-test rewrites the committed deterministic baseline. Use a scratch checkout.

Part IV — arktos-wallet

NeedVersion / note
rustupthe pinned toolchain 1.97.1 installs itself
C compiler, make, perlto build the bundled SQLCipher and OpenSSL (slow first build)
curl, python3, sqlcipher CLIfor the server-based labs (from C3; mostly C6–C8)
Port 8080fixed in code

Run from a checkout without a .env file (the Makefile loads it and would override the lab variables), with lab keys in a scratch directory. → Lab setup

Part V — tauros-revenue

NeedVersion / note
Erlang / Elixir29.1.1 / 1.20.4-otp-29 (.tool-versions)
PostgreSQL15 or newer (docs use 17) at localhost:5432, user and password postgres
curl, jqfor the MCP lessons
Shelluse bash for the MCP helper script; it may misbehave under zsh

mix setup (network) seeds an approver, an agent and proposals to review. mix phx.server serves http://localhost:4000. Sign in as demo@tauros.local with the password given in the course setup. mix test runs every lesson's guarantees. → The course

Building the book itself

Building this book needs none of the above: only git, Python 3.11 or newer and the pinned mdBook binary that make bootstrap downloads and verifies. See the book repository's README.