Skip to content

build: track work as labelled issues, and check each PR's labels, milestone, branch and issue link - #69

Open
CaffeinatedCoder wants to merge 2 commits into
release/2.3.0from
build/pr-hygiene
Open

CaffeinatedCoder wants to merge 2 commits into
release/2.3.0from
build/pr-hygiene

Conversation

@CaffeinatedCoder

Copy link
Copy Markdown
Owner

Closes #68

Problem

The repository tracked no work as issues: 66 pull requests, no issue, no milestone, and no labels of its own. What was open, what a pull request was for and which release it belonged to could only be read from files and branch names.

Change

CodoMetis.ValueRanges' scheme, fitted to decisions 92 and 94 (decision 109):

  • .github/ISSUE_TEMPLATE/: Bug (silent or loud, package, version), Enhancement (does it break anything?), Epic, and config.yml (blank issues off, security reports go to the advisory form).
  • .github/pull_request_template.md: Closes #, Problem, Change, Tests.
  • Labels, already on the repository: tests, chore, epic, breaking, silent, found-by/prober, stacked, severity/* ×4, package/* ×7, area/* ×7.
  • .github/workflows/pr-hygiene.yml runs tools/PrHygiene (new tool project, BCL only, in the solution and AgentTools.slnf) on the event payload. Like ValueRanges' check it fails a missing type label, a bug without exactly one severity, or no closing reference. It also fails a branch whose <type>/ disagrees with its type label, a PR into release/<v> (or release/<v> into main) without the milestone <v>, silent on anything but a bug, and breaking into anything but a major. Dependabot is skipped. No token, nothing of the PR's code run.
  • CONTRIBUTING: an "Issues and labels" section with the legend, and the epic and milestone in the release steps. AGENTS.md: an Issues section and the tool's command line.
  • The roadmap stays in design/roadmap.md, so there is no roadmap issue or label. A release epic links its section instead, as Epic: 2.3.0 #67 does.

Tests

  • test/CodoMetis.TypeKit.PrHygiene.Tests: 41 cases run the built tool on payloads, covering a pass and a fail for every rule, each closing keyword, Dependabot, usage errors, and a stale build (exit 3).
  • Each rule was proved by deleting it from the tool: 12 seeds (each problems.Add, the \b before the keywords, the release-head fallback, the Dependabot skip, a branch-to-label mapping), and the tests caught every one.
  • Full suite locally: 18,211 passed, 471 skipped (as before). Conventions: 1,510 passed (decision index, links, session-start filter, CI without AI, no scripts).
  • This PR is the check's first live run.

🤖 Generated with Claude Code

…abels, milestone, branch and issue link

The repository had 66 pull requests and no issue, milestone or label of its own. It adopts
CodoMetis.ValueRanges' scheme (decision 109):

- issue forms for a bug, an enhancement and an epic, with blank issues off and security reports sent
  to the private advisory form; a pull request template (Closes #n, Problem, Change, Tests);
- labels: one type, a severity on a bug, package/* and area/*, silent, breaking, found-by/prober,
  stacked, epic. The legend is in CONTRIBUTING's "Issues and labels", and AGENTS.md has an Issues section;
- a release is an epic with a milestone of its version; the roadmap stays in design/roadmap.md.

pr-hygiene.yml runs tools/PrHygiene on the event payload of every pull request into main or a release
branch. ValueRanges' check is a bash script; under decision 92 this one is a tool project, BCL only,
with its tests. Besides ValueRanges' rules (one type label, a severity on a bug, a closing reference),
it holds decision 94's branch naming against the type label, the release's milestone, silent only on
a bug, and breaking only into a major. Each rule was proved by deleting it from the tool: 12 seeds,
each caught by the 41 tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@CaffeinatedCoder CaffeinatedCoder added this to the 2.3.0 milestone Oct 18, 2026
@CaffeinatedCoder CaffeinatedCoder added chore Build, CI, tooling, packaging, refactoring with no behaviour change area/release Versioning, changelogs, packaging and release wiring area/tooling The repository's tools: prober, verdict, guard, docs-query, smoke test labels Oct 18, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/release Versioning, changelogs, packaging and release wiring area/tooling The repository's tools: prober, verdict, guard, docs-query, smoke test chore Build, CI, tooling, packaging, refactoring with no behaviour change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant