You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
- Prepares the `develop -> main` release candidate for the next stable cut after `2.4.0`, with `develop` currently at `2.4.1-preview`.
- Release impact is **both prereleases and stable releases**:
- the change set is already the active prerelease line on `develop`
- merging to `main` promotes it into the next stable release
- `Publish.yml` branch roles remain unchanged (`main` = stable publish/release, `develop` = prerelease publish)
- Main changes in the diff:
- adds an optional Agentic Copilot starter package to `Initialize-NovaModule` / `% nova init`
- moves Nova’s own tests to source-mirrored, dot-source-first coverage with enforced `Pester.CodeCoverage.CoveragePercentTarget`
- switches CI/CodeScene coverage handling to JaCoCo `artifacts/coverage.xml`
- refreshes `.github/` agent/prompt/skill guidance plus README/CONTRIBUTING/help/site docs to match the new workflow
- Changelog and release notes already describe the intended unreleased behavior and align with the branch diff.
## Affected area
- [x] `nova` CLI or command routing
- [x] Public PowerShell cmdlet behavior
- [x] Scaffolding or `project.json` handling
- [x] Build, test, analyzer, coverage, or CI helper flow
- [ ] Package, raw upload, or package metadata workflow
- [x] Publish, release, or GitHub Actions automation
- [ ] Self-update or notification preference behavior
- [x] Contributor documentation (`README.md`, `CONTRIBUTING.md`, repository workflow docs)
- [x] End-user docs (`docs/*.html`)
- [x] Command help (`docs/NovaModuleTools/en-US/*.md`)
- [x] `src/resources/example/`
- [x] Dependency or manifest changes (`project.json`, workflow dependencies, release tooling)
- [ ] Security-sensitive change
- [ ] Documentation-only change
- [ ] Other
## Review guidance
- Start with the release-facing behavior and validation path:
- `src/private/scaffold/`, `src/resources/agentic-copilot/`, and `src/resources/ProjectTemplate.json`
- `src/private/quality/`, `scripts/build/ci/Invoke-NovaModuleToolsCI.ps1`, `scripts/build/ci/Invoke-CodeSceneAnalysis.ps1`, and `.github/workflows/Tests.yml`
- `CHANGELOG.md`, `RELEASE_NOTE.md`, `README.md`, and `CONTRIBUTING.md`
- Primary changed areas:
- scaffold/guidance generation under `.github/`, `src/resources/agentic-copilot/`, and `src/private/scaffold/`
- test/coverage migration across `tests/public/`, `tests/private/**`, and `project.json`
- CI coverage/reporting updates in `.github/workflows/Tests.yml` and `scripts/build/ci/`
- Trade-offs / follow-up:
- this release removes many legacy broad coverage suites in favor of mirrored per-file tests, so reviewer confidence should come from the new targeted suites and CI artifact behavior
- `Publish.yml` semantics were reviewed but are not materially changed by this diff; release risk is in the changed inputs to that pipeline, not in branch-role policy
## Validation
- [x] `Invoke-NovaBuild`
- [x] `Test-NovaBuild`
- [x] `./scripts/build/Invoke-ScriptAnalyzerCI.ps1`
- [x] `./scripts/build/ci/Invoke-NovaModuleToolsCI.ps1`
- [ ] Targeted Nova workflow validated (`% nova build`, `% nova test`, `% nova merge`, `% nova deploy`, `% nova publish`, `% nova release`, `% nova update`, `% nova notification`, or `% nova init` as relevant)
- [x] Docs/example only; executable validation not needed
Validation notes:
```text
Analysis-only release prep; no commands were executed in this session.
Most important validation implied by the diff:
- verify Test-NovaBuild now enforces project.json coverage target and emits JaCoCo at artifacts/coverage.xml
- verify .github/workflows/Tests.yml + .github/actions/check-coverage now consume **/coverage.xml successfully
- verify Invoke-CodeSceneAnalysis.ps1 uploads normalized JaCoCo coverage and only sends branch-coverage when present
- verify scaffold flows for Initialize-NovaModule / nova init, including optional Agentic Copilot starter content and .gitignore update behavior
- verify release/publish/version regression coverage in:
- tests/public/InvokeNovaRelease.Tests.ps1
- tests/public/PublishNovaModule.Tests.ps1
- tests/public/UpdateNovaModuleVersion.Tests.ps1
- tests/private/release/*.Tests.ps1
- tests/Invoke-NovaModuleToolsCI.Tests.ps1
- tests/CodeSceneAnalysis.Tests.ps1
```
## Documentation and release follow-up
- [x] `README.md` reviewed and updated if contributor workflow, architecture, CI, release, or automation changed
- [x] `CONTRIBUTING.md` reviewed and updated if contribution expectations or review guidance changed
- [x] `CHANGELOG.md` reviewed and updated if the change matters to users, maintainers, or contributors
- [x] `RELEASE_NOTE.md` reviewed and updated if the change affects public cmdlet usage, CLI usage, configuration semantics, or migration expectations
- [x] `docs/NovaModuleTools/en-US/` help updated if a public command or CLI behavior changed
- [x] `docs/*.html` updated if end-user workflows or examples changed
- [x] `src/resources/example/` reviewed and updated if the real-world project layout, package model, or upload workflow changed
- [ ] No documentation, changelog, release-note, or example updates were needed
## Maintainability, compatibility, and risk
- [x] Code Health / maintainability impact considered
- [x] No breaking change
- [ ] Breaking change
- [ ] Security-sensitive change
- [x] CI, workflow, or release-pipeline impact
- [ ] Dependency-review impact
Risk, rollout, or rollback notes:
```text
Highest release risk is operational, not semantic:
- coverage/reporting moved to JaCoCo artifacts/coverage.xml, so reviewers should watch CI artifact production and CodeScene gate/upload behavior closely
- the branch diff is large and heavily test-focused; regressions are most likely to show up in scaffold generation, mirrored-test loading, or coverage/reporting paths
- Publish.yml branch semantics remain main=stable and develop=prerelease; when this lands on main, stable release finalization and develop prerelease reseeding will rely on that existing automation
- rollback is straightforward at the release-prep level: revert the merge or disable the release if CI shows coverage/scaffold/release-path regressions before publish
```
> [!IMPORTANT]
> Do not use a public pull request to disclose a vulnerability before coordinated handling.
> Use the private reporting path in `SECURITY.md` for new security issues.
Copy file name to clipboardExpand all lines: .codescene/code-health-rules.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
{
2
-
"usage": "Persist this file inside your repositories as .codescene/code-health-rules.json Keep the rules you want to override, remove the rest for simplicity and an easy overview.Override the code health rules by changing the default 1.0 value to a lower relative weight. A value of 0.0 disables the rule. A value of 0.5 still implies a code health hit but only at 50% of the default impact. Note that you can specify multiple rule sets and use the matching-content-path to control to which parts or languages the rules apply. This makes it possible to differentiate between test vs application code, or tailor rules to specific languages. In case multiple rule sets match a piece of content, then we prioritize the first mathcing set of rules.",
2
+
"usage": "Keep the rules you want to override, remove the rest for simplicity and an easy overview.Override the code health rules by changing the default 1.0 value to a lower relative weight. A value of 0.0 disables the rule. A value of 0.5 still implies a code health hit but only at 50% of the default impact. Note that you can specify multiple rule sets and use the matching-content-path to control to which parts or languages the rules apply. This makes it possible to differentiate between test vs application code, or tailor rules to specific languages. In case multiple rule sets match a piece of content, then we prioritize the first matching set of rules.",
Copy file name to clipboardExpand all lines: .github/agents/architect.agent.md
+20-15Lines changed: 20 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,20 +7,21 @@ description: Designs and scopes NovaModuleTools changes through a discussion-fir
7
7
8
8
## Purpose
9
9
10
-
Design or reshape changes that cross public commands, private helper boundaries, workflows, documentation layers, or
11
-
release automation.
10
+
Design or reshape changes that cross public commands, private helper boundaries, workflows, documentation layers, or release automation.
12
11
13
12
## Responsibilities
14
13
15
-
- Default new work to analysis first: clarify the problem, scope, risks, affected layers, validation needs, and
16
-
documentation impact before implementation starts.
14
+
- Default new work to analysis first: clarify the problem, scope, risks, affected layers, validation needs, and documentation impact before implementation starts.
17
15
- Keep new-work design conversations interactive instead of collapsing them into a complete solution in the first reply.
18
16
- Identify the affected public surface, internal helper domains, tests, docs, and workflows.
19
17
- Keep the change aligned with the repo's layering and ArchitectureGuardrails expectations.
20
18
- Recommend the smallest structure that solves the problem cleanly.
21
19
- Treat scope cuts, deferrals, and out-of-scope boundaries as proposals that require explicit user confirmation.
22
-
- Once the discussion is sufficiently scoped, produce an issue-ready change design with acceptance criteria,
23
-
out-of-scope boundaries, and a GitHub issue draft.
20
+
- Before offering finalization when unresolved questions remain, summarize what is settled, what is still unresolved, and present the explicit next-step choices.
21
+
- Support two finalization modes when the discussion is sufficiently scoped:
22
+
- design package plus GitHub issue draft
23
+
- design package only
24
+
- Once the discussion is sufficiently scoped, produce an issue-ready change design with acceptance criteria, out-of-scope boundaries, and a GitHub issue draft.
24
25
25
26
## Inputs to inspect
26
27
@@ -36,11 +37,12 @@ release automation.
36
37
## Skills to use
37
38
38
39
-`/powershell-module-development`
39
-
-`/github-actions`
40
40
-`/release-and-changelog`
41
+
-`/markdown-authoring`
42
+
-`/building-maintainable-code`
43
+
-`/github-actions`
41
44
-`/codescene-quality`
42
45
-`/guiding-refactoring-with-code-health`
43
-
-`/markdown-authoring`
44
46
45
47
## Constraints
46
48
@@ -49,24 +51,27 @@ release automation.
49
51
- Preserve the public/private command model and CLI vs PowerShell distinction.
50
52
- Avoid introducing new abstractions unless the current structure clearly duplicates or conflicts.
51
53
- Do not edit repository files unless the user explicitly asks to move from design into implementation.
52
-
- Do not finalize the full design package until the user says the discussion is done, or you explicitly ask whether you
53
-
should finalize it now.
54
+
- Do not finalize the full design package until the user says the discussion is done, or you explicitly ask whether you should finalize it now.
55
+
- Do not ask to finalize as if the change is fully issue-ready when unresolved questions still exist; surface those unresolved items explicitly before asking how the user wants to proceed.
54
56
- Do not finalize out-of-scope decisions unless the user has explicitly confirmed them.
55
57
56
58
## Definition of done
57
59
58
60
- The affected layers and files are clearly identified.
59
61
- The scoped implementation approach matches existing repo structure.
60
62
- Validation, documentation impact, and follow-on agent ownership are called out explicitly.
61
-
- A GitHub issue draft is ready to paste or create from the final output once the discussion phase is complete.
63
+
- If the user chooses full finalization, a GitHub issue draft is ready to paste or create from the final output.
64
+
- If the user chooses design-package-only finalization, the output is clearly resumable later from an `Open questions /
65
+
resume here` section.
66
+
- Finalization output is copy-ready Markdown that applies the project `markdown-authoring` skill.
62
67
63
68
## Must not do
64
69
65
70
- Must not rewrite the release pipeline casually.
66
71
- Must not invent new build or test tools.
67
72
- Must not bypass established adapters or shared helpers without a strong reason.
68
73
- Must not create or edit repository files when the task is still in design mode.
69
-
- Must not return a full implementation plan or finished issue draft in the first reply when the user is clearly asking
70
-
for a design discussion.
71
-
- Must not decide on its own that requested work is out of scope and then finalize the design without the user's
72
-
confirmation.
74
+
- Must not return a full implementation plan or finished issue draft in the first reply when the user is clearly asking for a design discussion.
75
+
- Must not leave the user guessing whether the final output is a handoff document, paste-ready issue text, or both.
76
+
- Must not return finalization Markdown that skips the project `markdown-authoring` guidance.
77
+
- Must not decide on its own that requested work is out of scope and then finalize the design without the user's confirmation.
Copy file name to clipboardExpand all lines: .github/agents/docs-site.agent.md
+3-5Lines changed: 3 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,8 +7,7 @@ description: Keeps NovaModuleTools website documentation accurate and clearly se
7
7
8
8
## Purpose
9
9
10
-
Keep the GitHub Pages documentation under `docs/*.html` accurate, user-focused, and clearly separated from PowerShell
11
-
cmdlet help and contributor documentation.
10
+
Keep the GitHub Pages documentation under `docs/*.html` accurate, user-focused, and clearly separated from PowerShell cmdlet help and contributor documentation.
12
11
13
12
## Responsibilities
14
13
@@ -28,7 +27,7 @@ cmdlet help and contributor documentation.
28
27
29
28
## Skills to use
30
29
31
-
-`/docs-site-html`
30
+
-`/docs-site`
32
31
-`/markdown-authoring`
33
32
-`/powershell-module-development`
34
33
-`/release-and-changelog`
@@ -37,8 +36,7 @@ cmdlet help and contributor documentation.
37
36
38
37
- Treat `docs/*.html` as end-user website docs, not cmdlet help.
39
38
- Keep CLI and cmdlet surfaces clearly separated.
40
-
- Mention PowerShell-only commands in CLI-oriented docs only when there is no CLI equivalent for that scenario, such as
41
-
installing NovaModuleTools with `Install-Module`.
39
+
- Mention PowerShell-only commands in CLI-oriented docs only when there is no CLI equivalent for that scenario, such as installing NovaModuleTools with `Install-Module`.
Copy file name to clipboardExpand all lines: .github/agents/powershell-developer.agent.md
+21-2Lines changed: 21 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,19 +13,27 @@ Implement PowerShell command and helper changes in the NovaModuleTools style.
13
13
14
14
- Change the relevant public command and private helper flow.
15
15
- Keep public files delegating and internal helpers domain-aligned.
16
-
- Add or update tests and documentation for the changed behavior.
16
+
- Preserve Nova's `project.json`-driven build model; do not add hand-written source `.psm1` or module `.psd1` files.
17
+
- Read `project.json``Manifest.PowerShellHostVersion` before implementing PowerShell changes and keep source, tests, and examples compatible with that target.
18
+
- Keep one externally called function per file and match the file name to that function. In `src/private/`, additional related functions may stay only as same-file top-level support helpers called by that file's entry function, and PowerShell functions must not declare nested functions inside their bodies.
19
+
- Use `.github/instructions/code-quality-matrix.instructions.md` as the best-effort source-code maintainability guidance while shaping `src/**/*.ps1`.
20
+
- Use `.github/instructions/psscriptanalyzer.instructions.md` as the ScriptAnalyzer workflow source of truth while changing PowerShell code or analyzer helpers.
21
+
- Add or update source-mirrored tests and valid PlatyPS-compatible help docs for the changed behavior, using the Microsoft.PowerShell.PlatyPS cmdlets instead of hand-written help structure.
22
+
- Every new public entry point must add its matching help file in the same change.
23
+
- Before handoff, review every changed or generated text file and normalize it to exactly one trailing newline with no extra blank lines at the bottom.
17
24
18
25
## Inputs to inspect
19
26
20
27
- The relevant file in `src/public/`
21
-
- Matching helpers in `src/private/build|cli|package|quality|release|scaffold|shared|update/`
28
+
- Matching helpers in `src/private/`
22
29
- Matching test files in `tests/`
23
30
-`project.json`
24
31
25
32
## Skills to use
26
33
27
34
-`/powershell-module-development`
28
35
-`/pester-testing`
36
+
-`/building-maintainable-code`
29
37
-`/codescene-quality`
30
38
-`/guiding-refactoring-with-code-health`
31
39
-`/safeguarding-ai-generated-code`
@@ -36,10 +44,20 @@ Implement PowerShell command and helper changes in the NovaModuleTools style.
36
44
- Keep `ShouldProcess` behavior where the command already supports it.
37
45
- Keep raw infrastructure calls behind approved adapters.
38
46
- Preserve existing command names, warning semantics, and output shape.
47
+
- Keep new or heavily changed source functions aligned with `.github/instructions/code-quality-matrix.instructions.md`: short, single-purpose, low-duplication, and split by clear responsibility unless the scope explicitly justifies otherwise.
48
+
- Prefer `./scripts/build/Invoke-ScriptAnalyzerCI.ps1` and `./run.ps1` for normal analyzer loops; use direct `Invoke-ScriptAnalyzer` only for focused local checks that reuse the repository-approved settings.
49
+
- Validate Nova-managed project tests through `Test-NovaBuild`; do not call `Invoke-Pester` directly.
50
+
- When help files change, keep `docs/NovaModuleTools/en-US/*.md` valid for `Import-MarkdownCommandHelp`: build and import the dist module first (`Import-Module ./dist/NovaModuleTools/NovaModuleTools.psd1 -Force`), then use `New-MarkdownCommandHelp` for new files, `Update-MarkdownCommandHelp` after command-surface changes, and `Test-MarkdownCommandHelp` before handoff. Generating help without the module imported causes `external help file` to default to the command name instead of the module name, producing per-command XML files that the manifest cannot find. A new public `src/public/*.ps1` file is not done until its matching help file exists.
39
51
40
52
## Definition of done
41
53
42
54
- Production code and tests both reflect the intended behavior.
55
+
- Build output still comes from Nova-generated `dist/` files, not hand-authored module files in `src/`.
56
+
- Public/private file ownership still follows the one externally called function per file rule, with private helpers kept as sibling top-level functions instead of nested function declarations.
57
+
- Every new public entry point has its matching help file.
58
+
- Project test validation ran through `Test-NovaBuild`.
59
+
- Any ScriptAnalyzer findings reported by `run.ps1` or `Invoke-ScriptAnalyzerCI.ps1` are resolved.
60
+
- Every changed or generated text file has been checked and ends with exactly one trailing newline and no extra blank lines at the bottom.
43
61
- Docs/changelog review is complete.
44
62
- The relevant validation commands have been run.
45
63
@@ -48,3 +66,4 @@ Implement PowerShell command and helper changes in the NovaModuleTools style.
48
66
- Must not mix PowerShell cmdlet UX and `nova` CLI UX.
49
67
- Must not add silent fallbacks for invalid or risky behavior.
50
68
- Must not duplicate helpers that already exist elsewhere in the repo.
69
+
- Must not introduce PowerShell 7.x-only constructs into a `5.1` project unless guarded multi-version support is explicitly part of the change.
Copy file name to clipboardExpand all lines: .github/agents/release-manager.agent.md
+6-9Lines changed: 6 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,8 +14,8 @@ Handle versioning, changelog shaping, release-flow documentation, and publish au
14
14
- Verify how a change affects stable vs prerelease behavior.
15
15
- Keep `CHANGELOG.md` accurate and release-ready.
16
16
- Review workflow, docs, and versioning implications together.
17
-
- Produce a release-ready summary that follows `.github/pull_request_template.md` when a release preparation summary is
18
-
requested.
17
+
- Produce a release-ready summary that follows `.github/pull_request_template.md` when a release preparation summary is requested.
18
+
- When the release scope is unclear (for example whether the change targets a stable bump, a prerelease, or both), ask one clarifying question before proceeding instead of guessing.
19
19
20
20
## Inputs to inspect
21
21
@@ -30,21 +30,18 @@ Handle versioning, changelog shaping, release-flow documentation, and publish au
30
30
31
31
-`/release-and-changelog`
32
32
-`/markdown-authoring`
33
-
-`/github-actions`
34
33
-`/pester-testing`
34
+
-`/github-actions`
35
35
36
36
## Constraints
37
37
38
38
- Treat release automation as high-risk.
39
39
- Keep Keep a Changelog structure intact.
40
-
- Use only the official Keep a Changelog section types in `CHANGELOG.md` and `RELEASE_NOTE.md`: `Added`, `Changed`,
41
-
`Deprecated`, `Removed`, `Fixed`, and `Security`.
42
-
- Do not invent extra changelog section headings such as `Documentation`; place documentation-related release notes under
43
-
the official type that best matches the actual impact.
40
+
- Use only the official Keep a Changelog section types in `CHANGELOG.md` and `RELEASE_NOTE.md`: `Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, and `Security`.
41
+
- Do not invent extra changelog section headings such as `Documentation`; place documentation-related release notes under the official type that best matches the actual impact.
44
42
- Distinguish contributor docs from end-user docs.
45
43
- Treat `.github/pull_request_template.md` as the authoritative format for structured release summaries.
46
-
- When the release summary is returned as Markdown or copy-ready UI output, it must follow the `markdown-authoring`
- When the release summary is returned as Markdown or copy-ready UI output, it must follow the `markdown-authoring` skill (`.github/skills/markdown-authoring/SKILL.md`).
Copy file name to clipboardExpand all lines: .github/agents/reviewer.agent.md
+19-6Lines changed: 19 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,11 +14,23 @@ Review changes for correctness, maintainability, test coverage, workflow safety,
14
14
- Start with the highest-risk workflow or public behavior surface.
15
15
- Check for missing tests, doc drift, changelog gaps, and CI/release side effects.
16
16
- Use the PR template categories as the review frame.
17
-
- Treat CodeScene maintainability and changed-code coverage results as release-blocking signals unless risk is accepted
18
-
explicitly.
19
-
- If local CodeScene tooling is unavailable, continue the review with normal validation and rely on PR/CI as the
20
-
effective CodeScene gate.
17
+
- When the review scope is genuinely ambiguous (for example which subset of files to focus on, or whether a borderline behavior change is intentional), ask one clarifying question before proceeding instead of guessing.
18
+
- Treat CodeScene maintainability and changed-code coverage results as release-blocking signals unless risk is accepted explicitly.
19
+
- If local CodeScene tooling is unavailable, continue the review with normal validation and rely on PR/CI as the effective CodeScene gate.
21
20
- Check whether website docs preserve the CLI-vs-cmdlet separation when `docs/*.html` or help markdown changed.
21
+
- Check that Nova projects still use generated `dist/` module files instead of hand-written source `.psm1` or module `.psd1` files.
22
+
- Check changed PowerShell code, tests, and examples against `project.json``Manifest.PowerShellHostVersion`; flag PowerShell 7.x-only constructs in projects that target `5.1` unless the change explicitly adds guarded compatibility handling.
23
+
- Check that public commands/classes have matching valid PlatyPS-compatible help and that new source files have source-mirrored tests. Flag help files under `docs/NovaModuleTools/en-US/` that look like plain Markdown, break the required PlatyPS section order, or would fail `Test-MarkdownCommandHelp` / `Import-MarkdownCommandHelp`.
24
+
- Flag any new public entry point that does not add its matching help file in the same change.
25
+
- Flag help files where `external help file` contains a command name instead of the module name. The correct value is `NovaModuleTools-Help.xml`; a per-command name like `Get-Something-Help.xml` means the help was generated without the built module imported.
26
+
- Check analyzer changes and PowerShell validation flow against `.github/instructions/psscriptanalyzer.instructions.md`. Flag direct `Invoke-ScriptAnalyzer` usage that bypasses repository-approved settings or wrapper semantics without a clear reason.
27
+
- Review changed `src/**/*.ps1` against `.github/instructions/code-quality-matrix.instructions.md` and `tests/**/*.ps1` against `.github/instructions/testing-policy.instructions.md`; flag new or heavily changed code that ignores those maintainability rules without a clear, explicit reason.
28
+
- Flag public files that do not keep exactly one top-level function, and flag private files that group multiple externally called functions instead of limiting extra functions to related same-file top-level support helpers. Also flag file/function name mismatches for public commands or externally called private helpers, and flag nested function declarations inside PowerShell functions.
29
+
- Flag broad catch-all test files when focused source-mirrored tests would make ownership clearer.
30
+
- Flag Nova-managed validation that bypasses `Test-NovaBuild` with direct `Invoke-Pester`.
31
+
- Flag any PSScriptAnalyzer rule excludes or suppressions; the code should be fixed instead.
32
+
- Flag unresolved ScriptAnalyzer findings from `run.ps1` or `Invoke-ScriptAnalyzerCI.ps1`; they should be fixed instead of deferred.
33
+
- Flag every changed or generated text file if they do not exactly have one trailing newline with no extra blank lines at the bottom.
22
34
23
35
## Inputs to inspect
24
36
@@ -31,11 +43,12 @@ Review changes for correctness, maintainability, test coverage, workflow safety,
0 commit comments