Support, licence and contributing
Licence
Section titled “Licence”heliaAOT is released under the Ambiq Apollo SDK License, which the repository
holds in LICENSE.md. Three points matter before you ship:
- Field of use. The licence grants the right to use, copy, modify and distribute the software solely for incorporation into, and execution on, computing platforms that include an Ambiq-manufactured CPU. Execution on a non-Ambiq CPU is expressly forbidden, including as part of a multi-CPU system.
- Attribution. Redistribution in source or binary form has to carry the copyright notice, the conditions and the disclaimer.
- No warranty. The software is provided as is, with all warranties disclaimed.
The repository licence and the generated module licence are separate texts.
The documentation handler renders helia_aot/aot/templates/docs/license.md.j2
into the module’s LICENSE; it is not a copy of the repository LICENSE.md.
Read both applicable texts and your model/dependency terms. Third-party
components heliaAOT depends on are listed in THIRD_PARTY_NOTICES.md.
LICENSE.md in the repository is the authoritative text. The summary above is
a reading aid, not a substitute for it, and it is not legal advice.
Reporting a problem
Section titled “Reporting a problem”If you have access to the private repository, report problems in the heliaAOT issue tracker. Otherwise, share the details below with your Ambiq contact.
Include the following so the team can reproduce or narrow down the failure:
- The version.
helia-aot versionprints it. - The target. The platform name you passed to
--platform.name, as platforms list spells it. - The command. The whole
helia-aot convertline, or the YAML file if you configured it that way. - The console output at
--verbose 2. Level 2 is the one Troubleshooting asks for: it includes the transforms applied, operator resolution, tensor lifetimes and planner diagnostics. Use--verbose 3when expanded AIR tensor and option details are needed. - The model, or a description of the failing node if you cannot share it.
A
TemplateRenderErrorin particular is a heliaAOT defect and is worth reporting with whichever of the two you can give.
For anything you would rather not put in a public issue, write to
support.aitg@ambiq.com.
Models
Section titled “Models”The Getting started pages convert the MLPerf Tiny keyword-spotting model from
AmbiqAI/helia-model-zoo, and the
repository’s examples use the same model, committed in examples/first-model/kws_ref/.
heliaAOT takes supported LiteRT models; the zoo is a convenience, not a
requirement.
The model is Apache-2.0, from MLPerf Tiny, and its golden fixture is under the same terms; the licence text and sources are recorded beside the committed copy. The compiler’s licence does not grant rights to third-party model weights, so check each model’s terms before using it in a product.
Supported Python and operating systems
Section titled “Supported Python and operating systems”Compatibility and versioning
says which Python versions and operating systems heliaAOT supports and how
each one is tested. The Python range comes from pyproject.toml, which
Version requirements reads directly, so that
row is the one to trust if the two ever differ. The toolchain you build the
emitted module with is a separate question, covered in
Toolchains and build environments.
Contributing
Section titled “Contributing”The repository has no CONTRIBUTING.md. AGENTS.md at the root is the single
source of truth for contributors and for coding agents alike, and CLAUDE.md
only points at it. Read it before opening a pull request. The parts that catch
people out:
- Conventional commits.
feat:,fix:,docs:,refactor:,test:andchore:, with an imperative summary. Pull requests are squash-merged, so the squash title becomes the commit message that release-please reads to decide the next version. Use a conventional title so release-please can classify the change. - Behavior changes need tests. A bug fix needs a regression test, and a new public API or extension point needs unit coverage.
- Generated artifacts are regenerated, never hand-edited.
README.pypi.md, codegen snapshots and reference exports have owning tools and freshness checks. Regenerate reference JSON withuv run python -m repo_tools.docs_exportand validate the site with the commands below. Release-please ownsCHANGELOG.md; do not manually regenerate it as a documentation export. - The docs build is part of the change. From
docs/,npm run check,npm run buildandnpm run check:referenceare what hold this site to the source it documents.
Branch protection requires an approving review and green CI before a merge.