# Station Station is the execution system. It runs tools, monitors environments, and bundles them into composable desks. **Centro de control** -- the control center. --- ## Hierarchy Station components scale from single-purpose to composed: ``` Tool ──────► Desk │ │ │ └── Composed: Cabinet + Room + Depots │ └── Standalone executable (tester, datagen, modelgen, graphgen) Monitor ─── Long-running observer (databrowse) ``` **Tool** -- a standalone executable that does one job. Generates data, runs tests, produces models. Each tool works independently and can be invoked via web UI or CLI. **Monitor** -- a long-running observer. Connects to a data source and provides a browsing or query interface. Always on, not invoked per-task. **Desk** -- a composed execution bundle. Combines a cabinet (tool configuration), a room, and depots (data sources) into a ready-to-run environment. ## Tools | Tool | Status | Description | |------|--------|-------------| | [Tester](station-tester.md) | live | HTTP contract test runner, multi-environment, BDD/Gherkin | | [Datagen](station-datagen.md) | live | Test data generator using faker | | [Modelgen](station-modelgen.md) | dev | Generate models from JSON Schema (Pydantic, Django, Prisma) | | [Graphgen](station-graphgen.md) | planned | Supabase-style interactive DB schema visualization | ## Monitors | Monitor | Status | Description | |---------|--------|-------------| | [Databrowse](station-databrowse.md) | ready | SQL data browser | ## Structure ``` station/ ├── tools/ │ ├── tester/ # HTTP contract testing │ ├── datagen/ # Test data generation │ ├── modelgen/ # Model generation from schema │ └── graphgen/ # Schema visualization (planned) ├── monitors/ │ └── databrowse/ # SQL data browser └── desks/ # Composed execution bundles ``` ## Room Configuration Tools and monitors follow the same split as all soleprint systems. Core logic lives in `soleprint/station/`. Room-specific configuration lives in `cfg//soleprint/station/`. ``` cfg//soleprint/station/ ├── tools/ │ ├── tester/tests/ # Room-specific test cases │ └── datagen/ # Room-specific data generators └── monitors/ └── databrowse/depot/ # Room-specific schema and views ``` The build merges both into `gen//`.