Skip to content

Enforce a real PR validation gate for PSModule community-default changes #83

Closed as not planned
2 of 2 issues completed
Closed as not planned

Description

Describe the change

Delivery decision - 2026-11-03

The current PSModule/.github linter/validator delivery is withdrawn, not delivered. The user stated: "I dont want any linter or such in the .github repo. That doesnt seem valuable, and i want to skip aligning to the pre-commit standard just yet."

Repository-code PSModule/.github#84 and its unmerged PSModule/.github#86 no longer have an active validation implementation mandate. Stop maintenance of the proposed Markdown validator, tests and pre-commit setup, and do not replace them with another linter or framework. Pre-commit alignment is deferred for this repository's current work. This is not a change to organization-wide standards, MSXOrg/.github or other repositories.

The previous validation/enforcement acceptance criteria, implementation plan, successful branch experiments and existing readiness artifact are superseded historical context; they do not establish delivered acceptance or aggregate completion. Preserve native containment/dependencies and keep the PBI, its Tasks and PR86 open pending the coordinator's disposition with the user. This record does not close work as complete, alter labels or PR draft state, or authorize code changes.

At this read, repository rule 26275706 still requires exact Community file validation from app 15368 on main. That governance dependency is separately owned in PSModule/.github#85, whose rule/audit must not be changed by this code session. It may still block independent PRs #82 and #89. Do not copy a workflow into their branches or weaken protections as a workaround; the coordinator is resolving any separately authorized governance action with the user.

Native Agent merge for PR86 is paused (enabled: false, merge_pr: false), GitHub auto-merge is null, and the source head remains 26463d1ea1dac50773156abe9c490a574c1985c6. No in-flight validator implementation needs cancellation. No closure, removal, replacement tooling, merge, automation or protection mutation is performed by this decision record.

Historical aggregate proposal

The original body below is preserved as the earlier proposal, not current delivery instructions or evidence of completion. The previous missing-rule baseline describes the original investigation; it is not the current effective rule state.

Superseded validation/enforcement proposal

Context and request

Community-default PRs need a real, required validation gate before they can meet the shared ready-for-review contract. PSModule/.github#82 has one successful Copilot review check on its pushed head, but no file-validation pipeline or required validation result. The applied organization GitHub Flow ruleset declares no required-status-check rule. Local validation and an explicitly requested automated review do not establish an enforced CI gate.

Deliver a separately authorized validation/enforcement fix for this repository. This follow-up records a discovered governance prerequisite; it is not permission to change workflows, rulesets, access, or organization settings during the scaffold delivery.

Acceptance criteria

  • PRs that change inherited community files, including .github/pull_request_template.md and .github/CONTRIBUTING.md, produce an identifiable, completed validation result on the actual candidate head before review readiness.
  • The protected target requires the exact validation result; a failed, pending, stale, or absent result cannot satisfy the gate.
  • Draft PRs receive the intended validation. A manually dispatched or unrelated check is not accepted as a substitute for the PR event and affected paths.
  • An independent maintainer can verify both workflow execution and the applied protection rule without waiving the shared readiness contract.
  • No release publisher, consumer fleet, marketplace, or community policy behavior changes as a side effect.

Constraints and non-goals

Do not fold this independent governance change into the two-file scaffold PR. Changes to permissions or rulesets require separate authorization. No auto-merge, merge, release publication, tag movement, or label removal is authorized by this issue.


Technical decisions

Evidence: the live repository workflow list contains only dynamic Dependabot and Copilot review workflows; the checkout has no .github/workflows, test suite, dependency manifest, or lint configuration. The applied main rules from ruleset 19735208 include deletion, linear history, PR/conversation resolution, non-fast-forward, and Copilot-review rules, but no required_status_checks rule. Explicit Copilot review was requested for the scaffold draft; that does not configure required validation.

The governing contracts are Definition of Ready for Review and Required checks and auto-merge. Choose the minimal approved validation route and exact required check name during refinement, before implementing or authorizing enforcement. Reuse applicable shared validation rather than introducing an independent release resolver or treating a successful review as file validation.


Implementation plan

Deliver this bounded outcome through native sub-issues: one repository-code Task supplies the named read-only PR-event validation, and one separately authorized operational Task requires and independently verifies that exact result on the protected target. The native sub-issue inventory is the delivery plan and progress source; this aggregate has no direct implementation PR or inline delivery checklist.

The approved validation route measures Markdown syntax/style with the shared MSX rules. It does not certify the revised scaffold's authoring completeness, execute an unmerged source action, or authorize live governance changes. Code/fixture evidence, the unchanged legacy base scaffold, and the independent scaffold PR's later current-head run remain distinct.

Register the real named check on the code draft first so the governance owner can activate the separately approved repository-scoped requirement before readiness or merge. Do not require code-leaf closure before that activation: closure requires merge and would deadlock the readiness gate. After normal code integration, the scaffold owner refreshes its independent PR and obtains its own real PR-event result. Existing native blockers remain intact.

Close this PBI only after every required native child is complete and the aggregate acceptance criteria above are independently verified. Merely creating issues, publishing an advisory check, or passing local fixtures is not completion.

Activity

  1. MariusStorhaug commented on Oct 31, 2026

    @MariusStorhaug
    MemberAuthor

    The explicit review completed on e7f3df0 and produced one successful copilot-pull-request-reviewer check. The current body now distinguishes that review check from the still-missing file-validation pipeline and required-status-check enforcement. No validation status contexts or required-status-check rule appeared; the native readiness dependency remains open.

  2. MariusStorhaug commented on Oct 31, 2026

    @MariusStorhaug
    MemberAuthor

    Promoted the existing Task to PBI because the unchanged outcome needs independently deliverable repository validation and separately authorized operational enforcement. The two native Task children carry those slices; no duplicate umbrella, closing code PR for the whole outcome, or false code-merge/enforcement dependency cycle was introduced. The user approved shared markdownlint-cli2 file validation with the stable Community file validation check. Organization ruleset 19735208, access, PR 82, and the existing scaffold-readiness blocker remain unchanged. Live enforcement still needs exact separate authorization and independent verification.

  3. MariusStorhaug commented on Nov 3, 2026

    @MariusStorhaug
    MemberAuthor

    The user withdrew the proposed linter/validator delivery for this current PSModule/.github work and deferred pre-commit alignment. The PBI body now makes that the current decision and preserves prior criteria as superseded history, not delivered acceptance. Task84/PR86 maintenance is stopped and native Agent merge is paused; the unmerged head, PR/issue states, labels, code, relationships and effective protections are unchanged. Rule26275706 still names Community file validation/app15368, so disposition and the independently scoped PR82/89 dependency need coordinator handling rather than a copied workflow or policy bypass. This decision does not apply to MSXOrg/.github or other repositories.

  4. MariusStorhaug commented on Nov 3, 2026

    @MariusStorhaug
    MemberAuthor

    Closed as not planned with explicit user approval. The linter/validator outcome was withdrawn, not delivered; #84 and #85 are also closed as not planned and their audit history is retained. #86 was closed without merging and its branch cleanup completed. The unwanted required check was retired and independently verified, and the obsolete native blocker from #81 was removed. Pre-commit alignment remains deferred for this repository, with shared MSX standards and all other protections unchanged.

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