72 lines
2.4 KiB
Markdown
72 lines
2.4 KiB
Markdown
# 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/<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>/`.
|