# The stack
```text
caboodle (interview → plan → apply → verify → observe)
│ installs, proves, and watches ↓
▼
quipu · bobbin · camayoc · yupana · desire-path · seeds · shuttle · shantytown / creel
│
▼
prometheus (every tool's metrics, consolidated)
```
Caboodle never re-implements a tool's job. It installs the tool and then makes
the tool demonstrate its own job, through three proofs:
1. **Installed**: proven by reading the version back, never by an exit code.
2. **Working**: a per-tool round trip. quipu accepts an episode and a query
finds it; bobbin indexes a fixture and search returns it; yupana finds a
caller in a fixture repository; seeds lists a fresh store, creates a
marker work item, and finds it; shuttle defines a workflow, starts a run,
advances it through one signed transition, and finds it in the new state;
quipu also loads the pinned [Quechua](https://scbrown.github.io/quechua/ns)
vocabulary release, which must resolve `quechua:WorkflowRun` and must not
resolve an undeclared term.
Every check first proves its marker is
absent, so a pass is capable of failing.
3. **Observable**: caboodle generates Prometheus scrape config, starter alerts,
and one dashboard for the selected tools, for you to review and deploy.
Install and verification outcomes are also queued as quipu episodes, so a fresh
box's first knowledge is a record of the box itself. The agent-facing version of
this workflow is the [`tambo` skill](https://github.com/scbrown/tambo/blob/main/skills/tambo/SKILL.md), and the full
design is in the [book](introduction.md).
## Related projects
{{#include ../../stack-table.md:table}}
### Supporting projects
| [shantytown](https://github.com/scbrown/shantytown) | a small harness for running a crew of coding agents |
| [creel](https://github.com/scbrown/creel) | parallel agent bursts, entirely in the browser |
| [shanty](https://github.com/scbrown/shanty) | a terminal multiplexer wrapper that makes tmux feel like home |
| [beads](https://github.com/Dicklesworthstone/beads_rust) | issue tracking as agent memory — `br`, SQLite + JSONL |
| [quechua](https://github.com/scbrown/quechua) | the stack's shared vocabulary; caboodle pins a release by digest and loads it into Quipu ([catalog](https://scbrown.github.io/quechua/ns)) |
See [the corpus](corpus.md) for share import and [profiles](profiles.md) for
which tools each selection installs.