ruff: lint Python files and apply safe fixes when possible.ruff-format: enforce Python formatting.trailing-whitespace: remove trailing whitespace.end-of-file-fixer: ensure files end with a newline.check-yaml: validate YAML syntax.check-added-large-files: block oversized files from being committed.check-merge-conflict: catch unresolved merge markers.py-compile: runpython3 -m py_compileon staged Python files to catch syntax and import-time compilation errors.archlint: runpython3 scripts/lint_architecture.pyto enforce architecture rules.layer-lock: run the import-boundary test attests/architecture/test_import_boundaries.py.mypy: run static type checking with the repo's configured arguments.vulture: detect likely dead code intinyagent/.duplicate-code: run pylint's duplicate-code detector ontinyagent/.debtlint: enforce ticketed technical-debt markers.treelint: enforce TinyAgent tree hygiene rules.tinyagent-file-length: block staged Python files undertinyagent/that exceed 700 lines.
- No dedicated
pre-pushhook is currently configured in this repo. - The architecture doc says the same blocking checks used in pre-commit should also run in CI.
release-binding-check: runpython3 scripts/check_release_binding.py --require-presentbefore building/publishing wheels that are expected to ship_alchemy.- Build the binding from the in-repo crate at
rust/, then stage the resulting_alchemybinary intotinyagent/before packaging. release-wheel-check: runpython3 scripts/check_release_wheels.py distbefore publishing. Linux wheels must not keep a genericlinux_*tag; repair them withauditwheeluntil the wheel metadata reportsmanylinux_*ormusllinux_*instead..github/workflows/publish-pypi.ymlis the release path for Linux, macOS, and Windows wheels: it builds the in-repo binding per-platform, stages it intotinyagent/, runs the release checks, repairs Linux wheels withauditwheelso PyPI receives amanylinuxartifact, and publishes the release artifacts to PyPI via the repoPYPI_TOKENsecret.
TBD
TBD