@@ -16,8 +16,9 @@ Optimize for:
16161 . Read this file and user request.
17172 . Identify impacted layer(s): ` config ` , ` engine ` , ` interface ` , plugin package(s).
18183 . Locate the execution path from public API to concrete implementation.
19- 4 . Make minimal code changes with explicit type annotations.
20- 5 . Run focused lint/tests for changed scope, then broaden only if needed.
19+ 4 . Pick ` make ` targets for install/check/test steps before using direct ` uv ` commands.
20+ 5 . Make minimal code changes with explicit type annotations.
21+ 6 . Run focused lint/tests for changed scope, then broaden only if needed.
2122
2223## Architecture At A Glance
2324
@@ -94,6 +95,7 @@ flowchart TD
9495- Keep lines ` <= 120 ` chars.
9596- Avoid vacuous comments; comment only non-obvious logic.
9697- Prefer ` make ` targets over raw tool commands when a matching ` Makefile ` target exists.
98+ - Do not use raw ` uv sync ` for standard setup/install flows; use the corresponding ` make install* ` target.
9799- Preserve or add NVIDIA SPDX headers in Python files:
98100
99101``` python
@@ -128,6 +130,21 @@ Rules:
128130
129131## Testing and Validation Workflow
130132
133+ Use ` make ` targets by default. Use direct ` uv run ... ` only when no equivalent ` make ` target exists (for example, one
134+ specific test file during tight iteration).
135+
136+ Quick ` make ` command map:
137+ - Install baseline: ` make install `
138+ - Install dev environment: ` make install-dev `
139+ - Install with notebook deps: ` make install-dev-notebooks `
140+ - Install with recipe deps: ` make install-dev-recipes `
141+ - Lint + format checks: ` make check-all `
142+ - Autofix checks: ` make check-all-fix `
143+ - Package tests: ` make test-config ` , ` make test-engine ` , ` make test-interface `
144+ - Full tests: ` make test `
145+ - Coverage: ` make coverage `
146+ - License headers: ` make update-license-headers `
147+
131148Preferred local flow:
132149
133150``` bash
@@ -137,7 +154,12 @@ make install-dev
137154# lint + format
138155make check-all
139156
140- # targeted test during iteration
157+ # targeted package tests during iteration
158+ make test-config
159+ # or: make test-engine
160+ # or: make test-interface
161+
162+ # optional: one specific test file when needed
141163uv run pytest path/to/test_file.py -v
142164
143165# full test pass before large merge-ready change
@@ -153,6 +175,7 @@ make install-dev-recipes
153175make check-all-fix
154176make coverage
155177make update-license-headers
178+ make verify-imports
156179```
157180
158181Command preference:
@@ -225,6 +248,7 @@ config_builder.add_column(
225248## Quality Gate Before Hand-Off
226249
227250- Changed behavior covered by tests or justified if not testable.
228- - Ruff checks pass for modified files/scope.
251+ - If new Python files were added, ` make update-license-headers ` was run.
252+ - Ruff checks pass for modified files/scope (prefer ` make check-all ` or package-scoped checks).
229253- No regressions in import style/type annotation rules.
230254- User-facing behavior and tradeoffs explained clearly.
0 commit comments