Skip to content

chore: add required measurable impact verification to issue and PR templates#35

Closed
venikman wants to merge 2 commits into
mainfrom
devin/1776107007-measurable-impact-templates
Closed

chore: add required measurable impact verification to issue and PR templates#35
venikman wants to merge 2 commits into
mainfrom
devin/1776107007-measurable-impact-templates

Conversation

@venikman
Copy link
Copy Markdown
Owner

@venikman venikman commented Apr 13, 2026

What

Adds a required "Measurable impact verification" field to all three issue templates (bug report, feature request, task) and adds a corresponding section to the PR template. Also fixes incorrect measurement commands in 4 existing open issues (#2, #4, #5, #15).

Why

Every issue and PR should have quantifiable, verifiable impact metrics — no vague criteria like "works better" or "improved". This enforces a before/after table with concrete metrics and runnable measurement commands.

Type

  • feat — new capability
  • fix — bug fix
  • refactor — code restructuring
  • docs — documentation only
  • chore — maintenance (deps, CI, cleanup)

Changes

  • bug_report.yml: Added required Measurable impact verification textarea with before/after table placeholder
  • feature_request.yml: Added required Measurable impact verification textarea with before/after table placeholder
  • task.yml: Added required Measurable impact verification textarea (placed before Agent-delegable dropdown)
  • pull_request_template.md: Added Measurable impact verification section between Changes and Validation

Issue body fixes (via gh issue edit):

Measurable impact verification

Metric Before After (target) How to measure
Issue templates with required impact field 0/3 3/3 grep -c 'required: true' .github/ISSUE_TEMPLATE/*.yml (impact fields only)
PR template has impact section No Yes grep -c 'Measurable impact verification' .github/pull_request_template.md
Issue #4 hard-coded ID grep returns correct Before value 0 (wrong) 6 (correct) grep -Ec "'C\.[0-9]|'A\.[0-9]|'B\.[0-9]|'F\.[0-9]" src/runtime/query-engine.ts
Issue #5 relationGraph grep returns correct Before value 0 (wrong) 1 (correct) grep -c 'for.*of.*\.relationGraph' src/runtime/query-engine.ts

Validation

  • bun run lint passes locally
  • bun run check passes locally
  • bun run test passes locally
  • No new warnings introduced
  • bun run build succeeds (if runtime/server code touched)
  • bun run docs:build succeeds (if docs touched)
  • Relevant docs updated (README, docs/, inline JSDoc if applicable)

Boundary check

  • Runtime source set is FPF-spec.md only — no additional corpora added
  • No vector database or remote indexing introduced
  • No Python code added
  • MCP tool contracts stay in src/mcp/tool-contracts.ts

Agent metadata

Field Value
Agent Devin
Session https://app.devin.ai/sessions/f9b77396c94f4a03971ac0c8cbe5f8b7
Prompt Update issue templates with required measurable impact verification; fix incorrect measurement commands in open issues

Requested by: @venikman


Open with Devin

Summary by CodeRabbit

  • Chores

    • Added required "Measurable impact verification" sections to contribution templates, requiring contributors to include quantifiable before/after metrics and how to measure them for bug reports, feature requests, tasks, and pull requests.
  • Documentation

    • Standardized instructions and example table to guide submission of measurable impact details.

…mplates

Co-Authored-By: Stanislau <nedbailov375426@gmail.com>
Copilot AI review requested due to automatic review settings April 13, 2026 19:08
@devin-ai-integration
Copy link
Copy Markdown
Contributor

Original prompt from Stanislau

how our issues doing?

@devin-ai-integration
Copy link
Copy Markdown
Contributor

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 13, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: d3c50b3c-ed71-4a19-a1da-db8f0a47fbae

📥 Commits

Reviewing files that changed from the base of the PR and between 6216f3e and adbd24e.

📒 Files selected for processing (1)
  • .github/ISSUE_TEMPLATE/feature_request.yml
✅ Files skipped from review due to trivial changes (1)
  • .github/ISSUE_TEMPLATE/feature_request.yml

📝 Walkthrough

Walkthrough

Four GitHub template files were updated to add a required "Measurable impact verification" field/section prompting contributors to provide quantifiable before/after metrics and explicit measurement instructions for bug reports, feature requests, tasks, and pull requests.

Changes

Cohort / File(s) Summary
GitHub Issue Templates
.github/ISSUE_TEMPLATE/bug_report.yml, .github/ISSUE_TEMPLATE/feature_request.yml, .github/ISSUE_TEMPLATE/task.yml
Added a required textarea field (id: impact) titled "Measurable impact verification" that requires a metrics table with "Before", "After (target)", and "How to measure" entries; submission validation enforced.
Pull Request Template
.github/pull_request_template.md
Inserted a required "Measurable impact verification" section (instructions + standardized table) immediately before the existing Validation checklist.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Poem

🐰 I hop through templates, pen in paw,
I ask for numbers, clear and raw,
"Before" and "After," targets bright,
Measure steps by day and night,
Metrics dance — a changelog's delight. 📊✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding required measurable impact verification fields to issue and PR templates.
Description check ✅ Passed The description comprehensively covers all required sections: What, Why, Type (chore selected), Changes, Validation checklist, Boundary check, and Agent metadata with specific details.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch devin/1776107007-measurable-impact-templates

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a required “Measurable impact verification” section/field to GitHub PR and issue templates so changes are accompanied by quantifiable before/after metrics and runnable measurement commands.

Changes:

  • Add a “Measurable impact verification” section to the PR template.
  • Add a required “Measurable impact verification” textarea to all three issue templates (bug/feature/task).

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
.github/pull_request_template.md Adds a required impact-metrics section with a before/after measurement table.
.github/ISSUE_TEMPLATE/task.yml Adds a required impact verification textarea with a metrics table placeholder.
.github/ISSUE_TEMPLATE/feature_request.yml Adds a required impact verification textarea with a metrics table placeholder.
.github/ISSUE_TEMPLATE/bug_report.yml Adds a required impact verification textarea with a metrics table placeholder (broken vs target).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +54 to +55
| New MCP tools available | 0 | 2 | `grep -c createTool src/mcp/tools.ts` |
| Test coverage for feature | 0 tests | ≥5 tests | `bun run test` |
Copy link

Copilot AI Apr 13, 2026

Choose a reason for hiding this comment

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

The placeholder example “New MCP tools available | 0 | 2 | grep -c createTool src/mcp/tools.ts” is internally inconsistent: grep -c createTool measures total createTool calls (currently non-zero), not “new tools”, so the suggested Before/After values won’t match the measurement command. Consider making the example metric match the command (e.g., total tool count), or change the command to count specific new tool IDs via grep -Ec on those IDs.

Suggested change
| New MCP tools available | 0 | 2 | `grep -c createTool src/mcp/tools.ts` |
| Test coverage for feature | 0 tests | ≥5 tests | `bun run test` |
| Total MCP tool definitions in `src/mcp/tools.ts` | current count | current count + 2 | `grep -c createTool src/mcp/tools.ts` |
| Feature test cases added | 0 | ≥5 | `grep -Ec '\b(it|test)\(' path/to/feature.test.ts` |

Copilot uses AI. Check for mistakes.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Good catch — the placeholder example was inconsistent: grep -c createTool counts total definitions, not "new" ones. Fixed: now shows Total MCP tool definitions | 10 | 12 which matches the measurement command, and the second example uses a targeted grep -Ec for test cases.

…lot review

Co-Authored-By: Stanislau <nedbailov375426@gmail.com>
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a mandatory 'Measurable impact verification' section across the bug report, feature request, and task issue templates, as well as the pull request template. This section requires users to provide quantifiable metrics in a table format to verify the impact of their changes. A review comment suggested updating a file path in the feature request example to maintain consistency with the project's established directory structure.

placeholder: |
| Metric | Before | After (target) | How to measure |
|--------|--------|----------------|----------------|
| Total MCP tool definitions | 10 | 12 | `grep -c createTool src/mcp/tools.ts` |
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The example command references src/mcp/tools.ts, but the project's boundary checks (as defined in the PR template, line 45) specify that MCP tool contracts should reside in src/mcp/tool-contracts.ts. Updating the example to use the correct file path maintains consistency with the project's established structure.

        | New MCP tools available | 0 | 2 | `grep -c createTool src/mcp/tool-contracts.ts` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is a false positive. The boundary check says "MCP tool contracts stay in src/mcp/tool-contracts.ts" — meaning Zod input/output schemas. The actual createTool calls live in src/mcp/tools.ts:

$ grep -c createTool src/mcp/tools.ts
10
$ grep -c createTool src/mcp/tool-contracts.ts
0

The example correctly references tools.ts for counting tool definitions.

@venikman
Copy link
Copy Markdown
Owner Author

Code Review

Overview

Adds a required Measurable impact verification textarea to the three issue templates (bug, feature, task) and a corresponding section to the PR template. Each asks for a before/after metric table with a reproducible measurement command.

Strengths

  • Consistent label across all four surfacesMeasurable impact verification everywhere. Easier to grep, easier to automate checks on.
  • Tighter placeholders than chore: add measurable impact verification to PR and issue templates #34 — 2 concrete example rows instead of 1, and each issue template has domain-appropriate examples (error rate for bugs, tool counts for features, LOC for tasks).
  • Explicit "no vague criteria" guardrail in the description text — directly names the failure mode this is trying to prevent.
  • required: true on all three issue form fields — authors can't skip it in the GitHub UI.

Issues

Supersedes #34

#34 is the earlier rev of the same change. Close #34 when this merges.

PR template is honor-system

The PR template (markdown, not yaml form) can't enforce required. Anyone can leave the table empty. Options to consider as a follow-up:

  • A GitHub Action that checks the PR body for an unfilled placeholder (looks for literal <!-- e.g. --> or empty | | | | | rows) and comments/fails
  • A PR label like needs-impact-metric that reviewers apply manually

Friction on trivial PRs

Same concern as noted in my #34 review: typo fixes, docs-only changes, and pure chores don't have meaningful before/after metrics. Consider:

  • An opt-out line: _This PR is trivial (typo/docs/format); no measurable impact._ — treated as a valid completion
  • Or a PR-template variant for chore: commits that skips the section

Table shape is a bit heavy

4 columns per row (Metric / Before / After / How to measure) is correct but a single metric can end up wrapping oddly in narrow GitHub displays. Not a blocker.

Example metric choices are good

39/39 for test pass rate, LOC in target file: 1614 → ≤400 for tasks, Total MCP tool definitions for features — these anchor reviewers in the right pattern.

Bootstrap question

Does this PR itself include a measurable-impact table in the body? (I didn't see one in gh pr view.) If the policy is retroactive starting with the next PR, call that out; if it applies to this PR too, add a row like Issue/PR templates with impact field: 0 → 4.

Recommendation

Approve, close #34 as superseded, and follow up with the CI enforcement so the PR-template field isn't purely honor-system. The quality of the rollout (consistent labels, tight examples, explicit guardrail) is noticeably better than #34.

@devin-ai-integration
Copy link
Copy Markdown
Contributor

Thanks for the review. A few notes:

All bot review comments (Copilot, Gemini) were already addressed in earlier commits. CI green (2/2). This looks merge-ready to me — shall I merge it?

@devin-ai-integration
Copy link
Copy Markdown
Contributor

Closing — PR #34 (earlier version with similar changes) was already closed without merging. Cleaning up as part of repo housekeeping.

1 similar comment
@devin-ai-integration
Copy link
Copy Markdown
Contributor

Closing — PR #34 (earlier version with similar changes) was already closed without merging. Cleaning up as part of repo housekeeping.

@venikman venikman closed this Apr 14, 2026
@venikman venikman deleted the devin/1776107007-measurable-impact-templates branch May 9, 2026 10:59
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