Skip to main content

Contribute

This section is for contributors changing the Neat Library itself. It explains how the repository is structured, how to build and test changes, and which contracts must stay stable for application developers.

The Neat Library is the C++/Python library and runtime in this repository. It loads model archives, composes and validates pipelines, runs on Modalix hardware, and exposes the public application API. Palette SDK and DevKit Sync are the surrounding development workflow.

When changing this repository, optimize for framework properties that help both humans and agent-assisted development: explicit APIs, deterministic behavior, structured diagnostics, strict validation, and stable public contracts.

  • Determinism wins — keep element names, generated pipelines, reports, and tests reproducible.
  • Debuggability is first-class — failures should produce structured data, not only strings.
  • No silent fallback — do not hide model-input bugs or hardware/runtime failures.
  • Validate before run — catch structural, caps, shape, and contract errors before runtime.
  • Public APIs stay stable — installed headers under include/* require additive, compatible changes.
  • Concurrency must be bounded and observable — teardown must not hang and diagnostics must be thread-safe.