Skip to content

docs: disclose how a contribution was produced, and what to check before opening it - #399

Merged
u5surf merged 1 commit into
vozlt:masterfrom
u5surf:feat/github-templates
Sep 12, 2026
Merged

u5surf merged 1 commit into
vozlt:masterfrom
u5surf:feat/github-templates

Conversation

@u5surf

@u5surf u5surf commented Sep 12, 2026

Copy link
Copy Markdown
Collaborator

What this changes

Adds a pull request template, which the repository did not have, and adds an
assistance disclosure to the three issue forms.

Contributions increasingly come with a model somewhere in the loop, and how a
change was produced affects the review it needs — a patch someone wrote by hand
and a patch a model generated want different kinds of attention, even when both
are correct. Rather than guess, ask. This follows what
caddyserver/caddy does: a required
dropdown on every issue form, and a disclosure section in the pull request
template with room to say how far the tooling went. Disclosure is explicitly
not held against a contribution; the point is to review it properly.

Since there was no pull request template at all, it also carries a checklist of
the things this module has actually been broken by, rather than generic advice:

blank_issues_enabled: false is added so the forms are the way in.

Two deliberate differences from caddy's templates:

  • caddy has consolidated to a single issue form. The three forms here ask for
    nginx -V output and a reproducing nginx.conf, which are worth keeping, so
    they are left as they are and only gain the disclosure.
  • caddy puts an empty first entry in the dropdown to force an explicit choice.
    That is omitted here: with no default, a required dropdown starts
    unselected anyway, and an empty option string is a needless risk of the form
    failing to render.

How it was verified

The three issue forms and config.yml were parsed and checked to confirm the
disclosure is present and required in each:

bug_report.yaml:       options=["AI used", "AI not used"] required=true default=nil
feature_request.yaml:  options=["AI used", "AI not used"] required=true default=nil
submit_question.yaml:  options=["AI used", "AI not used"] required=true default=nil
config.yml: {"blank_issues_enabled"=>false}

GitHub validates issue forms when they reach the default branch, so the forms
are worth a look on the preview before merging. No code changes, so the build
and the test suite are untouched.

Checklist

Nothing here touches the module source, so the build, dump format, nginx
version and format macro items do not apply.

  • README.md and CHANGELOG.md are updated if the change is visible to
    users — not applicable; this changes the contribution forms, not the
    module.

Assistance Disclosure

AI used. I asked Claude to look at caddyserver/caddy's templates and adapt them
for this repository; it drafted the files and checked the YAML, and I reviewed
the result and chose what to keep from caddy and what to leave alone. The
checklist items come from problems found in this repository over the last few
weeks.

…pening it

Contributions increasingly come with a model somewhere in the loop, and the
review that a change needs depends on how it was produced. Ask for that, the
way caddyserver/caddy does: a required dropdown on every issue form and a
disclosure section in a pull request template, with room to say how far the
tooling went. Disclosing is not held against the contribution.

There was no pull request template at all, so it also carries the checks that
this module has actually been broken by before: the build without the HTTP
cache, the dump format version that a changed node layout has to bump, the
nginx version a newly used field first appeared in, and the argument list of a
format macro, which ngx_sprintf() cannot check.

Blank issues are turned off so that the forms are the way in.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The required dropdowns default to “AI used,” so untouched forms can misreport assistance.

Warning

  • Copilot's review of this pull request may be incomplete because some of the changed files are excluded by your Copilot content exclusion settings. See Excluding content from Copilot for details.
Pull request overview

Adds contributor guidance and AI-assistance disclosure fields to pull requests and issue forms.

Changes:

  • Adds a project-specific pull request template.
  • Adds disclosure dropdowns to three issue forms.
  • Updates issue intake configuration.
File summaries
File Description
.github/pull_request_template.md Adds PR guidance, checklists, and disclosure prompts.
.github/ISSUE_TEMPLATE/submit_question.yaml Adds an assistance disclosure field.
.github/ISSUE_TEMPLATE/feature_request.yaml Adds an assistance disclosure field.
.github/ISSUE_TEMPLATE/bug_report.yaml Adds an assistance disclosure field.
Review details

Files excluded by content exclusion policy (1)

  • .github/ISSUE_TEMPLATE/config.yml

Suppressed comments (3)

.github/ISSUE_TEMPLATE/bug_report.yaml:68

  • With no default, GitHub preselects the first dropdown option, so required: true does not force an explicit choice here: a submitter who leaves the form untouched is recorded as AI used. Put a neutral placeholder first and instruct users to choose, or use a required free-text mechanism if the disclosure must be an intentional selection; otherwise this field can misreport assistance. GitHub issue forms cannot enforce that a placeholder is not submitted, so the exact replacement is a design choice.
      options:
        - AI used
        - AI not used

.github/ISSUE_TEMPLATE/feature_request.yaml:53

  • With no default, GitHub preselects the first dropdown option, so required: true does not force an explicit choice here: a submitter who leaves the form untouched is recorded as AI used. Put a neutral placeholder first and instruct users to choose, or use a required free-text mechanism if the disclosure must be an intentional selection; otherwise this field can misreport assistance. GitHub issue forms cannot enforce that a placeholder is not submitted, so the exact replacement is a design choice.
      options:
        - AI used
        - AI not used

.github/ISSUE_TEMPLATE/submit_question.yaml:46

  • With no default, GitHub preselects the first dropdown option, so required: true does not force an explicit choice here: a submitter who leaves the form untouched is recorded as AI used. Put a neutral placeholder first and instruct users to choose, or use a required free-text mechanism if the disclosure must be an intentional selection; otherwise this field can misreport assistance. GitHub issue forms cannot enforce that a placeholder is not submitted, so the exact replacement is a design choice.
      options:
        - AI used
        - AI not used
  • Files reviewed: 5/5 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@u5surf
u5surf merged commit f24b290 into vozlt:master Sep 12, 2026
7 checks passed
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.

2 participants