Skip to content

fix(#152): enhance Get-NovaProjectInfo to include installed NovaModul…#167

Merged
stiwicourage merged 1 commit into
developfrom
bug/152-bug-powershell-surface-lacks-a-nova---version-equivalent-for-installed-novamoduletools-version
May 6, 2026
Merged

fix(#152): enhance Get-NovaProjectInfo to include installed NovaModul…#167
stiwicourage merged 1 commit into
developfrom
bug/152-bug-powershell-surface-lacks-a-nova---version-equivalent-for-installed-novamoduletools-version

Conversation

@stiwicourage

Copy link
Copy Markdown
Owner

Summary

  • Add Get-NovaProjectInfo -Installed so the PowerShell surface can report the installed NovaModuleTools module name and version directly, instead of requiring the launcher-only % nova --version path.
  • Update the help/docs set (README.md, docs/NovaModuleTools/en-US/Get-NovaProjectInfo.md, docs/NovaModuleTools/en-US/NovaModuleTools.md, docs/commands.html, and docs/versioning-and-updates.html) so the project-version, installed-project-version, and installed-tool-version views are explained consistently.
  • Closes [Bug]: PowerShell surface lacks a nova --version equivalent for installed NovaModuleTools version #152.

Affected area

  • nova CLI or command routing
  • Public PowerShell cmdlet behavior
  • Scaffolding or project.json handling
  • Build, test, analyzer, coverage, or CI helper flow
  • Package, raw upload, or package metadata workflow
  • Publish, release, or GitHub Actions automation
  • Self-update or notification preference behavior
  • Contributor documentation (README.md, CONTRIBUTING.md, repository workflow docs)
  • End-user docs (docs/*.html)
  • Command help (docs/NovaModuleTools/en-US/*.md)
  • src/resources/example/
  • Dependency or manifest changes (project.json, workflow dependencies, release tooling)
  • Security-sensitive change
  • Documentation-only change
  • Other

Review guidance

  • Start with src/public/GetNovaProjectInfo.ps1, because the change is intentionally small there: -Installed gets its own parameter set and returns the installed NovaModuleTools name/version without resolving project.json.
  • Then review tests/NovaCommandModel.Tests.ps1 and tests/ArchitectureGuardrails.Tests.ps1 to confirm the new installed-version path is covered and the approved helper surface was updated for the cmdlet.
  • Finish with docs/NovaModuleTools/en-US/Get-NovaProjectInfo.md, docs/commands.html, docs/versioning-and-updates.html, README.md, and CHANGELOG.md for the user-facing wording and version-view examples.
  • Minor side change: src/private/cli/SetNovaCliExecutablePermission.ps1 now suppresses chmod stderr noise, but it does not change the permission-update failure behavior.

Validation

  • Invoke-NovaBuild
  • Test-NovaBuild
  • ./scripts/build/Invoke-ScriptAnalyzerCI.ps1
  • ./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)
  • Docs/example only; executable validation not needed

Validation notes:

Focused validation run from the repository root:
- pwsh -NoProfile -Command '$ErrorActionPreference = "Stop"; Set-Location "/Users/stiwi.courage/workspace/couragedk/NovaModuleTools"; Invoke-NovaBuild; Invoke-Pester -Path "./tests/NovaCommandModel.Tests.ps1","./tests/ArchitectureGuardrails.Tests.ps1" -Output Detailed'
- Result: 47 passed, 0 failed

Repository analyzer validation:
- pwsh -NoProfile -Command '$ErrorActionPreference = "Stop"; Set-Location "/Users/stiwi.courage/workspace/couragedk/NovaModuleTools"; ./scripts/build/Invoke-ScriptAnalyzerCI.ps1; Get-Content -LiteralPath "./artifacts/scriptanalyzer.txt" -Raw'
- Result: PSScriptAnalyzer: no findings.

Maintainability safeguard:
- Code Health branch diff against `develop`: passed

I did not run a launcher-oriented `% nova ...` validation because this change adds a PowerShell-only installed-tool view on top of the existing installed-version helper, and the targeted cmdlet/tests cover the changed behavior directly.

Documentation and release follow-up

  • README.md reviewed and updated if contributor workflow, architecture, CI, release, or automation changed
  • CONTRIBUTING.md reviewed and updated if contribution expectations or review guidance changed
  • CHANGELOG.md reviewed and updated if the change matters to users, maintainers, or contributors
  • docs/NovaModuleTools/en-US/ help updated if a public command or CLI behavior changed
  • docs/*.html updated if end-user workflows or examples changed
  • src/resources/example/ reviewed and updated if the real-world project layout, package model, or upload workflow
    changed
  • No documentation, changelog, or example updates were needed

Maintainability, compatibility, and risk

  • Code Health / maintainability impact considered
  • No breaking change
  • Breaking change
  • Security-sensitive change
  • CI, workflow, or release-pipeline impact
  • Dependency-review impact

Risk, rollout, or rollback notes:

Low risk: the behavior change is additive and limited to a new `Get-NovaProjectInfo -Installed` parameter set on the PowerShell surface.

Compatibility impact should be minimal because the existing default and `-Version` paths are unchanged, and the installed-version logic reuses the existing internal helper that already formats Nova tool versions.

Rollback is straightforward: remove the `-Installed` parameter set from `src/public/GetNovaProjectInfo.ps1`, revert the new test expectations, and revert the related README/help/docs/changelog wording.

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.

…eTools version

- Add -Installed parameter to return the installed NovaModuleTools name and version
- Update documentation and examples for new version view
@github-actions

github-actions Bot commented May 6, 2026

Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@codescene-delta-analysis codescene-delta-analysis Bot 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.

Gates Passed
6 Quality Gates Passed

See analysis details in CodeScene

Quality Gate Profile: Pay Down Tech Debt
Install CodeScene MCP: safeguard and uplift AI-generated code. Catch issues early with our IDE extension and CLI tool.

@codecov

codecov Bot commented May 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@codescene-delta-analysis codescene-delta-analysis Bot 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.

Code Coverage Gates Passed
Overall Coverage: 100.0% (required = 95%)
New & Changed Code Coverage: 100% (required = 100%)

Review details by gate
  • Overall Coverage

    • Pass/Fail Reason:
      The overall coverage gate was checked for all code and meets the goal: 100.0% covered >= threshold = 95%
    • Action:
      You have 281 files with a sum of 2848 covered and 1 uncovered lines of code.
  • New & Changed Code Coverage

    • Pass/Fail Reason:
      New or changed code meets coverage goal: 100% covered >= threshold = 100%
    • Action:
      You modified 2 files, and covered 5 added/modified lines of code.

@stiwicourage
stiwicourage merged commit eb4addb into develop May 6, 2026
15 checks passed
@stiwicourage
stiwicourage deleted the bug/152-bug-powershell-surface-lacks-a-nova---version-equivalent-for-installed-novamoduletools-version branch May 12, 2026 05:48
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.

[Bug]: PowerShell surface lacks a nova --version equivalent for installed NovaModuleTools version

1 participant