Skip to content

docs(templates): issue forms with a distinct compliance-question route, and a PR template that asks the right questions - #303

Merged
eaitbrahim merged 1 commit into
mainfrom
docs/issue-pr-templates
Aug 16, 2026
Merged

docs(templates): issue forms with a distinct compliance-question route, and a PR template that asks the right questions#303
eaitbrahim merged 1 commit into
mainfrom
docs/issue-pr-templates

Conversation

@eaitbrahim

Copy link
Copy Markdown
Contributor

Closes #285

Templates do two jobs: extract what triage needs, and state the project's standards at the
moment of submission.

Issue forms (.github/ISSUE_TEMPLATE/):

  • bug_report.yml — demands the three facts a report is useless without: keel --version
    output (stamps commit and build kind), paper-vs-live (they share nothing), and the rail or
    rule involved (the address of the behaviour). Security warning up top.
  • feature_request.yml — problem / proposal / alternatives considered (this project
    records rejected alternatives on purpose), plus a scope checkbox separating mechanism
    changes from classification changes.
  • compliance_question.yml — the distinct route the issue asks for: "should X be treated
    this way" is neither a bug nor a feature, and triaging it as either gets it the wrong
    resolution. Asks for the asset/mechanism, sources being weighed, and what outcome would
    resolve it — including "a change to a default classification (needs sources, discussed
    before any PR)".
  • config.yml — blank issues off; contact links route security to the private channel
    (../security/advisories/new + SECURITY.md note), questions to Discussions, and
    contributors to CONTRIBUTING.md.

PR template (.github/PULL_REQUEST_TEMPLATE.md): what & why, tests-first evidence
(paste the red run), the three gates as checkboxes, and the load-bearing scope check: a
checkbox that declares whether the PR touches a rail or a default classification — checked
means it does, and then source + discussion come before review.

Tests (tests/test_issue_templates.py, red first): forms parse as GitHub issue forms;
bug report carries version/mode/component fields; the compliance route exists and points at
attestation + source; config.yml routes to SECURITY.md; the PR template names the gates,
tests-first, and rail/classification.

Gates: pytest 2,807 passed / 1 skipped, ruff check clean, mypy clean.

…e, and a PR template that asks the right questions

Templates gather what triage needs and teach the standard at submit
time (#285): the bug form demands the stamped build identity, the
paper/live account, and the rail or rule; compliance_question.yml is a
route of its own so a ruling question is never triaged as a bug;
config.yml routes security to the private channel and questions to
Discussions; the PR template lists the gates, asks for tests-first
evidence, and carries the checkbox that makes a rail- or
classification-touching PR visible as such. tests/test_issue_templates.py
pins all of it.
@eaitbrahim
eaitbrahim merged commit 6b8ffbb into main Aug 16, 2026
2 checks passed
@eaitbrahim
eaitbrahim deleted the docs/issue-pr-templates branch August 16, 2026 23:40
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.

Add issue and PR templates, including a compliance-question route

1 participant