Development and testing
Four checks guard this repository, and each one covers something different.
Who makes this
Section titled “Who makes this”Bot Assembly is built by Ian Maurer. It is MIT-licensed (LICENSE) and developed in the open at github.com/botassembly/botassembly.
The checks, and when to run each
Section titled “The checks, and when to run each”The gate is the everyday check. It is deterministic, offline, and free, and it calls no model. It runs the full test suite, the entire conformance corpus against the reader, lint, a type check, dependency and cycle checks, and a size ratchet.
sh sdlc/scripts/install # once, and after dependency changesmake check # the whole gateThe smoke ladder is the deliberate check: eleven rungs, ten of them live runs against a real model with real credentials, proving that real auth, a real clock, and a real provider still produce correct sealed records. Rung 6 spends no tokens and inspects what the live rungs left behind, so it runs last. The order is 1 through 5, then 7 through 11, then 6. It costs money, so it is never part of the gate and never runs by accident. Bare make at the repository root prints help instead of spending.
make smoke # the whole ladder, from the repository rootmake smoke SMOKE=3 # one rungThe packaging check exercises make install itself. It installs the checkout from a scratch path whose name contains a space and runs the launcher it wrote. Run it after touching the root Makefile.
make installcheckThe platform check runs scratch installation, shipped-example resolution, and a narrow set of process, signal, lock, input, output, and cleanup tests. It accepts Linux and macOS only. It stays offline and never installs into your ordinary home.
make platformcheckWhat the hosted checks run
Section titled “What the hosted checks run”GitHub Actions keeps the complete Ubuntu make check job and also runs make platformcheck on Ubuntu and macOS with the pinned Node version. A second workflow builds this site and publishes it when a push to main changes anything under docs/, specification/, or examples/. Publication waits for both runtime jobs. Native Windows refuses before command work and directs operators to WSL.
Where work is tracked
Section titled “Where work is tracked”Work lives in the repository itself: tickets in sdlc/tickets/, one sealed record per landed ticket in sdlc/records/, decisions in sdlc/planning/adr/. A ticket is done when its record exists.