Skip to content

chore(ci): add issue forms and the pull request template - #50

Merged
lucaosti merged 2 commits into
mainfrom
chore/6-issue-templates
Oct 22, 2026
Merged

lucaosti merged 2 commits into
mainfrom
chore/6-issue-templates

Conversation

@lucaosti

Copy link
Copy Markdown
Collaborator

What

  • .github/ISSUE_TEMPLATE/ contains:

    Form Sections
    feature.yml Context, Goal, Scope, Out of scope, Files and interfaces, Acceptance criteria, How to verify, Dependencies, Size dropdown
    bug.yml Observed, Expected, Reproduction, Environment
    research-experiment.yml Hypothesis, Setup, Metrics, Expected outcome and decision, Compute budget
    epic.yml Goal, Exit criteria, Sub-issues

    config.yml disables blank issues and links to CONTRIBUTING.md.

  • .github/pull_request_template.md: What, Why, Closes #, How verified, Eval before/after (required for retrieval changes), Reviewer notes, Checklist.

Why

M0-5 of the backlog, so that the issue template from spec section 9 is the default for every contributor.

Closes #6

How verified

  • All four forms validate against the GitHub issue-forms JSON schema, and config.yml validates against the issue-config schema (check-jsonschema).
  • GitHub only shows forms and the PR template from the default branch. The two remaining acceptance criteria get checked after the merge into main: the "New issue" page shows four forms, and a new PR is pre-filled.

Reviewer notes

Every pull request and every push to main runs four jobs:

- lint: ruff check and format;
- typecheck: mypy;
- import-contracts: import-linter;
- test: pytest with coverage, plus a markdown coverage summary.

The quality-gate job aggregates them and fails if any of them did not succeed. It is meant to be the only required status check.

Dependabot updates uv dependencies and GitHub Actions weekly on Mondays (Europe/Rome). Minor and patch updates are grouped, and major updates arrive as separate PRs.

Refs #4
The issue structure from spec section 9 becomes the default.

- Four issue forms:
  - feature/task;
  - bug;
  - research experiment;
  - epic.
- Blank issues are disabled.
- A PR template with What, Why, `Closes #`, How verified, the eval before/after block for retrieval changes, reviewer notes and a checklist.

Refs #6
@lucaosti

Copy link
Copy Markdown
Collaborator Author

Merged without an approving review by maintainer decision, to unblock contributors: this is the foundation chain everything else depends on. Verified locally on the combined chain (#1, #45, #46, #47, #49, #50 merged together, no conflicts): uv sync --locked, ruff check and format, mypy, import-linter (3 contracts kept), pytest with 100% coverage.

@lucaosti
lucaosti merged commit 961e7a7 into main Oct 22, 2026
5 checks passed
@lucaosti
lucaosti deleted the chore/6-issue-templates branch October 22, 2026 16:19
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.

Issue forms and PR template

1 participant