Skip to content

docs: write down exit-code roles and the smoke coverage model - #139

Merged
TMHSDigital merged 1 commit into
mainfrom
docs/exit-code-convention
Sep 12, 2026
Merged

docs: write down exit-code roles and the smoke coverage model#139
TMHSDigital merged 1 commit into
mainfrom
docs/exit-code-convention

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Summary

Closes #136 as an invalid premise, not as a code bug.

Exit 9 is within 2+. 26 example scripts use 9 for a sequential check. export-preset-axis --same-axis exiting 9 is the documented falsifier. No executable code changed. No needs-5.1 label: this PR makes no three-version claim.

Where it landed

CONTRIBUTING.md (Exit codes + expanded Blender smoke). That is the existing contributor-conventions file (version targeting, smoke lever, DCO). No standards/ directory in this repo. AGENTS.md only points here so agents do not grow a second copy.

Task 1 (live-run-proven this session)

Commands: rg -n "sys\.exit|SystemExit|exit\(" --type py (workspace Grep), then an AST walk over e:\Blender-Developer-Tools\**/*.py excluding .git / .scratch / docs. Assert-on-9: Grep in blender-smoke.yml, tests/, scripts/.

Claim Inherited This session Resolution
Highest product sequential code 21 in gltf-export-roundtrip 21, same file, codes 3–21 match
Example scripts using 9 26 26 match
sys.exit(1) FATAL wrappers 64 58 AST sys.exit(1) (54 examples + 3 tests/ + scripts/site/build_site.py). 64 is any integer literal 1 including return 1 inherited count mixed FATAL with harness return 1; docs use the role, not the 64
Smoke 0 / 1 / 77 as listed run_example.py fail=return 1; check_import_export_rules.py return 1; canary_skip.py sys.exit(77); gn-bundle-roundtrip and exit-pre-sidecar return 77 + SMOKE_SKIP: match
Assert on 9 none tests/ and scripts/: no hits. blender-smoke.yml: only [0-9]+ in the Blender tarball regex match

inspection-only: no-mesh is 2 vs 5 in the two headless templates (read script.py / pipeline.py).

Out of scope (unchanged)

Any exit value. export-preset-axis behavior. New rule/checker/validate.yml. Bake/UV. Agent bridge. LICENSE / #131. VERSION / CHANGELOG / release.yml. blender-smoke.yml / pages.yml files.

Follow-up (report-mode README check, not this PR): #138.

The missing convention was the defect behind #136, not exit 9. Records
per-script 0/2/3+, FATAL 1, smoke 0/1/77, and that blender-smoke has no
push trigger on purpose.

Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Sep 12, 2026
@TMHSDigital
TMHSDigital merged commit 20ab92d into main Sep 12, 2026
11 checks passed
@TMHSDigital
TMHSDigital deleted the docs/exit-code-convention branch September 12, 2026 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

exit codes: export-preset-axis uses 9, outside the 0 / 2+ convention

1 participant