Pre-Submit PR Check
Comprehensive validation before submitting a pull request. Run this before creating or updating a PR.
Instructions
- •
Run all automated hooks:
- •
bash .claude/hooks/lint.sh- format check - •
bash .claude/hooks/test.sh- run tests - •
bash .claude/hooks/check-debug.sh- find debug code
- •
- •
Run alignment review:
- •Read
.claude/docs/PRINCIPLES.mdand.claude/docs/INVARIANTS.md - •Compare changes against principles and invariants
- •Identify Tier 1 (mechanical) and Tier 2 (alignment) issues
- •Read
- •
RFC check:
- •If changes touch
src/openenv/core/, flag for RFC consideration - •If any public API signatures change, RFC required
- •Check against existing RFCs in
rfcs/for conflicts
- •If changes touch
- •
Documentation freshness check:
- •Review
.claude/docs/REPO_WALKTHROUGH.mdagainst the current repo structure - •If the PR adds new directories, moves files, or changes structure significantly:
- •Update REPO_WALKTHROUGH.md to reflect the changes
- •Include these updates in the PR
- •Check triggers: new directories in
src/,envs/,.claude/, orrfcs/
- •Review
- •
Summarize PR readiness:
- •List all blocking issues
- •List all discussion points for reviewers
- •Provide overall verdict
Output Format
code
## Pre-Submit PR Report ### Automated Checks | Check | Status | Details | |-------|--------|---------| | Lint | PASS/FAIL | [summary] | | Tests | PASS/FAIL | [X passed, Y failed] | | Debug code | CLEAN/FOUND | [details] | ### Alignment Review #### Tier 1: Fixes Required (blocking) - [ ] path/file.py:123 - [issue description] #### Tier 2: Discussion Points (flag for reviewers) [ALIGNMENT FLAGS or "None identified"] ### Invariant Check [List any invariants at risk, or "All invariants maintained"] ### RFC Status [NOT REQUIRED / RECOMMENDED / REQUIRED: reason] ### Documentation Freshness [UP TO DATE / UPDATED: list of changes made to REPO_WALKTHROUGH.md] ### Verdict: READY FOR PR / ISSUES TO ADDRESS ### Summary for PR Description [2-3 sentences summarizing changes for the PR description]
Blocking Issues
The following issues block PR submission:
- •Lint failures
- •Test failures
- •Debugger statements (breakpoint, pdb)
- •Invariant violations
- •RFC required but not written
Non-Blocking (Flag for Reviewers)
These should be noted in PR but don't block:
- •Alignment discussion points (Tier 2)
- •RFC recommended (optional)
- •TODOs in code
- •Print statements (unless in core code)