You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
skills: the push checklist refuses every push after an over-cap subject is pushed #1697
The push checklist in morphic-shipping-prs pushes behind subjects.py --base origin/<base> N "$t", which exits 1 on a hit. It reads every commit on the branch's first-parent line that origin/main and the base lack, pushed ones included. Once a commit over the 72-character cap is pushed, CLAUDE.md forbids rewriting it, so no later push can pass the gate: every review round's fixes have to be pushed outside the chain the skill prescribes, which also skips the skills lint it gates.
On #1689 at 44bb49d, with three new commits of 68, 67 and 61 characters on top of a pushed 3766457 of 73:
$ python3.14 .claude/skills/morphic-shipping-prs/scripts/subjects.py --base origin/main 1689 "fix(compilers/openapi)!: fold allOf branches beside a union"
commit: 73 characters, over 72: test(compilers/openapi): degrade a union by its combinators, not a branch
subjects: 1 finding(s) in the title and 7 commit subject(s)
$ echo $?
1
Direction
A draft: hold only the commits the push adds, and the title, to the cap, by passing the pushed branch as a further --base (--base origin/<head branch>, which subjects.py already accepts for a branch that left a stack), and say in own-commits-against-the-base that a pushed commit over the cap is disclosed in the PR body rather than refused again on each push.
Out of scope
The squash title check, which stays on every push.
Priority: P4, rule 1 (housekeeping: a skill's push command, no lowering, IR or emitter behaviour). Command above (morphic @44bb49da2).
Activity