Contributing¶
Setup¶
Making changes¶
- Create a branch from
main - Make your changes
- Run tests:
pytest - Ensure coverage stays ≥ 70%
- Open a pull request
Adding a model¶
See Adding Custom Models.
Adding an execution backend¶
- Subclass
BaseExecutorinapp/execution/ - Implement
submit()andsubmit_background() - Register in
app/adapters/http/deps.py - Reference in
EXECUTION_POLICYinapp/config/execution.py
Architecture rules¶
- No upward imports (domain → services → adapters)
- No HTTP imports outside
app/adapters/ - No storage SDK imports outside
app/infra/ - Every new inference path must create a
Jobrecord
See Architecture for full invariants.
Documentation¶
Documentation lives in docs/. Preview locally: