Read before write
The first script the agent runs only inventories the machine: disks, mounts, containers, ports. Nothing is created or changed until you have read the results and approved a plan.
Market research needs a tick store, a history store, an analytical engine, object storage, charts and a dashboard. No single product is best at all of them. Vibe integration takes the best tool for each job, joins them through small, tested contracts, and hands the installing, wiring and upkeep to an AI agent that works from a runbook you approve.
Integrated suites trade depth for convenience. We keep the depth and let the agent absorb the convenience cost: more moving parts, but each one is the specialist.
An in-process SQL engine with a catalog that grows from one file to PostgreSQL.
Query library, job leases and the shared catalog for multi-user deployments.
The backends and widget protocol BDOBB reads, so existing widgets keep working.
A stack of specialists only feels like one product if every join is narrow, documented and tested. These are the seams our three tools are built around.
| Seam | Joins | Contract |
|---|---|---|
| Widget protocol | OpenBB backends → BDOBB | The OpenBB Workspace widget contract, read as-is |
| Live tick stream | kdb+ → Art’s Charts | WebSocket series from the tick cache |
| Completed periods | Delta tick vault → charts and queries | One Delta table per symbol and date |
| Study catalog | Polars registry → chart client | GET /ta_registry; the client catalog is generated from it |
| Research catalog | DuckLake → TemporalDB queries | SQL catalog plus Parquet files Design |
| Agent tools | Model → Art’s Charts | MCP tools for chart creation, snapshots and analysis In testing |
Step through how an agent brings up the stack on a home server. Every change waits at a gate for your OK. Commands are illustrative.
The first script the agent runs only inventories the machine: disks, mounts, containers, ports. Nothing is created or changed until you have read the results and approved a plan.
Every part runs at a known version, such as Lightweight Charts 5.0.8 and tagged container images, so an upgrade is a deliberate, reviewable change, not drift.
Each change ships in two steps: roll it out, then run acceptance checks against the live service. A change that fails acceptance is rolled back, not patched in place.
Maintenance includes drills: restart the tick cache and replay its log, restore a catalog to a scratch environment. See the Live cache page for the kdb+ procedure.
API keys go into the services that need them and nowhere else. TemporalDB’s design keeps credentials out of every stored request record.
The runbooks are plain text and shell, so any capable coding agent can follow them, whether it runs on a hosted model or on a local one on your own hardware.
The companion series explains how we got here: why each part was chosen and how the pieces were joined. Every installment comes with instructions you can run by hand, or hand to an AI coding agent such as Claude Code or Codex and approve step by step.
The decisions behind the stack, in the order we made them, and the reasoning behind each one.
The same instructions work both ways: paste the commands yourself, or give them to your agent as its runbook and keep the approvals.
Each installment lists the gotchas we hit, so you don’t spend an afternoon debugging a problem we have already solved.
This is how we build and run our own stack today. Turning it into a kit anyone can hand to their agent is the next step.
| Agent-written runbooks and scripts, reviewed before each run | In use |
| Read-only inventory before any change | In use |
| Separate rollout and acceptance steps for chart services | In use |
| MCP tools so agents can drive Art’s Charts | In testing |
| Packaged install kit an agent can run end to end | Planned |
| Scheduled maintenance: upgrades and recovery drills | Planned |
You pick the specialists. The agent does the plumbing. You stay in charge of every change.