feat: entry templates — the pipeline's doors made mechanical #26
No reviewers
Labels
No labels
attention
blocked
blocker:ci-red
blocker:conflict
blocker:drill-pending
blocker:unrequested
bug
claimed
documentation
enhancement
epic
merge-next
needs-ruling
needs-triage
offsite
post-merge
ready
release
scope:docs
scope:guards
scope:labels
scope:release-flow
stale
state:addressing
state:bots-reviewing
state:building
state:needs-human
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: heavy-duty/ceremony#26
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/entry-templates"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #24
Four pieces under
.github/, exactly as specced: the new-issue interception (config.yml), the work-order issue form, the PR template, and light discussion forms for Ideas and Q&A.Acceptance criteria
blank_issues_enabled: false+ exactly one form + one contact link is the documented native behavior that produces this.)Context, Spec, Tasks, Acceptance criteria, Test plan, Dependencies, in contract order.)labels:key anywhere under.github/.)Changelog
CHANGELOG.mdexists yet — it arrives with the dogfooding wiring (#11, after #2). Behavior change stated here instead: the repo's new-issue door now intercepts to Discussions, and issue/PR/discussion composition is scaffolded by templates.Round log
Round 0 (pre-review verification). GitHub parses
.github/templates from the default branch only — GraphQL (isBlankIssuesEnabled,issueTemplates,contactLinks) confirmsmainshows none of this yet, so the spec's UI click-tests and screenshots are only possible post-merge; noted on #24. Verified pre-merge instead:name/description/bodykeys and only valid block types — the same validation GitHub applies at render.config.yml:blank_issues_enabled: false, exactly one contact link, pointing at this repo's Discussions.ideasandq-aexist on the repo (GraphQL), matching theDISCUSSION_TEMPLATE/filenames — the binding GitHub requires.labels:key in any template (grep).gh issue create --body-filebypassing forms remains available (documented GitHub behavior; the form's own description says so for the triage identity).Post-merge residue: one glance at "New issue" to confirm the chooser, and the scratch-discussion smoke from the test plan.
Round 1. Panel converged on head
516f6d7— grok, codex, kimi all approve, zero blocking points, no in-round pushes. Handed off: summary posted, @danmt requested,state:needs-humanset. Residue for post-merge: the New-issue click-test and scratch Ideas discussion.Verdict: Approve — I agree with this as-is.
First review of tip
516f6d7. Closes #24’s four pieces under.github/.What holds
config.yml:blank_issues_enabled: false+ one Discussions contact link — interception by construction (UI only live on default branch post-merge; noted honestly).work-order.yml: section labels match TRIAGE.md contract headings verbatim and in order — Context, Spec, Tasks, Acceptance criteria, Test plan, Dependencies. Descriptions quote the contract bar. Nolabels:anywhere (triage owns labels; #18 sweep stays meaningful).Nits
No blockers.
Verdict: I agree with everything and have no additional feedback.
Verified head
516f6d7against #24: all four YAML templates parse, the work-order headings match TRIAGE.md verbatim and in order, blank issues are disabled with one Discussions link, the PR template is 20 lines, and no template applies labels. GitHub currently reports no check runs or status contexts for this head; I found no blocking defect in the complete diff.Verdict: Approve.
Reviewed the whole PR at head
516f6d7against #24. The five files implement the four specified surfaces:config.ymldisables contributor blank issues and provides the sole Discussions contact link; the work-order form exposesContext,Spec,Tasks,Acceptance criteria,Test plan, andDependenciesverbatim and in order; the PR template is 20 lines; and neither issue nor discussion templates declarelabels:. The two discussion forms bind to the existing category slugs and keep every prompt optional.Verification:
git diff --check; parsed every added YAML file with PyYAML; asserted the work-order heading order and required textarea fields; asserted the chooser configuration, discussion non-Markdown fields, and optional validations; counted the PR template; searched.github/for label keys. GitHub documents that category forms are read from the default branch and named for category slugs, so the acknowledged post-merge UI smoke is legitimate rather than an implementation gap.No blockers.
Verdict: Approve — head
516f6d7.First review this round; verified mechanically against #24 rather than eyeballing:
yaml.safe_loadon each — OK).Context, Spec, Tasks, Acceptance criteria, Test plan, Dependencies— verbatim the list #24's spec enumerates, and the same sequence as TRIAGE.md's contract (the #18 parser keys on these).labels:key anywhere under.github/(grep) — decision 2 holds; queue labels stay triage's explicit act.Closes #, verbatim-criteria instruction, changelog discipline, round log — #24 section 3.config.yml:blank_issues_enabled: false+ exactly one contact link pointing at the repo's Discussions — matches the spec block verbatim.required: falsethroughout — decision 4 (light on purpose) holds.The one acceptance criterion not provable from a branch (the New-issue click-test) is impossible by construction pre-merge — GitHub parses
.github/templates from the default branch only — and the PR round log says so honestly instead of claiming a screenshot.blank_issues_enabled: false+ one form + one contact link is the documented native configuration that produces the specced UI.No blockers.
Round 1 summary — panel converged, handing off
Head under review:
516f6d7(unchanged since the review requests went out — every verdict is of the current head).Verdicts: grok-bot approve, codex-bot approve, kimi-bot approve. Zero blocking points; grok's sole nit ("post-merge click-test is the only remaining UI proof") is the residue already recorded in the round log, not an action.
What the panel verified, independently and mechanically: all four YAMLs parse; work-order headings equal TRIAGE.md's contract verbatim and in order;
blank_issues_enabled: falsewith exactly one Discussions contact link; PR template 20 lines; nolabels:key anywhere; discussion forms optional-only and bound to existing category slugs.Nothing changed in-round — no pushes were needed, so approvals stand on the head they were given for.
For the merger: templates go live only on the default branch, so the two-minute post-merge check is: click "New issue" (expect the Discussions link first, one form, no blank option) and open a scratch Ideas discussion, per #24's test plan.
@danmt — this could be merged right now: whole panel approved the current head, no blockers standing. Requesting your review and setting
state:needs-human.