fix(cleanup): forbid duplicate wrap-up tables; fix(fix-plan): Windows hook-path parsing - #373
Closed
DrumRobot wants to merge 2 commits into
Closed
fix(cleanup): forbid duplicate wrap-up tables; fix(fix-plan): Windows hook-path parsing#373DrumRobot wants to merge 2 commits into
DrumRobot wants to merge 2 commits into
Conversation
…racking fallback Adds a "Same-pass duplication rule" to the Step 5 Mandatory Rows section: once the Step 4.5 comprehensive matrix has been emitted in a cleanup pass, the session-end report must not re-emit the full step table — it carries only the always-repeat visibility rows (Session identity + /rename candidates, RAG store rows with concrete chunk counts), the post-matrix delta (Step 5/5.5 results), and a one-line reference to the earlier table. Adds the matching Don't/Do row to Step 4.5 and requires the claude-task CLI (todowrite skill) as the step-tracking fallback when TaskCreate/TaskList are unavailable, including one direct TaskCreate call attempt to distinguish "disconnected" from "disabled in this context". Root cause: report-media obligations were all written against omission, so over-compliance (repeat everything) emitted two near-identical tables minutes apart while untracked step state hid that the matrix had already been published.
resolve_script_operand parsed hook commands with shlex.split in POSIX mode, which treats backslashes as escape characters — every Windows-style path (C:\Users\...) lost its separators and resolved to a never-existing file, so check_hook_integrity classified all installed hooks as MISSING on Windows and test_installed_schema_is_audited failed there (pre-push CI parity blocker). Switch to posix=False on Windows only: non-POSIX mode still groups quoted tokens, surrounding quotes are already stripped on return, and POSIX platforms keep the exact previous behavior.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Patch bundle — 2 commits, both
fix():fix(cleanup)— Same-pass duplication rule (cd938f8)/renamecandidates; RAG store rows with concrete chunk counts — these repeat verbatim by design), (2) the post-matrix delta (Step 5 wip result, Step 5.5 prune), and (3) a one-line reference to the earlier table.TaskCreatecall attempt (distinguishing "disconnected" from "disabled in this context") and theclaude-taskCLI as the step-tracking fallback — untracked step state is what produced the duplicated report media.cleanup-report-double-output, 1st occurrence.)fix(fix-plan)— hook_integrity_check Windows path mangling (7e78670)resolve_script_operandusedshlex.splitin POSIX mode, which strips backslashes fromC:\Users\...paths — every Windows hook path resolved to a never-existing file,check_hook_integrityclassified all hooks MISSING, andtest_installed_schema_is_auditedfailed on Windows (discovered as this branch's own pre-push CI-parity blocker).posix=Falseon Windows only; POSIX platforms keep the exact previous behavior (quoted-token grouping preserved, surrounding quotes already stripped on return).Test plan
tests/test_hook_integrity_check.py6/6 pass on Windows (previously 1 failing)Same-pass duplication ruleanchors + Step 4.5 row-7 cross-reference resolve🤖 Generated with Claude Code