fix: validate the default Forgejo squash subject #19
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/forgejo-squash-subject"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Checks the default squash subject including Forgejo's appended PR number, so a title cannot pass the 100-character limit and produce an overlong subject after merging. Regenerated with published Align 17.3.13 from the shared fix.
Review
01M60MGWXMPEERDVJJ7M3EXWSZ— head6e3c7140e0b3944415f236652ae807b45040b694Review — j4k-oss/fta-check @
dc17915c3aScope: diff against base tree
860910bf40aaReview finished: 3 succeeded, 0 failed, 7 skipped by dispatch
Triage: settled
Facts: current review-wide projection
Computed under:
Findings (1)
low — Bare-title check comment forward-references an unseen suffix and dropped the squash context
01M60MJH5YP11TWSPPDQ29ZB33.forgejo/workflows/commit-msg.yml(snippet)01M60MK4Z9MMD8Z37BZ8TX29CT· valid: Grounded (exact) anchor: '# Keep the bare-title check: the suffix could hide an empty subject.' The comment calls the suffix 'the suffix', as if the reader already knew it. The reviewer reports, having read the whole file, that the suffix first appears only in the next block's comment ('Forgejo's default squash subject appends the pull request number.'). That account is coherent and nothing in the batch contradicts it. So at this point in the file, the reason for the check can't be understood without reading ahead. That is a real clarity cost, and the fix is small, so the core defect holds at low severity. Two supporting arguments are weaker. First, 'Keep' does not clearly narrate a change: as a directive telling maintainers not to remove a check that looks redundant, it is durable guidance. So the state-durable-truth objection is not established. Second, restoring the 'Squash:' label is optional. The second comment already implies that the PR title becomes the squash subject, so a reader would not misread why the title is checked. Only the parallel with 'Rebase:' is lost. The proposed rewrite keeps the needed meaning (an empty title hidden behind the suffix) and introduces the suffix where it is used, so it is acceptable. The smallest sufficient fix is to introduce the suffix in place, e.g. "# Check the bare title too: the ' (#N)' suffix checked below would hide an empty title." The squash label is optional.Other claims
Coverage
Coverage pass: 01M60MGWXSP3YQ9BQ2MZBA3BRC
Accounting: complete (all slots terminal; see slot results for failures)
Slot health: healthy
@ -94,3 +95,3 @@base_ref=$(cat "$pr_fields/ref")# Squash: the PR title becomes the target branch's subject.# Keep the bare-title check: the suffix could hide an empty subject.low — Bare-title check comment forward-references an unseen suffix and dropped the squash context
lens
writing-quality· armdefault· tally 1 valid / 0 invalid / 0 uncertainclaim
01M60MJH5YP11TWSPPDQ29ZB33of review01M60MGWXMPEERDVJJ7M3EXWSZThe adjacent block immediately explains that Forgejo appends the pull request number and constructs that suffix, so the forward reference resolves locally and unambiguously. Together these comments explain why both nearby checks exist. “Keep” is durable guidance against removing the apparently redundant bare-title check; it does not depend on an earlier revision. Repeating the squash label or spelling out (#N) here is optional polish, rather than a missing or materially unclear explanation. The motivating invalid input is an empty subject such as fix:, so restoring wording about an empty title would also be less precise. Independent inspection of the generated file and canonical template confirms this context; no source correction is required.