-
Notifications
You must be signed in to change notification settings - Fork 0
Development
Andrea de Ruvo edited this page Aug 19, 2026
·
10 revisions
python3 -m pytest -q # 342 tests, no network, no tmux server of their ownThe tests never touch tmux's default socket. Neither should anything else you run against this code: a tmux server that dies takes every session on it with it, which is how this repository learned the rule the hard way.
The tooling, since a folder of unexplained scripts is worse than no folder:
scripts/openapi.py |
rewrites docs/openapi.json from the code. The test suite runs it with --check and fails if the published description has drifted, so this one is not optional. |
scripts/demo.py |
builds the instance every screenshot and clip is made from — fabricated sessions, fabricated files, on its own tmux socket. It exists so the pictures can be remade when the interface moves, and so that "none of this is a real machine" is something you can verify rather than take on trust. |
scripts/orchestra.py, scripts/referee.py, scripts/fullstack.py
|
three worked orchestrators, each run against real tmux before being committed — see Orchestrating several agents |
tools/argus_client.py, tools/argus-say
|
the Python client and a command-line front door onto it: the transport. Standard library only, one file, no package — see An agent driving Argus. |
tools/argus_orchestra.py |
the orchestration framework on top of it — the contract, the waiting, the names, the worktrees. It is why the three examples are twenty lines each: see Writing an orchestrator. |
scripts/surface.py |
lists every public name in tools/ and fails if one has no docstring, or — given a checkout of this wiki — if one is named nowhere on it. The test suite runs both; CI clones the wiki so the second one is real there rather than skipped. It exists because the client was once documented eight methods out of fourteen and nothing noticed. |
scripts/record.mjs |
drives a Chromium over the debugging protocol to record those clips, from the demo instance. |
Vendored under static/vendor/, unmodified, each keeping its own copyright header:
- xterm.js 6.0.0 — MIT
- marked 18.0.7 — MIT
- qrcode-generator 2.0.4 — MIT
- highlight.js 11.12.0 — BSD-3-Clause, the ESM build: the core and 27 languages, imported only when a file of code is opened
- pdf.js 4.10.38 — Apache-2.0, the build Argus draws every PDF with
-
swagger-ui 5.32.14 — Apache-2.0, the bundle and
its stylesheet, served at
/api/docs; FastAPI's own one-liner would fetch it from a CDN - mermaid 11.16.1 — MIT, the minified ESM build with its chunks and without its source maps: 3.7MB on disk and none of it fetched until a document with a ```mermaid fence in it is opened, at which point the entry and the chunks for that one kind of diagram are what load
Optional at runtime: pandoc for Word documents, and pdftotext
(poppler) to search inside PDFs. Without either, those files still open — they are just
plainer.