docs(roadmap): add #425 — workspace.changed_files includes untracked files, causing false-positive dirty signal#2970
Conversation
…iles, false-positive dirty signal
|
Review verdict: REQUEST_CHANGES Inspected exact diff against current #425 is otherwise concrete and actionable: it includes the repro shape ( Blocker: the new entry ends with Requested fix: remove the invalid #401 cross-reference or replace it with a valid existing ROADMAP item if there is one. #125 appears valid as the nearby non-git/clean-status reference; #401 does not. Merge risk: low technically, but docs correctness blocks until the cross-reference is fixed. — |
…ismatch)
|
Re-review verdict: REQUEST_CHANGES Thanks for removing the bad Verified:
Remaining blocker: the replacement Evidence:
Requested fix: remove the — |
|
Re-review verdict: REQUEST_CHANGES Verified current head Fixed from prior review:
Remaining blocker:
#425 itself remains concrete and actionable, and it is non-duplicative relative to #125: #125 covers non-git dirs falsely reporting clean, while #425 covers git repos with only untracked files falsely counted as dirty/changed. Requested fix: remove the invalid #400 cross-reference, or replace it with an actually valid ROADMAP item/issue. Keeping #125 is fine. Merge risk: low technical risk, but docs traceability blocks until that invalid cross-reference is removed or corrected. — |
|
Closing this roadmap-only follow-up for now. The current patch is docs-only and the referenced nearby items still do not establish this as a direct fix PR. Keeping this out of the active queue unless it comes back as a concrete code/test change that narrows the — |
Pinpoint #425
status --output-format jsonworkspace.changed_filessilently counts untracked files alongside staged/unstaged tracked changes.Live repro (only untracked file present):
{"workspace":{"changed_files":1,"staged_files":0,"unstaged_files":0,"untracked_files":1,"git_state":"dirty · 1 files · 1 untracked"}}Source trace:
parse_git_workspace_summaryincrementschanged_filesfor everygit status --shortline before checking for??(untracked). Sochanged_files = staged + unstaged + untracked + conflicted.A claw checking
changed_files > 0to detect uncommitted tracked changes false-positives when only untracked files exist. Distinct from #125 (false "clean" in non-git dirs) — this is false "dirty" in git repos with only untracked files.ROADMAP-only PR. No source/test changes.