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
nova bump should not silently fall back to Patch with Commits: 0 when Git-based bump inference is unavailable.
The current behavior is user-hostile because it produces a plausible version plan even when Nova did not actually infer the label from Git history. That can lead to an incorrect version bump.
If Git-based inference is genuinely unavailable, Nova should not silently present a normal-looking inferred patch plan.
In that non-git / no-inference case, Nova should clearly explain that bump inference is unavailable and require an explicit opt-in such as -OverrideWarning, --override-warning, or -o before proceeding with a fallback patch bump.
That preserves compatibility for valid non-git workflows (for example shipped example projects or template flows) while making the risk explicit.
Actual behavior
Nova currently falls back to a patch plan with Commits: 0, which makes it look like a valid inference result even when commit history was not used:
What if: Performing the operation "Update module version using Patch release label" on target "project.json".
Version plan: 1.5.4-preview -> 1.5.4 | Label: Patch | Commits: 0
That output hides the distinction between:
"Nova successfully inspected Git history and the result is Patch"
"Nova could not infer the label at all, so it fell back"
NovaModuleTools version
2.3.0
Where did you hit the issue?
nova CLI
Command or cmdlet
nova bump -w
Relevant output or logs
PWD: /Users/stiwi.courage/workspace/arbejdstilsynet/Tools/AzureDevOpsAgentInstaller
DIRECT .git: no
GIT TOPLEVEL: /Users/stiwi.courage/workspace/arbejdstilsynet/Tools
GIT DIR: /Users/stiwi.courage/workspace/arbejdstilsynet/Tools/.git
What if: Performing the operation "Update module version using Patch release label" on target "project.json".
Version plan: 1.5.4-preview -> 1.5.4 | Label: Patch | Commits: 0
Relevant project.json snippet
{
"Version": "1.5.4-preview"
}
Operating system
macOS 26.4.1
PowerShell version
7.5.4
Shell
PowerShell
Installation method
Installed nova launcher
Regression?
Not sure
Additional context
The root cause for one case is repo detection (#174), but this issue is specifically about fallback handling and user experience when inference is unavailable.
I checked the code path and Nova currently:
returns no commit messages when .git is not directly inside the project root
then falls back to Patch
and reports Commits: 0
That is too easy to misread as a legitimate inferred result.
A good fix would preserve non-git use cases, but make the fallback explicit and intentional instead of silent.
Summary
nova bumpshould not silently fall back toPatchwithCommits: 0when Git-based bump inference is unavailable.The current behavior is user-hostile because it produces a plausible version plan even when Nova did not actually infer the label from Git history. That can lead to an incorrect version bump.
This is a follow-up to #174.
Steps to reproduce
project.jsonversion such as1.5.4-preview.nova bump -win a case where Nova cannot infer the bump label from Git history.Expected behavior
Nova should use a compatibility model that is safe and explicit for users:
-OverrideWarning,--override-warning, or-obefore proceeding with a fallback patch bump.Actual behavior
Nova currently falls back to a patch plan with
Commits: 0, which makes it look like a valid inference result even when commit history was not used:That output hides the distinction between:
NovaModuleTools version
2.3.0
Where did you hit the issue?
nova CLI
Command or cmdlet
nova bump -wRelevant output or logs
Relevant
project.jsonsnippet{ "Version": "1.5.4-preview" }Operating system
macOS 26.4.1
PowerShell version
7.5.4
Shell
PowerShell
Installation method
Installed nova launcher
Regression?
Not sure
Additional context
The root cause for one case is repo detection (#174), but this issue is specifically about fallback handling and user experience when inference is unavailable.
I checked the code path and Nova currently:
.gitis not directly inside the project rootPatchCommits: 0That is too easy to misread as a legitimate inferred result.
A good fix would preserve non-git use cases, but make the fallback explicit and intentional instead of silent.