Skip to content

Commit a36c835

Browse files
Normalize specification requirement anchors
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent aa89bbe commit a36c835

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

  • docs/content/Modules/Process-PSModule/specification

docs/content/Modules/Process-PSModule/specification/spec.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,49 +25,49 @@ Applies to any PowerShell module in the PSModule ecosystem that produces a versi
2525

2626
### Functional Requirements
2727

28-
### FR1 — Build the module from source { #fr1 }
28+
### FR1 — Build the module from source {#fr1}
2929

3030
The pipeline MUST compile the PowerShell module source code into a module artifact, stamping it with the resolved semantic version and making it available for downstream testing and publication.
3131

32-
### FR2 — Run cross-platform tests { #fr2 }
32+
### FR2 — Run cross-platform tests {#fr2}
3333

3434
The pipeline MUST execute the module's test suites against multiple platforms — at minimum Windows, Linux, and macOS — and fail the build if any platform's tests fail. Tests MUST include source-code validation (style, standards), framework tests (module structure, common issues), and module-local tests (user-written Pester tests).
3535

36-
### FR3 — Enforce code quality and coverage gates { #fr3 }
36+
### FR3 — Enforce code quality and coverage gates {#fr3}
3737

3838
The pipeline MUST measure and enforce code coverage thresholds and static-analysis results. A build MUST NOT proceed to publication if quality or coverage targets are missed; the gate MUST prevent merge unless explicitly overridden by a label.
3939

40-
### FR4 — Generate and publish documentation { #fr4 }
40+
### FR4 — Generate and publish documentation {#fr4}
4141

4242
The pipeline MUST generate module documentation from the source (cmdlet help, README, schema) and publish it to a static documentation site. Documentation MUST be versioned and deployable alongside the module release.
4343

44-
### FR5 — Support label-driven versioning and publication { #fr5 }
44+
### FR5 — Support label-driven versioning and publication {#fr5}
4545

4646
The pipeline MUST read pull-request labels (`Major`, `Minor`, `Patch`, `Prerelease`, `NoRelease`) to decide the semantic-version bump. It MUST compute the next version automatically, never reading or writing a hand-edited version file. A merge to the release branch MUST trigger publication to the PowerShell Gallery and documentation site; a prerelease label MUST result in a prerelease version available for testing before stable release.
4747

48-
### FR6 — Produce immutable, linkable releases { #fr6 }
48+
### FR6 — Produce immutable, linkable releases {#fr6}
4949

5050
Each publication MUST produce a GitHub Release, a git tag, and a PowerShell Gallery package version — all linked and versioned together so they are discoverable and pinnable for consumers.
5151

5252
### Non-Functional Requirements
5353

54-
### NFR1 — Semantic versioning compliance { #nfr1 }
54+
### NFR1 — Semantic versioning compliance {#nfr1}
5555

5656
Versions MUST follow [SemVer 2.0.0](https://semver.org/) (`vMAJOR.MINOR.PATCH` or `vMAJOR.MINOR.PATCH-prerelease.N`). Breaking changes MUST increment `MAJOR`; new functionality MUST increment `MINOR`; bugfixes MUST increment `PATCH`. Prerelease versions MUST be obtainable but not promoted as the latest stable release.
5757

58-
### NFR2 — Serialized releases { #nfr2 }
58+
### NFR2 — Serialized releases {#nfr2}
5959

6060
Only one release process MUST run against a given version of the codebase at a time. Concurrent releases to the same ref MUST be prevented, so the tag, version counter, and published artifact remain consistent.
6161

62-
### NFR3 — Single production authority { #nfr3 }
62+
### NFR3 — Single production authority {#nfr3}
6363

6464
Exactly one branch (typically `main`) MUST be authorized to publish stable releases. All other release branches MUST publish only prerelease versions. This ensures consumers have one unambiguous latest stable version.
6565

66-
### NFR4 — Rapid feedback on failure { #nfr4 }
66+
### NFR4 — Rapid feedback on failure {#nfr4}
6767

6868
Pipeline failures MUST be visible in the pull request and block merge. Contributors MUST know within minutes whether their changes pass quality and test gates, not hours or days later.
6969

70-
### NFR5 — Reproducible and auditable { #nfr5 }
70+
### NFR5 — Reproducible and auditable {#nfr5}
7171

7272
The entire pipeline and its decisions MUST be stored in git, so the build is reproducible and auditable from the commit alone. No external configuration, API calls, or out-of-band decisions.
7373

0 commit comments

Comments
 (0)