Skip to content

chore(pr-template): add §1.7 forward+backward stubs + Skipped guidance - #33

Merged
artyhoo merged 1 commit into
mainfrom
chore/pr-template-section-1.7-stubs
May 11, 2026
Merged

chore(pr-template): add §1.7 forward+backward stubs + Skipped guidance#33
artyhoo merged 1 commit into
mainfrom
chore/pr-template-section-1.7-stubs

Conversation

@artyhoo

@artyhoo artyhoo commented May 11, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a §1.7 self-discipline section to .github/pull_request_template.md to eliminate the recurring discipline-self-check fail observed across PRs (kickoff:97 «Wave 2 PR #22», #32 mid-flight body fix).

Why

discipline-self-check.yml fires on every pull_request event whose paths-filter matches .claude/rules/**, packages/core/principles/**, EXECUTION-PLAN.md, prior-art-evaluations.md, CLAUDE.md, or shipped templates — and requires either:

  • exact H3 sections ### §1.7 Forward-check applied + ### §1.7 Backward-check applied (≥40 non-whitespace chars each), OR
  • a ### §1.7 Skipped: <reason ≥60 chars> shortcut on a single line.

The requirement lived only in .claude/rules/phase-research-coverage.md §1.7 and an orchestrator kickoff prompt. Authors keep missing it on the first try; the user explicitly flagged the recurrence («каждый PR ловит эту ошибку»).

Changes

  • Adds §1.7 section to PR template with:
    • HTML-comment block explaining the gate (paths-filter, char minima, skip syntax, reference to rule + skill).
    • Two H3 stubs with placeholder text deliberately under 40 non-whitespace chars (_TODO: enumerate disciplines checked_ = 34 chars; _TODO: enumerate sweep performed_ = 30 chars). Placeholders do NOT bypass the gate — CI still fails until the author replaces them. They make the requirement visible at template load.
    • Inline instruction to DELETE both H3 stubs and replace with a single ### §1.7 Skipped: line if the PR does not touch any discipline-bearing file.

Why this PR doesn't need §1.7 sections in its own body

discipline-self-check paths-filter excludes .github/** — the gate does not fire on this PR. (The PR template is enforcement-layer infra, parallel to .husky/pre-push and .github/workflows/, not a discipline-bearing rule itself.) The new stubs will apply starting with the next PR opened after this one merges.

How to verify

  • CI green on HEAD — should NOT include discipline-self-check (paths-filter excludes .github/**)
  • After merge, open any new PR → template loads with §1.7 section visible
  • Discipline-touching PR: placeholders fail CI until replaced
  • Non-discipline PR: author replaces both H3 sections with single ### §1.7 Skipped: <≥60 chars> line → CI passes

The discipline-self-check CI gate (.github/workflows/discipline-self-check.yml)
fires on every `pull_request` event whose paths-filter matches one of:
- .claude/rules/**
- packages/core/principles/**
- docs/meta-factory/EXECUTION-PLAN.md
- docs/meta-factory/prior-art-evaluations.md
- CLAUDE.md
- templates/**/*.md, packages/core/templates/**

and requires PR body to carry either exact H3 sections `### §1.7 Forward-check
applied` + `### §1.7 Backward-check applied` (≥40 non-whitespace chars each) OR
a `### §1.7 Skipped: <reason ≥60 chars>` shortcut. The requirement was
documented only in .claude/rules/phase-research-coverage.md §1.7 and a kickoff
prompt — PR authors keep missing it on first attempt (kickoff:97 «Wave 2 PR #22
had to be fixed for this — do NOT repeat»; #32 fixed mid-flight as well).

Adds a §1.7 section to .github/pull_request_template.md with:
- HTML-comment block explaining the gate (paths-filter, char minima, skip syntax)
- Two H3 stubs with placeholder text deliberately under 40 non-whitespace chars
  (`_TODO: enumerate disciplines checked_` = 34 chars; `_TODO: enumerate sweep
  performed_` = 30 chars). CI still fails until author replaces — placeholders
  do NOT bypass the gate, only make the requirement visible at template load.
- Inline instructions to DELETE both H3 stubs and replace with a single
  `### §1.7 Skipped:` line if the PR does not touch any discipline-bearing file.

This PR's own body does NOT need §1.7 sections — discipline-self-check
paths-filter excludes `.github/**`, so the gate does not fire here.

Not a capability commit per CLAUDE.md: no new dep, no new ≥50 LOC under new
packages/core/<new-dir>/, no new ≥80 LOC under packages/. Template prose edit
only.

Prior-art: skipped — operator-side enforcement-layer template edit (parallel to .husky/pre-push pre-existing guidance), no new capability surface; reduces recurring §1.7 CI fail caught in PRs #22/#32 + kickoff:97 warning.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant