2.4 KiB
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 | live | HTTP contract test runner, multi-environment, BDD/Gherkin |
| Datagen | live | Test data generator using faker |
| Modelgen | dev | Generate models from JSON Schema (Pydantic, Django, Prisma) |
| Graphgen | planned | Supabase-style interactive DB schema visualization |
Monitors
| Monitor | Status | Description |
|---|---|---|
| Databrowse | 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/<room>/soleprint/station/.
cfg/<room>/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/<room>/.