- Python provisioning system that stands up the complete Nova Sonic inference stack on one developer machine.
- Deploys several Triton model containers plus the C++ node-graph orchestrator, wired together and ready to take speech-to-speech traffic.
- Took a fifteen-person team from sharing a couple of hand-built demo environments to every engineer having their own.
- Same pattern as L3Dockerize: make the right environment the cheap one.
A speech-to-speech LLM service is not one process. The Nova Sonic stack a developer needs in order to test a change end to end is several Triton model containers, each with its own model artifacts and GPU footprint, plus the C++ orchestrator that runs the node graph between them, plus the configuration that tells each piece where the others are. Early on, the team had exactly two working copies of that stack, both assembled by hand on shared demo machines. Fifteen engineers took turns. Anyone who wanted to try a model swap or a framework change either waited for a slot or rebuilt the whole thing themselves from tribal knowledge.
I wrote a Python provisioning system to make the stack reproducible. Run on the developer machine itself with a stack definition, it fetches the right model artifacts, pulls or builds the container images, generates the per-container Triton configuration and the orchestrator’s graph configuration from one source of truth, brings the containers up in dependency order, and checks that the assembled pipeline actually answers a request before declaring the machine ready. Version pins live in the stack definition, so “the same stack as production, except my branch of the orchestrator” is a one-line change rather than an afternoon.
The effect on the team was immediate. Everyone got their own environment, the shared demo boxes stopped being a scheduling problem, and integration bugs started getting caught on developer machines instead of in the shared environment where they blocked everyone. It is the same lesson I took from building L3Dockerize at L3Harris: developers will do the right thing when the right thing is also the easy thing, and a tool that removes the setup cost is usually the highest-leverage code on the team.