Environment
- Lore v0.8.4 (CLI + loreserver), Windows 11
- Local server over
lore://127.0.0.1, single user, single branch
Summary
lore stage . --dry-run is documented as "only report what would have been
changed and perform no changes", but it persists the computed staged state.
A subsequent real lore stage . reports "No changes staged" because the
work is already done, and lore status shows the full staged file list —
which a following lore commit happily uses.
Repro
# with any uncommitted changes present (marked dirty)
lore stage . --dry-run # prints "Staged repository state <signature>"
lore stage . # prints "No changes staged"
lore status # "Changes staged for commit:" lists every file
lore commit "msg" # commits the dry-run's staged state
Expected
After --dry-run, no staged state exists; the follow-up real lore stage .
stages the changes fresh.
Actual
The dry-run's staged state is persisted and consumed by later commands.
Impact
Low when the preview matched intent, but "preview" operations that mutate
state are an automation hazard: a dry-run followed by an abort still leaves
a staged state, and a staged state blocks synchronization
("Unable to sync when there is a staged state") — so an abandoned preview
can break the next unrelated lore sync until the user discovers
lore unstage.
Workaround
Treat stage --dry-run as a real stage; run lore unstage <path> to clean
up after an abandoned preview.
Environment
lore://127.0.0.1, single user, single branchSummary
lore stage . --dry-runis documented as "only report what would have beenchanged and perform no changes", but it persists the computed staged state.
A subsequent real
lore stage .reports "No changes staged" because thework is already done, and
lore statusshows the full staged file list —which a following
lore commithappily uses.Repro
Expected
After
--dry-run, no staged state exists; the follow-up reallore stage .stages the changes fresh.
Actual
The dry-run's staged state is persisted and consumed by later commands.
Impact
Low when the preview matched intent, but "preview" operations that mutate
state are an automation hazard: a dry-run followed by an abort still leaves
a staged state, and a staged state blocks synchronization
("Unable to sync when there is a staged state") — so an abandoned preview
can break the next unrelated
lore syncuntil the user discoverslore unstage.Workaround
Treat
stage --dry-runas a real stage; runlore unstage <path>to cleanup after an abandoned preview.