Skip to content

skills: the push checklist refuses every push after an over-cap subject is pushed #1697

Open

Description

@OmarAlJarrah

Problem

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

  1. added
    type:bugDefect in shipped behavior
    priority:P4Refactors, tests, CI, hostile-input hardening, cosmetic diagnostics, other formats
    on Nov 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority:P4Refactors, tests, CI, hostile-input hardening, cosmetic diagnostics, other formatstype:bugDefect in shipped behavior

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions