Skip to main content

Verification scorecard

Executable acceptance criteria for releases.

Swarm 357 - Executable acceptance criteria

> Hosted docs: https://swarm357fe.up.railway.app/docs/resources/verification

This document is the mechanical gate list for releases. Every check must be backed by CI, a script, or a live probe - not marketing language.

Matrix

CategoryVerifierPass criteria
Claim integrityRoster + healthpython scripts/generate_roster.py --compact --fix-counts exits 0; Docker/GET /api/healthagents == 357
Install pathClean wheelBuild wheel → fresh venv → swarm boot loads 357 agents; Support souls present in package data
Runtime correctnessPytestpytest packages/techtide-swarm/tests -v -p no:schemathesis green
Fan-out safetyPytestLayer runs default to one agent per role with a hard cap; full fan-out requires explicit flag
BudgetsPytestConcurrent reservations cannot exceed the ceiling
AuthDocker/CIProduction/SWARM_REQUIRE_AUTH=1 without SWARM_API_KEY → fail closed; bad key → 401; unauthenticated POST ≠ 200
FailuresAPI testsExecution errors return 4xx/5xx, never HTTP 200 with "status":"error" alone
ModelsPytestOpenRouter does not silently map opus/sonnet → Haiku unless SWARM_OPENROUTER_CHEAP=1
Durable runtimePytestCheckpoint save/load/resume; durable cancel_requested; replay/fork CLI/API
HITLPytestBash HITL blocks until approve/reject/timeout; CLI/API resolve
StreamingPytest/APISSE requires write key when SWARM_API_KEY set; bus closes; stream.end
Security toolsPytestBash denied in server mode; Read/Write confined to CWD/workspace (SWARM_UNSAFE_FS=1 opt-out)
BridgeCI rust jobcargo fmt/clippy/build + bridge integration tests with MEMVID_SWARM_BRIDGE
EvalsBaseline artifactsSingle-agent and swarm metrics reported separately in evals/baselines/latest.json; README numbers regenerated via scripts/render_eval_assets.py
LandingSplit repoTechTideOhio/swarm-357-site CI build green; not shipped inside this core repo
Supply chainPublish workflowTagged release builds wheel/sdist, attestations, PyPI publish after CI

Commands

pip install -e "packages/techtide-swarm[dev]"
ruff check packages/techtide-swarm/src
cd packages/techtide-swarm && mypy src && python -m pytest tests -v -p no:schemathesis && cd ../..
python scripts/generate_roster.py --compact --fix-counts
 
# Clean wheel smoke
python -m build packages/techtide-swarm
python -m venv /tmp/swarm-wheel && /tmp/swarm-wheel/bin/pip install packages/techtide-swarm/dist/*.whl
/tmp/swarm-wheel/bin/swarm boot
 
# Docker
docker build -t swarm357-api .
docker run --rm -e SWARM_API_KEY=ci -e SWARM_REQUIRE_AUTH=1 -p 8000:8000 swarm357-api
curl -sf http://127.0.0.1:8000/api/health

Definition: “357 agents”

357 agents means 357 distinct agent identities (YAML roster + soul templates) orchestrated by the runtime - not 357 parallel long-running LLM sessions. Default layer execution selects one agent per role with a configurable cap.

Maturity honesty

See STATUS.md. Stable ≠ complete agent platform. Durable checkpoints, SSE (auth + terminal close), and Bash HITL are Beta; dream write-back remains Experimental; Opik cloud is Not implemented.