Skip to content

Community guidance is local only when repository-specific - #231

Open
Marius Storhaug (MariusStorhaug) wants to merge 4 commits into
mainfrom
community-guidance-inheritance
Open

Marius Storhaug (MariusStorhaug) wants to merge 4 commits into
mainfrom
community-guidance-inheritance

Conversation

@MariusStorhaug

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

Copy link
Copy Markdown
Member

Ordinary repositories inherit organization community guidance without creating local files solely to repeat shared policy. Local contribution files remain only for genuine repository-specific instructions or a documented exception; organization .github repositories remain the source homes for the other community defaults they supply.

This is a standards correction, not a file cleanup or fleet rollout. This repository's genuine build, Pester, index, and link-check instructions are preserved. No other repository, released framework behavior, legal terms, ownership, labels, rulesets, permissions, or non-community configuration is changed.

Fixed: Contribution guidance can be inherited without local copies

The repository baseline and required-file matrix require discoverable contribution guidance rather than an unconditional local contribution file. Use the organization's default when supplied, or link to the shared contribution workflow when no default is provided. Keep a local guide when genuinely needed, describing repository-specific steps and linking to shared policy. Such steps are not automatically policy exceptions.

Organization and reconciliation guidance distinguish source-file validation from effective consumer guidance. README/readiness guidance and the agent specification, design, and router examples agree on that boundary, including that inherited defaults do not appear in clones. Actual PR-template-file policy is separately owned by the refreshed upstream Repository Standard; contribution inheritance must not restore its obsolete template requirements.

No repository file is deleted or copied by this PR. No consumer migration or change to released framework behavior is introduced. Actual PR-template removals, the central Feature intake-form follow-ups, and Task #228's nineteen-page issue-guidance delivery remain with their separate owners.

Technical details

Tracked draft head: 3ca4de0c508058950ed9d4592c47e24100874eee, on community-guidance-inheritance, three ordinary commits, eleven modified documentation pages, 108 added and 55 removed lines against 36da9154aa55d2052345fb2f28b812b29daf8bc9. The worktree is clean. Main has not advanced and this branch has not imported unlanded release changes.

Superseding source: #209 is frozen at bc03a5992615f65d1d5346dc48e7506e80b8b6ca, with its exact-head automated approval and all required checks verified. Repository Standard: No PR-template files owns file policy for every repository type and central default source, without exceptions. PR Format owns actual-record format and release-range analysis only; its complete description example replaces the old template anchor. The former template/scaffold correspondence is superseded and must not be used to land this draft unchanged.

Preservation examples: MSXOrg/Distributor at 3beed03f64eeafdad1c5986a14845a2b7811f929 has no local contribution guide and its GitHub community profile resolves to MSXOrg/.github. Historical source snapshots in MSXOrg/.github and PSModule/.github establish the other shared community/default families, not current compliance with the subsequent no-PR-template policy. This repository's genuine local contribution instructions remain present. The refreshed source guide's PR-format links changed, so preservation uses its Making a change, Authoring conventions, and Building and previewing locally sections, verified byte-identical to original main, rather than the old whole-file blob.

Read-only prospective composition: refreshed #209 and frozen #230 (1c8f98cabe64b12aaa5fa9fb5f51b9d03f5de9de) compose at tree c459e5ff243b354b8c7bdb0f24cdb11c19cb4a96. Applying this draft's frozen head yields five conflicts across three pages. The bounded resolved result is 35c111d07698923a98602637ff57b16ca1e370e3:

Known overlap Verified resolution
Repository Standard, two ranges Conditional CONTRIBUTING row plus canonical PR-format link; preserve the source's complete PR-default/no-file section, not the old inherited-template paragraph
Organization Standard, two ranges No PR-template default while retaining ordinary-repository inheritance; conditional local contribution context and canonical record destination
Repository Governance, one range Conditional local-file/effective-guidance rows together with the source-owned actual-record/no-file evidence row

This is not an automatic clean merge or a reconciled branch. The result changes only this Task's eleven paths relative to the composed source, with 105 added and 53 removed lines. All eight non-overlap per-file deltas remain identical. The complete refreshed PR-default/no-file section, PR Format, source contribution guide, Task/Bug documents, and #228's current-documentation/no-unnecessary-churn evidence remain unchanged from their sources. The source guide's composed blob is 22f34aa90a1803bd55008f7775d366943fdd3074.

Validation: The source-only snapshot fails eleven expected conditional-guidance checks and passes eight; applying #229 makes all nineteen pass while preserving all eighty upstream tests. In one pinned Pester run, 99 tests pass with no failures or skips. Prospective indexes, relative links (127 documentation files), cross-repository links (seven links in 131 files), all eleven changed pages' Markdown lint, and the actual Zensical build pass. Real built HTML exposes both new authority/example anchors. The complete bounded diff was self-reviewed. This prospective result does not simulate #196/#208's future reconciliation or supply review of a future committed head.

The unchanged tracked head's original validation remains distinct: 64 existing plus 19 original focused checks passed, all five required GitHub checks pass, and its final automated round is clean on 3ca4de0c508058950ed9d4592c47e24100874eee (COMMENTED, zero new inline comments), with the earlier specification thread resolved. That is not human approval.

Standards and framework alignment:

Changed surface Standards checked Framework/domain docs checked Result
Repository and Organization Standards (2 pages) Documentation Model, Markdown, Natural Language Conditional contribution/source contract; refreshed upstream no-file authority Fixed in this PR; bounded future reconciliation verified
Repository Governance spec, design, and types (3 pages) Specification/design ownership Conditional contribution rule and effective-guidance evidence Fixed in this PR
README-Driven Context and Ready/Done (2 pages) README ownership, readiness, no-unnecessary-churn evidence Conditional contribution rule; frozen #230 evidence gate Fixed in this PR
Agentic Development spec, design, and router template (3 pages) Thin pointers, actual destinations, Markdown, Natural Language Applicable contribution context-resolution contract Fixed in this PR
Maintain Workflow Guidance (1 page) Canonical process, link-not-inline maintenance Agentic Development pointer model Fixed in this PR

Task progress and convergence: The original four Task #229 implementation steps are checked; its native type, acceptance criteria, technical decisions, and dependency edges are unchanged. Scoped open-issue searches were community and contribution: #228 remains separately delivered by #230; #123 and #150 are not satisfied by this change. No additional issue converges. Only Task #229 is closed by this PR after merge. Artifact #1 on Task #229 now preserves the refreshed source/composition evidence instead of the obsolete scaffold result.

Remaining blockers: #209, #196, #208, and #230 remain open. #196/#208 still have older correspondence and are not claimed byte-identical to refreshed #209. Keep the agreed human landing order #209, #196, #208, #230, then this PR. Reconcile each remaining branch against actual advanced main after each landing; for #229 preserve the no-file/record contract and conditional contribution rule through the known five ranges. Repeat CI, local validation, and full review after every landing/reconciliation/head change, then obtain the required human review. The current draft has not yet completed that future reconciliation.

No merge, auto-merge, retargeting, or actual template cleanup is performed or authorized. The Docs route publishes the site without invoking Release Management, so no Release decisions block or release labels are added.

Related references

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.

🟡 Changes recommended

The design permits inherited contribution guidance, but the specification still requires the repository’s local CONTRIBUTING file, leaving inherited-only repositories unable to satisfy its success criteria.

1 open issue
What changed in this PR

This documentation-only PR makes local community files conditional on repository-specific needs or documented exceptions. It aligns repository standards, governance checks, and agent guidance with inherited organization defaults, without changing runtime behavior or removing existing contribution instructions.

Changes:

  • Distinguishes required local files from discoverable shared contribution guidance.
  • Updates governance and readiness guidance to verify effective guidance rather than require local copies.
  • Aligns README guidance and agent-router examples with conditional contribution guides.
File Description
src/​docs/​Ways-of-Working/​Workflow-Stages/​Maintain-Guidance.md Allows pointers to local or inherited contribution guidance.
src/​docs/​Ways-of-Working/​Repository-Standard.md Defines the conditional local contribution-guide requirement.
src/​docs/​Ways-of-Working/​Readme-Driven-Context.md Aligns contribution links with the conditional rule.
src/​docs/​Ways-of-Working/​Organization-Standard.md Clarifies shared defaults, local content, and policy exceptions.
src/​docs/​Ways-of-Working/​Definition-of-Ready-and-Done.md Adds verification of effective community guidance.
src/​docs/​Capabilities/​repository-governance/​spec.md Separates required local files from discoverable contribution guidance.
src/​docs/​Capabilities/​repository-governance/​design.md Updates reconciliation to check source defaults and effective guidance.
src/​docs/​Capabilities/​repository-governance/​design-types.md Applies the conditional rule to Unmanaged repositories.
src/​docs/​Capabilities/​agentic-development/​design.md Updates router guidance to support inherited contribution sources.
src/​docs/​Capabilities/​agentic-development/​AGENTS.template.md Explains how to replace optional local entries with shared 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

Unmerged prerequisites #209, #196, #208, and #230 overlap canonical guidance, requiring reconciliation and renewed full review of the combined documentation after the agreed landing sequence.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

@MariusStorhaug
Marius Storhaug (MariusStorhaug) marked this pull request as ready for review October 31, 2026 22:40
Marius Storhaug (MariusStorhaug) added a commit that referenced this pull request Nov 1, 2026
PR Format describes the actual title and complete body: audience-first
results, release-range-first analysis, complete adoption/compatibility
evidence, one announcement boundary and conditional release decisions.
Repository file policy is owned separately by
Repository/Organization/Governance guidance, not by the PR Format page.

Authors use canonical guidance for the resulting record. Repository
standards exclude GitHub PR-template files from ordinary and
central-default sources, while retaining other community defaults,
genuine repository-specific contribution instructions and supported
product-integration contracts. This delivery changes guidance and checks
in MSXOrg/docs; separate owners remove their actual source/consumer
files. No publisher, live caller, artifact, tag, governance setting or
release history is changed here.

<!-- ANNOUNCEMENT STOP -->

## Changed: PR Format focuses on the complete authored record

Use one short reader-facing title and an audience-first summary, then
ordered non-empty Breaking, Removed, New, Changed and Fixed results.
Explain what changed, why, affected supported uses, compatibility and
complete adoption actions or a justified no-action result in each
result's prose. Keep prerequisites, ordering, verification and mandatory
intermediate operations in the record itself, with supporting evidence
and references scoped to the result they verify.

The complete in-document example is named **Complete description
example**. Its anchor is now `#complete-description-example`, replacing
`#copy-the-complete-template`. The single announcement boundary and full
body remain unchanged in purpose; announcements do not truncate the
published note. Maintained links adopt the new anchor. Existing skills
still route to the same canonical PR Format page and its
release-coverage analysis; no additional skill, file distributor or
plugin installation is required for this correction.

PR Format contains no repository PR-template-file discussion: no file
locations, copying/inheritance, local exceptions, presence/absence
policy or deletion history. Those rules belong to the repository
standards below. Product integration-template compatibility evidence
remains distinct and required where a delivered result affects a
supported integration.

<details>
<summary>Technical details</summary>

| Changed surface | Standards checked | Framework docs checked | Result
|
| --- | --- | --- | --- |
| PR Format complete example, record evidence and anchors | Natural
Language, Markdown, Documentation Model, PR Format | Complete consumer
record and source-range authoring | Aligned |
| Release Management result evidence | Specification/design separation,
Markdown | Actual title/body/source coverage, retained
product-integration compatibility | Aligned |
| Repository-specific contribution PR-format links | Markdown, canonical
ownership | Full description example; existing local build/index/link
instructions | Aligned |
| Record-format regression block | PowerShell/Pester, shared analyzer,
testing baseline | Required structure, one boundary, five
classifiers/evidence prompts and release-first order | Aligned |

The tests separate record quality from repository file policy. Record
tests verify the complete example and ordered classifiers, marker count,
publication/candidate identity fields, five scoped release-evidence
prompts, release-first analysis, and five affected-product integration
prompts. They also reject GitHub PR-template-file discussion on this
page without rejecting legitimate product integration contracts.
File-policy tests inspect the owning repository/organization/governance
pages, not PR Format. Five ownership/naming cases failed before the
refinement and pass after it.

The old example link is a documentation-anchor transition, not a runtime
migration. Required old-to-new consumer actions still belong in the
relevant release record; product docs retain supported target-state
usage rather than a migration hierarchy or changelog.

</details>

## Changed: Repository standards require canonical adherence without
PR-template files

Repository Standard owns the no-file rule for every MSX repository type
and the special `MSXOrg/.github` and `PSModule/.github` sources. GitHub
PR-template files, multiple-template directories, generated copies and
local exceptions are not part of this contract. Organization Standard
and Repository Governance reference that one owner; their former
mandatory default-file rows and local PR-template exception are removed.

Authors and validators verify the actual title, complete body, source
coverage, compatibility/adoption evidence and normal review gates. An
inherited scaffold, file-presence check or similarity to a central copy
does not prove adherence. The complete canonical record example remains
in the docs. Other
code-of-conduct/security/support/contribution/issue-intake defaults and
genuine repository-specific contribution instructions are unaffected;
this is not an organization-wide community-file cleanup.

Separate source and consumer owners remove existing PR-template files
and revise their source docs/check expectations. This PR introduces no
distributor, physically edits none of their workspaces and claims no
pending deletion is merged. A missing file never substitutes for
Markdown/source/head/containment validation or complete PR record
quality.

<details>
<summary>Technical details</summary>

| Changed surface | Standards checked | Framework docs checked | Result
|
| --- | --- | --- | --- |
| Repository Standard no-file policy and PR/contribution guidance |
Standard ownership, Markdown, Natural Language | One policy owner;
canonical actual-record verification | Aligned |
| Organization Standard community/review/default rows | Standard
ownership, Markdown | Other community defaults preserved; PR-file
requirements/exceptions removed | Aligned |
| Repository Governance defaults and reconciliation evidence | Design
ownership, Markdown | Required-source row removed without changing live
controls | Aligned |
| Markdown linter comment | YAML/Markdown standards | Only obsolete
PR-template commentary changed; parsed configuration values are
identical | Aligned |
| Repository-policy regression block | PowerShell/Pester, source
inventory | Own-policy links, no tracked PR file,
case/extension/directory detection, unaffected issue forms | Aligned |

The corrected regression checks were run against exported frozen
guidance with no commits: five actual policy cases failed while eleven
preservation/path cases passed. Current source checks recognize
uppercase/lowercase PR file names, alternate extensions and
multiple-template directories, while leaving issue forms and canonical
PR Format docs unaffected. MSXOrg/docs contains no tracked GitHub
PR-template file.

Independent full, non-truncated default-source reads confirmed these
**still-present** files at the measured immutable sources:

| Repository | Source | File |
| --- | --- | --- |
| MSXOrg/.github | `0c67251812ea306543f3a14ab473ae357cfb76ac` |
`.github/pull_request_template.md` |
| PSModule/.github | `f424237c98b5b020f80e8c9563dbc37256fc1ec0` |
`.github/pull_request_template.md` |
| PSModule/Yml | `93d2656563a719d99416b9e13a05e65f6f815498` |
`.github/pull_request_template.md` |
| PSModule/PSSemVer | `1a621b14286331569f4d1ffd4643999c2a2a6ca8` |
`.github/pull_request_template.md` |

These are measured source/consumer counterexamples with separate removal
owners, not evidence that the new no-file state has already landed. The
Project's complete 71-repository inventory additionally identified the
stale
[PSModule/Template-PSModule#42](PSModule/Template-PSModule#42)
candidate as separately owned reconciliation.
[PSModule/Process-PSModule#525](PSModule/Process-PSModule#525)
tracks the bounded producer anatomy/audit requirement reconciliation;
central/default validators have separate owners. Their
publisher/Build/runtime behavior remains outside this documentation
revision.

The [#231](#231) owner
confirmed its clean frozen branch and no pending overlapping edits. The
exact community composition boundary is the PR-template rows/paragraphs
only: preserve its conditional local-contribution rule and all other
inherited defaults while adopting the new no-file policy links. No
#196/#208/#230/#231 tracked branch was edited here.

</details>

<details>
<summary>Related references</summary>

- Resolves [#226](#226)
- References [#231](#231)
- References
[PSModule/Process-PSModule#525](PSModule/Process-PSModule#525)

</details>

## Changed: Release-bound authoring starts from actual artifact
publication

Before drafting the title, results, adoption actions or compatibility
decision, resolve the actual latest successful artifact publication for
the same product, target and channel and verify its immutable source.
Pin that artifact/source and the exact candidate PR source, verify
intended lineage and compare those source trees. The complete delivered
range includes earlier merged, skipped or unshipped changes; the
ordinary PR-base diff remains separate implementation/reviewer evidence,
not the note boundary.

A GitHub Latest hint, moving tag, assumed highest version or overall
failed run is not publication-baseline proof. Module publication to
Gallery counts even when later GitHub completion fails: the next module
record starts from its already-published source. Completing that older
GitHub record does not make module changes new again. Multiple artifact
targets/channels have independently pinned consumer baselines and
applicability.

Resolve missing/unverifiable evidence, ambiguous scope and diverged
lineage explicitly. A verified initial publication has reviewed
whole-candidate coverage and initial adoption instructions, not a
fabricated predecessor or no-action/patch assumption. Re-read
publication and candidate identities before readiness/snapshot capture
and refresh comparison, actions and compatibility when either changes.
This is the preserved authoring procedure, not a new publisher/version
resolver or Build/artifact-promotion design.

<details>
<summary>Technical details</summary>

| Changed surface | Standards checked | Framework docs checked | Result
|
| --- | --- | --- | --- |
| Publication-baseline-first procedure, five result prompts and
readiness | PR Format, Markdown | Exact publication/candidate
identities, complete range and scoped PR diff | Aligned |
| Release Management source binding and note evidence |
Specification/design ownership | Actual artifact publication versus
version/completion baselines | Aligned |
| Thin PR-format skill and paired plugin metadata | Plugin
granularity/versioning, manifest tests | Prior 0.1.1 canonical
entrypoint retained | Aligned |

The anonymous Git experiment remains exact source-tree evidence:
published A-to-candidate C includes earlier unshipped B and current C,
while scoped B-to-C includes only the current PR. Simulated
Gallery-success/GitHub-failure evidence for B keeps module coverage at
B-to-C even after older GitHub completion. Changed candidate/publication
pairs change coverage, and unrelated lineage is rejected. Receipts were
simulated inputs, not a live publish or historical repair.

**Final committed/pushed head:**
`bc03a5992615f65d1d5346dc48e7506e80b8b6ca`. This ordinary commit refines
the previous `be8c340...` authoring correspondence without amendment or
history discard. Canonical anchors are [release-first
analysis](https://github.com/MSXOrg/docs/blob/bc03a5992615f65d1d5346dc48e7506e80b8b6ca/src/docs/Ways-of-Working/PR-Format.md#resolve-release-coverage-first),
[complete description
example](https://github.com/MSXOrg/docs/blob/bc03a5992615f65d1d5346dc48e7506e80b8b6ca/src/docs/Ways-of-Working/PR-Format.md#complete-description-example),
[repository file
policy](https://github.com/MSXOrg/docs/blob/bc03a5992615f65d1d5346dc48e7506e80b8b6ca/src/docs/Ways-of-Working/Repository-Standard.md#no-pr-template-files),
and [defaults source
guidance](https://github.com/MSXOrg/docs/blob/bc03a5992615f65d1d5346dc48e7506e80b8b6ca/src/docs/Capabilities/repository-governance/design.md#organization-defaults-repository).

Local validation passes: all 80 Pester tests in seven suites, 127
documentation pages plus contribution-guide lint, indexes/relative
anchors, seven cross-repository links, actual pinned Zensical 0.0.59
build and rendered new-anchor checks, zero PowerShell analyzer
diagnostics, existing plugin-manifest validation, and patch checks. The
parsed linter configuration remains unchanged. All five required hosted
checks succeed on this exact head:
[Lint](https://github.com/MSXOrg/docs/actions/runs/41243884162/job/124663205698),
[Build](https://github.com/MSXOrg/docs/actions/runs/41243884162/job/124663205920),
[Test](https://github.com/MSXOrg/docs/actions/runs/41243884162/job/124663205851),
[Links](https://github.com/MSXOrg/docs/actions/runs/41243884162/job/124663205928),
and [Cross-repository
links](https://github.com/MSXOrg/docs/actions/runs/41243883939/job/124663204724).
Both completed `pull_request` runs identify this source head.

**Complete current-head review:**
[5725019918](#209 (review))
is APPROVED on `bc03a5992615f65d1d5346dc48e7506e80b8b6ca`. The full
summary records no active/open or suppressed concerns; all review
threads are resolved and thread pagination is complete. The prior
be8c340 approval was not used as approval of this correction. This is
the automated author-side pass, not independent human approval or
permission to merge.

All five existing Task #226 plan items are fulfilled:
verified state/cases, bounded canonical authoring, directly coupled
policy/evidence/link reconciliation, native checks/current-head full
review, and final acceptance/immutable handoff. The scoped sweep covered
PR authoring, source/default validation, release/consumer and community
guidance; only Task #226 is the closing delivery leaf. The
existing native prerequisite
[#166](#166) is
completed. Its five-context required-check rule and the existing
approval/thread constraints remain unchanged; no live merge attempt,
injected failure or bypass was used.

</details>

## Changed: Effective decisions and release-history ownership are
preserved

`DefaultBump` still accepts patch/minor/major with documented shared
patch, repository settings, explicitly supplied supported caller
overrides and one explicit owned bump override in that order. Omitted
inputs inherit valid policy; invalid supplied settings and conflicting
owned signals fail even when another source supplies a level. An
effective default removes the need for a per-PR bump label, not the need
for compatibility evidence. The exact owned set remains `release:patch`,
`release:minor`, `release:major`, `release:prerelease` and
`release:skip`.

Verify actual native/shared producer controls or a supported adapter
before using signals. Prerelease uses the resolved bump; skip combines
with no other owned signal. Unmanaged routes omit all release
metadata/labels; this repository deploys Pages without a versioned
release artifact, so this PR retains neither a Release decisions block
nor a release label. No undecided caller-override interface, allocator,
publisher or live input is approved or implemented here.

Complete PR/release records remain the sufficient version-specific
upgrade history; resource docs describe supported target-state usage.
Mandatory intermediate operations and superseded actions remain
explicit. Campaign/native associations and completion-aware issue links
retain their established ownership. No migration-guide/changelog
duplication, date strategy, native dependency mutation, publication,
historical backfill, label/permission/rules edit, merge or auto-merge is
performed.

<details>
<summary>Technical details</summary>

| Changed surface | Standards checked | Framework docs checked | Result
|
| --- | --- | --- | --- |
| Automation Labels, settings/decision rules, VS Code and
continuous-delivery guidance | Owning standards/capabilities | Accepted
default/signal, source validation and native mapping retained | Aligned
|
| Documentation Model, Fleet, workflow/readiness and Task/Bug planning |
Ways of Working, issue hierarchy, PR Format | Actual scoped
implementation evidence and sufficient consumer record preserved |
Aligned |

The existing PRs stay separate on main. Eventual landing is one at a
time with every remaining overlapping branch reconciled against advanced
main and CI/full review repeated. Other owners must consume the
refreshed immutable correspondence; their prior frozen example/file
expectations are not claimed current. This PR does not edit their
tracked candidates or waive their independent prerequisites.

</details>

<details>
<summary>Related references</summary>

- References [#196](#196)
- References [#208](#208)
- References [#230](#230)
- References [#205](#205)
- References
[#166](#166)

</details>

---------

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
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.

Keep community guidance local only when repository-specific

2 participants