Skip to content

Focus organization feature intake on consumer needs and expected behavior #14

Description

Describe the change

Let people requesting a feature describe what they need, why it matters, and what should happen without choosing an implementation. The organization-owned .github/ISSUE_TEMPLATE/10-feature.yml currently asks for implementation suggestions and alternatives in its one required textarea. Keep this public feedback intake approachable while distributing the confirmed consumer-focused intent through the shared form, not through consumer-local copies.

The confirmed guidance applies to Epic and PBI expectations; technical Task and Bug decisions and execution plans remain intact. MSX issue guidance and issue planning remain the canonical links. MSXOrg/docs#228 and MSXOrg/docs#230 own the source update. The coordinator has supplied the frozen, review-ready source at 1c8f98cabe64b12aaa5fa9fb5f51b9d03f5de9de. Its consumer-expectations, native-routing, Task/Bug plan, and external-feedback correspondence are verified. MSXOrg/docs#230 is not merged: shipped form links use already-resolving canonical pages, not its unpublished new anchors.

Acceptance criteria

  • A requester is prompted for the goal or need, who benefits, motivation, and a short situation/action/expected-result example; implementation choices and literal Gherkin syntax are not required.
  • The form retains one required textarea with id description, the existing feature name and title, and exactly the existing feature and triage labels. It adds no native issue-type classification or new mandatory fields.
  • The form links the existing canonical issue and planning guidance instead of copying the full standard.
  • External feedback remains input for maintainers, with internal planning linked separately rather than silently converting every submission to an internal Task or rewriting a non-contributor's report.
  • Focused executable checks cover exact prompts, valid GitHub form structure, preserved intake routing, and the old implementation-first solicitation's removal. The desired prompt checks fail on the original form and pass after correction.
  • One separate draft PR closes this Task and records the actual source correspondence and any open readiness gates without merging or enabling auto-merge.

Constraints and non-goals

Only the feature form and directly necessary scoped regression evidence are in scope. Bug forms, technical delivery plans, the PR fallback and README work in MSXOrg/.github#8, validation implementation/configuration/guards in MSXOrg/.github#12, hooks, permissions, rulesets, live labels, community-file copying/removal, and release documentation remain separate. Do not claim the canonical candidate or downstream adoption has shipped.

Technical decisions

Keep the existing markdown introduction and one required textarea; several new required fields would raise the minimum submission burden without improving this slice. Replace only the introduction, textarea label, and description with plain en-US consumer prompts and two already-resolving canonical planning and native-routing links. Prompt for a failure or limit example only when it changes what the requester expects; do not require Gherkin or new mandatory fields. Explain that maintainers link internal planning separately; keep native classification absent and feature/triage routing unchanged.

Add one focused .github/tests/FeatureIntake.Tests.ps1 suite using the existing Pester 6.1.0 runner, exact assertions for this form's supported metadata/element structure, and the independent existing yamllint parser for YAML syntax. The shared runner supplies Pester but does not provision powershell-yaml; therefore the committed suite must not introduce that parser dependency or require a CI change. Follow the source repository's existing Pester conventions. Use the existing Pester runner and shared yamllint/PSScriptAnalyzer settings from immutable MSXOrg/.github#12 source only as local validation tools; do not import that PR's CI implementation or configuration into this branch. First commit passing structure/routing checks and open the early draft; then demonstrate the desired prompt failures locally before changing the form. Do not push known failing tests. Record commands/results and source/readiness evidence in this Task and PR rather than expanding repository documentation or adding a general lint framework.

Implementation plan

  • Add and run passing baseline GitHub form-structure, one-required-field, and routing assertions; commit the scoped suite and open a separate early draft PR.
  • Add exact consumer-need, motivation, scenario, canonical-link, and external-feedback assertions; confirm the original form fails for the intended prompt changes before editing it.
  • Replace the implementation-first feature prompts while preserving the existing metadata, single required textarea, and external-feedback routing; commit the coherent form change.
  • Define exact frozen-guidance checks for direct planning/native-routing links and conditional failure/limit examples; confirm the previously aligned form fails those checks before its scoped refresh.
  • Refresh only the feature introduction/description and scoped assertions to match the frozen guidance, preserving one required field and all existing intake routing.
  • Run the focused suite, YAML lint, PowerShell lint, scope checks, and current-head automated review; record each result and any missing hosted readiness gate without changing CI or governance.
  • Verify the frozen canonical source and anchors when supplied, reconcile the form and PR, and retain draft state for any unmet source or readiness prerequisite.

Final delivery evidence

Draft MSXOrg/.github#15 at 5edc236cf2bc365931483487a5a0d471b3779629 contains only the feature form and its scoped Pester suite. At that clean committed head, 12 tests pass with no failures, skips, or failed discovery containers; YAML lint and PowerShell lint pass; both current canonical page links resolve and render. The original form and wrong-native-type/quoted-required fixtures are rejected. The complete current-head Copilot review is COMMENTED with no inline/open code issues, and the review-thread API reports zero threads. Its full summary correctly retains the publication and hosted validation/enforcement gates.

Source correspondence is verified against frozen docs commit 1c8f98cabe64b12aaa5fa9fb5f51b9d03f5de9de; MSXOrg/docs#230 remains unmerged. The only completed check at this PR head is the Copilot reviewer, not Organization defaults validation; there are no commit statuses or required-status-check rules. Hosted validation remains separately tracked in #11/#12, and local hooks remain the #13 exception. This Task stays open until its reviewed PR is merged; the PR remains draft with no auto-merge, and no live governance or labels are changed.

Activity

  1. MariusStorhaug commented on Oct 31, 2026

    @MariusStorhaug
    MemberAuthor

    Baseline structure and routing checks pass on the original form (4 tests, 0 failures/skips), and separate draft MSXOrg/.github#15 is open. This creates early visibility without pushing known failing tests. Consumer-prompt assertions and the form correction remain next; canonical source/readiness evidence is still pending.

  2. MariusStorhaug commented on Oct 31, 2026

    @MariusStorhaug
    MemberAuthor

    Exact consumer-prompt assertions ran before the form changed: the original form passes all 4 structure/routing tests and fails the 7 desired-prompt tests, with no failed discovery containers or skipped tests. The existing runner returns exit 1 as required; PowerShell lint is clean. The test-first commit remains local until the form correction makes the full suite green.

  3. MariusStorhaug commented on Oct 31, 2026

    @MariusStorhaug
    MemberAuthor

    The existing validation workflow was checked before finalizing the suite: its runner provisions Pester only, not powershell-yaml. The test decision is narrowed to dependency-free, whole-form structure assertions plus the existing independent YAML linter. This avoids imposing a parser-installation change on the separate CI delivery while retaining exact prompt, metadata, routing, and rendered-link checks.

  4. MariusStorhaug commented on Oct 31, 2026

    @MariusStorhaug
    MemberAuthor

    The feature-intake prompt change and dependency-free regression evidence are committed and pushed at 1004e86180ec984992e77b1ff88a6e087274b9e7 in draft MSXOrg/.github#15. All 11 tests pass without powershell-yaml; the original form still gives 4 passes and 7 intended failures, and anonymous native-type and quoted-required fixtures are rejected by the whole-form assertion. YAML lint, PowerShell lint, and whitespace checks pass. Current-head automated review and canonical source/readiness correspondence remain in progress.

  5. MariusStorhaug commented on Oct 31, 2026

    @MariusStorhaug
    MemberAuthor

    The frozen MSXOrg/docs#228 handoff is verified at 1c8f98cabe64b12aaa5fa9fb5f51b9d03f5de9de. It permits equally clear plain-language scenarios and preserves external feedback, native routing, and technical Task/Bug plans. Final correspondence calls for a direct routing-page link and conditional failure/limit examples, so those narrow assertions will fail before refreshing the form. Both whole-page canonical URLs already resolve; no new main-branch anchor or completed source publication is claimed.

  6. MariusStorhaug commented on Oct 31, 2026

    @MariusStorhaug
    MemberAuthor

    The frozen-source correspondence checks ran before the final form refresh: 10 tests pass and exactly 2 fail for the missing direct native-routing link and conditional failure/limit example, with no discovery failures or skips. The initial current-head Copilot round at 1004e86180ec984992e77b1ff88a6e087274b9e7 has no inline/open code issues; its summary correctly keeps source/publication and hosted validation evidence distinct. The new test-first commit remains local until the form correction passes all 12 tests.

  7. MariusStorhaug commented on Oct 31, 2026

    @MariusStorhaug
    MemberAuthor

    The frozen-source refresh is committed and pushed at 5edc236cf2bc365931483487a5a0d471b3779629. All 12 tests and shared YAML/PowerShell lint pass. The form links already-resolving canonical Planning and Hierarchy pages without unpublished anchors and includes a conditional failure/limit example. Metadata, external feedback, and one required free-text field remain intact. Anonymous experiments also accept ordinary English 'when' and reject explicit Gherkin solicitation. The live PR is verified as an open, independent draft targeting main with no auto-merge; a fresh exact-head review remains next.

  8. MariusStorhaug commented on Oct 31, 2026

    @MariusStorhaug
    MemberAuthor

    Frozen source correspondence and the PR evidence are reconciled at 5edc236cf2bc365931483487a5a0d471b3779629 against docs source 1c8f98cabe64b12aaa5fa9fb5f51b9d03f5de9de. The form uses the existing current Planning and Hierarchy routes, with no unpublished new fragments. Consumer examples, external-feedback separation, preserved native routing, and technical Task/Bug plans correspond to the handoff. The draft remains open for source publication and hosted validation/enforcement readiness; the refreshed exact-head review is now requested.

  9. MariusStorhaug commented on Oct 31, 2026

    @MariusStorhaug
    MemberAuthor

    The refreshed exact-head Copilot round and complete summary are verified at 5edc236cf2bc365931483487a5a0d471b3779629: no inline/open code issues or unresolved threads. All 12 focused tests and local lint/scope checks pass. The plan is checked off with explicit remaining source-publication and hosted validation/enforcement evidence; the native Task remains open and the independent PR remains draft for human review and landing readiness.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions