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
{{ message }}
Repository navigation
Decide Whether IsMediaAndToolsCurrent Has the Tool-Change Sense Inverted #1079
SidecarFile.Read() marks the sidecar out of date when IsToolsCurrent() is false andSidecarUpdateOnToolChange is on. SidecarFile.IsMediaAndToolsCurrent(), which Update() uses to decide whether to rerun the tools, treats tools as current when IsToolsCurrent() is true orSidecarUpdateOnToolChange is on.
The two read as opposite senses:
With the option on, Read() already forced an update, so the or makes Update() skip the tool check.
With the option off, Update() reruns the tools whenever the versions differ, which is the case the option is meant to leave alone. Update() only runs when the state or media changed.
Reproduction shape
Set SidecarUpdateOnToolChange: false, process name.mkv, and then upgrade a media tool.
Process again with a change that alters the state.
Update() reruns all tools and rewrites the stored tool versions.
Decision needed
Is this intended, or should IsMediaAndToolsCurrent() use IsToolsCurrent() || !SidecarUpdateOnToolChange?
Found while drawing the process command diagrams, ARCHITECTURE.md "Process Command Logic", suspect branch S11.
Decision from the maintainer: not intended. Invert the check to IsToolsCurrent() || !SidecarUpdateOnToolChange, so it matches the sense of Read(). With the option off, a tool upgrade then never triggers a tool rerun.
This issue now tracks that fix on the process-findings handoff track.
Claim (backlog burndown round 1): branch feature/1079-tool-change-sense, files PlexCleaner/SidecarFile.cs, new PlexCleanerTests/ToolChangeSenseTests.cs. ARCHITECTURE.md and HISTORY.md are deferred to one final docs pull request by the maintainer's choice, so this group does not touch them.
Activity
ptr727 commentedon Oct 30, 2026
Decision from the maintainer: not intended. Invert the check to
IsToolsCurrent() || !SidecarUpdateOnToolChange, so it matches the sense ofRead(). With the option off, a tool upgrade then never triggers a tool rerun.This issue now tracks that fix on the
process-findingshandoff track.ptr727 commentedon Oct 31, 2026
Claim (backlog burndown round 1): branch
feature/1079-tool-change-sense, filesPlexCleaner/SidecarFile.cs, newPlexCleanerTests/ToolChangeSenseTests.cs.ARCHITECTURE.mdandHISTORY.mdare deferred to one final docs pull request by the maintainer's choice, so this group does not touch them.