Skip to content

🩹 [Patch]: Feature requests start with consumer needs - #15

Open
Marius Storhaug (MariusStorhaug) wants to merge 6 commits into
mainfrom
feature-intake-alignment
Open

Marius Storhaug (MariusStorhaug) wants to merge 6 commits into
mainfrom
feature-intake-alignment

Conversation

@MariusStorhaug

@MariusStorhaug Marius Storhaug (MariusStorhaug) commented Oct 31, 2026 •

Copy link
Copy Markdown
Member

Feature requesters describe what they need, why it matters, and what they expect to happen without proposing an implementation or learning a special scenario format. The shared form keeps its existing feature identity, triage routing, and one required free-text field.

Changed: Consumer-focused feature intake

The description label becomes Describe the need. Prompts ask who benefits, the problem or opportunity, and a short situation/action/expected-result example. A failure or limit example is requested only when it changes the expected outcome. The form adds no native issue-type classification: maintainers link and route accepted internal work separately. Technical Task and Bug plans remain intact.

Adopting this release

This public defaults repository does not publish a versioned release. After the form change is merged, repositories using the organization-owned feature intake receive its prompts without adding consumer-local copies. No configuration, code, or invocation changes are required. Repositories with local forms retain local precedence; this PR does not copy, remove, or change them. The canonical guidance candidate is frozen but not yet merged or published.

Release impact

This is a backward-compatible, patch-level improvement to the feature-intake experience. No versioned release publisher applies, so no version is produced. No live labels, release configuration, permissions, or rulesets are changed.


Technical details

Consumer change record

Identifier / surface Before After Applicability / prerequisites Consumer action Verification
FEATURE-INTAKE / shared feature form One required Description field solicits implementation suggestions and alternatives. The same description field asks for need, motivation, and observable scenarios, with a conditional failure/limit example and canonical planning/routing links. Name, title, feature/triage labels, absent native type, and minimum submission burden are unchanged. Organization-owned intake after merge; local forms retain precedence. Source publication and hosted readiness gates remain open. No consumer edit or new form copy. 12 focused tests, YAML lint, rendered links, anonymous rejection/correction experiments, and complete current-head review.

Template baseline

The source-owned feature form and regression suite are at head 5edc236cf2bc365931483487a5a0d471b3779629, independently based on default-branch baseline 0c67251812ea306543f3a14ab473ae357cfb76ac. They do not import or retarget #8 or #12. No runtime integration template or producer version applies.

The coordinator-supplied frozen source is MSXOrg/docs#230 at 1c8f98cabe64b12aaa5fa9fb5f51b9d03f5de9de, delivering MSXOrg/docs#228. Its consumer-expectation rule, native routing, Task/Bug implementation plans, and Define external-feedback boundary were read and checked. Plain context/action/result examples and conditional boundary cases correspond to that source. The form does not force feedback into an aggregate or remove technical delivery planning.

Immutable new-anchor links are review evidence only. The shipped form links the already-resolving current planning and routing pages without unpublished fragments. Source correspondence is verified; source publication and completed adoption are not claimed.

Maintainer evidence

All seven plan steps in #14 are complete. The early draft opened after the first passing baseline commit, and six small commits separate baseline protection, test-first expectations, the form change, removal of an unnecessary parser dependency, and frozen-source correspondence. Only the feature form and focused suite change. The native Task remains open until its reviewed PR is merged.

The suite asserts this form's complete supported metadata/element shape and exact prompts; it is not a generic YAML parser. Existing yamllint independently parses/lints the changed YAML. Only the existing Pester dependency is used, not powershell-yaml, so no installation or CI change is imposed on #12. Unchanged local runner/lint snapshots from immutable source 66f252776c102a0b94ab6619f61b121b89f0b174 stay in session storage, not this branch. With $tools pointing to that scratch directory, these exact commands passed:

Command Result
pwsh -NoProfile -File (Join-Path -Path $tools -ChildPath 'Invoke-PesterSuite.ps1') -Path '.github\tests' -RequiredVersion 6.1.0 Passed at the clean committed head: 12 tests, 0 failures/skips/discovery failures, 1 suite.
Invoke-ScriptAnalyzer -Path '.github\tests\FeatureIntake.Tests.ps1' -Settings (Join-Path -Path $tools -ChildPath '.powershell-psscriptanalyzer.psd1') Passed: 0 diagnostics with PSScriptAnalyzer 1.25.0.
yamllint --strict --config-file (Join-Path -Path $tools -ChildPath '.yaml-lint.yml') '.github\ISSUE_TEMPLATE\10-feature.yml' Passed with yamllint 1.38.0.
git --no-pager diff --check origin/main...HEAD Passed; exactly two scoped surfaces and a clean working tree.

Before implementation, the original form passed 4 structure/routing tests and failed the 7 initial consumer-prompt tests. The final suite still rejects it with 4 passes and 8 intended failures. Frozen-source link/boundary assertions separately failed on the previously aligned form (10 passed, 2 failed) before correction. Anonymous native-type and quoted-required fixtures are rejected by the whole-form assertion; ordinary English when is accepted and explicit Gherkin solicitation is rejected. Both canonical links render as actual hyperlinks and their current pages resolve.

Content and local checks align with the standards below. Repository-wide enforcement is a known, separately tracked exception rather than an unqualified readiness pass:

Changed surface Standards checked Framework/domain documentation Result
Shared feature form YAML, Natural Language, Issue Planning, native hierarchy, Define feedback boundary GitHub form schema and frozen MSX source above Content fixed in this PR; enforcement exception: MSXOrg/.github#11, MSXOrg/.github#13.
Focused Pester suite PowerShell, Testing, Naming, Code Layout, Error Handling Existing Pester runner and Pester 6 assertions Local content aligned; enforcement exception: MSXOrg/.github#11, MSXOrg/.github#13.

The README, central contribution pointer, and agent routes still correctly describe this defaults repository and were verified without churn. No standard is duplicated. The scoped convergence sweep found no additional fully delivered issue: #10 is PR-fallback work, #11/#12 are hosted validation, and #13 is local hooks. Only #14 closes through this PR.

The explicitly requested final Copilot round covers exact head 5edc236cf2bc365931483487a5a0d471b3779629: COMMENTED, zero inline/open code issues, and zero review threads. Its complete summary correctly says maintainers must confirm source publication and validation/enforcement readiness before landing. This is a clean automated code-review round, not human approval or satisfied hosted-validation gates.

At that head the sole completed check is copilot-pull-request-reviewer; Organization defaults validation is absent, commit statuses are empty, and the live main ruleset has no required-status-check rule. MSXOrg/docs#230 remains unmerged. Hosted validation and its governance handoff remain #11/#12 work; local hooks remain the #13 exception. Keep this PR draft for source publication and hosted validation/enforcement readiness. Local passes or a successful Copilot check do not replace those gates. No merge or auto-merge is performed.

Relevant issues (or links)

Related work

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

Maintainer confirmation is needed because frozen canonical-source correspondence and completed hosted validation for the actual head remain unverified.

No open issues 🎉

What changed in this PR

Updates the shared organization feature-request form to focus on consumer needs, motivation, and expected behavior without asking requesters to propose an implementation.

Changes:

  • Replaces implementation and alternatives prompts while preserving feature identity, triage labels, and one required description field.
  • Links canonical issue and planning guidance and clarifies that maintainers handle internal planning separately.
  • Adds Pester regression checks for form structure, routing, prompts, and rendered guidance links.
File Description
.github/​tests/​FeatureIntake.Tests.ps1 Adds regression checks for preserved intake behavior and consumer-focused guidance.
.github/​ISSUE_TEMPLATE/​10-feature.yml Rewrites feature prompts around needs and expected outcomes, with canonical guidance links.

Review effort: Balanced

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

Canonical guidance remains unmerged and hosted organization-defaults validation is incomplete, so maintainers must confirm publication and validation/enforcement readiness before landing.

No open issues 🎉

Review effort: Balanced

@MariusStorhaug
Marius Storhaug (MariusStorhaug) marked this pull request as ready for review October 31, 2026 22:39
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.

Focus organization feature intake on consumer needs and expected behavior

2 participants