Repository navigation
Solution settings use canonical filenames - #233
Draft
Marius Storhaug (MariusStorhaug) wants to merge 5 commits into
Draft
Marius Storhaug (MariusStorhaug) wants to merge 5 commits into
Marius Storhaug (MariusStorhaug) wants to merge 5 commits into
Conversation
There was a problem hiding this comment.
🟢 Approved
There are no active review issues blocking the documentation filename standardization.
No open issues 🎉
What changed in this PR
Standardizes the optional Release Management settings filename as .github/release.settings.yml across canonical guidance. This is a documentation change; released producers’ inputs and runtime loading behavior remain unchanged.
Changes:
- Updates 17 filename references across five documentation pages.
- Adds five filename checks and four semantic guards covering existing settings and release-decision requirements.
| File | Description |
|---|---|
tests/PR-Format.Tests.ps1 |
Adds canonical filename checks and guards for unchanged release semantics. |
src/docs/Ways-of-Working/PR-Format.md |
Updates settings references in PR authoring guidance. |
src/docs/Ways-of-Working/Automation-Labels.md |
Updates the optional settings path in release-label guidance. |
src/docs/Capabilities/vscode-extension-framework/design.md |
Updates configuration and template-layout references. |
src/docs/Capabilities/release-management/spec.md |
Updates settings references without changing applicability requirements. |
src/docs/Capabilities/release-management/design.md |
Updates settings paths in examples, precedence guidance, and configuration tables. |
Review effort: Balanced
This was referenced Nov 1, 2026
Marius Storhaug (MariusStorhaug)
marked this pull request as ready for review
November 1, 2026 13:28
Marius Storhaug (MariusStorhaug)
marked this pull request as draft
November 1, 2026 21:49
Marius Storhaug (MariusStorhaug)
dismissed
Copilot’s stale review
via
November 1, 2026 22:01
f021418
16 tasks done
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Solution-owned settings use the conventional filename
<name>.settings.yml. The release solution uses.github/release.settings.yml; module repositories retain.github/PSModule.ymlthroughSettingsPath, including module release settings.This changes canonical guidance, not runtime loaders or module configuration. Supported explicit custom paths and public caller inputs remain under each producer's existing contract.
New: Solution-owned settings filenames identify their owner
Use the owning solution's name for its conventional settings filename. The Naming standard defines this once; repository, YAML, and release guidance link to it. The rule does not rename tool-mandated manifests, lockfiles, workflow filenames, or arbitrary YAML files, and it does not impose one directory on every solution. A reader may expose a documented explicit path override without this convention restricting otherwise supported custom paths.
Module repositories keep
.github/PSModule.ymlthroughSettingsPathfor module-pipeline configuration, including release settings. The PSModule initiative records this supported exception and links to the actual framework input/settings references. No module filename migration, second release settings file, or caller-input change is required here. Module naming alignment is separate work, not behavior implemented by this PR.The VS Code framework design likewise records its existing
.github/vscode-extension.ymltemplate interface as a supported naming exception. Its settings keys and interface are unchanged; any filename change requires a verified reader and a separate template/caller migration. This avoids an unapproved configuration migration while keeping the common naming rule and its explicit exceptions consistent.Technical details
The complete immutable comparison is accepted main
aa9b5cecc69f4cbe6aa04a5dd70ff9cdadeeac3dto candidate734145479ede01a7ccdeb4eb29950d405ed99a09. Five ordinary commits preserve the initial filename revision, add the broader regression-first naming rule, and address the owning-guide compatibility finding.e65b9e0andf021418are earlier iterations, not this final source.The authoritative Naming subsection states the rule. PSModule module settings and the VS Code configuration surface own their supported exceptions. Related pages link to that rule rather than defining another copy; repository and release guidance link to the module boundary.
src/docs/Coding-Standards/Naming.mdsrc/docs/Coding-Standards/YAML.mdsrc/docs/Ways-of-Working/Repository-Standard.mdsrc/docs/Initiatives/PSModule.mdtests/PR-Format.Tests.ps1The module default is verified from released Process-PSModule source
105e4dcefe1946782066aa50a5c7d3658319895aand the published workflow-input reference:SettingsPathdefaults to.github/PSModule.yml. The settings reference owns module keys/defaults. This PR does not change that workflow, its input, settings schema, or enriched runtime settings object. The directly related obsolete framework overview link is corrected to its actual canonical site route.Regression-first evidence: all 13 broader naming/boundary cases fail before the documentation changes while all 25 earlier checks pass. A further case reproduces the VS Code exception gap before its two-line guide correction. The corrected candidate passes all 39 focused checks and all 103 tests in seven existing Pester suites. Nine isolated deliberate regressions are rejected and pass after restoration, including a duplicate rule owner, broken discovery, unrequested directory/custom-path restrictions, forced module filename or second release file, and a false implemented-reader claim.
The first review finding is addressed by documenting the preserved VS Code interface; the inline reply records the fix and the thread is resolved. The fresh corrected-head review approves
734145479ede01a7ccdeb4eb29950d405ed99a09with zero new inline comments. No review thread remains unresolved.All five live required CI checks pass at that exact head: Lint, Test, Build, Links, and Cross-repository links. Publishing is intentionally skipped for this PR.
The changed Markdown/PowerShell surfaces are lint-clean. Documentation indexes are current, relative links resolve across 127 pages, and cross-repository links resolve on the changed pages. The pinned Zensical 0.0.59 site build succeeds with no issues; rendered output preserves the naming rule, module boundary, and explicit VS Code exception. Temporary build environments, output, and negative-test fixtures are cleaned without changing shared dependencies or reviewed source.
The Task's implementation, validation, and review-correction steps are complete. The focused convergence sweep covers open issues/PRs naming settings filenames and the common convention; no additional complete delivery ask converges with this diff. Broader default-bump/keyed-route and lifecycle work stays separate, with no unmerged scope imported. The Task remains open until human-reviewed integration; this PR stays draft under the integration hold, not because CI or automated review is incomplete.
Related references
Changed: Release settings use the release solution's canonical filename
The optional release-solution file is
.github/release.settings.yml, replacing the documentedrelease.config.ymlconvention. Its.githublocation, settings keys, schema, defaults, precedence, omission behavior, applicability, and required decision validation are unchanged. All 17 original current-guidance substitutions are retained. This repository has no settings file or runtime loader to rename.The former
.github/auto-release.ymlis only migration evidence for the separate Release-GHRepository reader change, not a current alternative convention. That producer's unmerged development candidate changes the conventional default to.github/release.settings.yml, rejects the removed conventional path even when explicitly selected, and retainsConfigurationFileas the public input with unrelated supported explicit custom paths intact. It provides migration diagnostics without legacy fallback. This documentation PR neither delivers nor releases that reader. Consumers verify the producer revision and follow its own migration record before adopting a changed default; module release settings remain in the supportedPSModule.ymlinterface.Technical details
src/docs/Capabilities/release-management/spec.mdsrc/docs/Capabilities/release-management/design.mdsrc/docs/Capabilities/vscode-extension-framework/design.mdsrc/docs/Ways-of-Working/Automation-Labels.mdsrc/docs/Ways-of-Working/PR-Format.mdRelease design links the naming rule and module exception, and separates a filename convention from an implemented reader or renamed input. Existing filename/semantic guards remain green. The accepted release-range-first analysis, complete description example with one summary boundary, conditional release/default rules, Task/Bug planning, and repository-owned no-PR-template policy are preserved.
Separate runtime correspondence uses
03e20b8293dd8dfb41bead3255930a5edbb2e9bbin PSModule/Release-GHRepository#109, reverified as a draft, unmerged development candidate. It is not production behavior delivered here. Typed caller overrides, keys/precedence, helper exports, and environment namespaces remain outside this documentation change; the producer's review and delivery gates remain with its owner.The docs
mainroute builds and deploys an unversioned site, not a versioned immutable consumer artifact. No release-decision block, release label, fabricated publication baseline, or live publication applies to this PR. No module file, loader, public input, Build/metadata/runtime schema, publisher, label, pin, permission, ruleset, marketplace, or consumer fleet change is included.The full ten-file corrected diff is self-reviewed against current main. #196 and #208 retain independent release-doc scopes and receive the new immutable source for sequential reconciliation; earlier correspondence does not prove this broader rule and supported exceptions. Any later main change requires a refreshed comparison and exact-head validation.
Native Agent merge is enabled only for review feedback, CI fixes, and conflict resolution with
merge_pr=false. GitHub auto-merge is disabled. Remaining gates are human review/integration decisions and separately owned producer/module migration work; no merge or live publication is authorized.Related references