Skip to content

fix(cleanup): forbid duplicate wrap-up tables; fix(fix-plan): Windows hook-path parsing - #373

Closed
DrumRobot wants to merge 2 commits into
next-fixfrom
fix/cleanup-report-dedup
Closed

fix(cleanup): forbid duplicate wrap-up tables; fix(fix-plan): Windows hook-path parsing#373
DrumRobot wants to merge 2 commits into
next-fixfrom
fix/cleanup-report-dedup

Conversation

@DrumRobot

Copy link
Copy Markdown
Member

Summary

Patch bundle — 2 commits, both fix():

fix(cleanup) — Same-pass duplication rule (cd938f8)

  • 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 (1) the always-repeat visibility rows (Session identity: UUID + /rename candidates; 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.
  • Matching Don't/Do row (7) added to Step 4.5.
  • Task pre-registration paragraph now mandates one direct TaskCreate call attempt (distinguishing "disconnected" from "disabled in this context") and the claude-task CLI as the step-tracking fallback — untracked step state is what produced the duplicated report media.
  • Root cause: all report-media obligations were written against omission, so over-compliance ("repeat everything to be safe") emitted two near-identical full tables minutes apart. (failed-attempts class: cleanup-report-double-output, 1st occurrence.)

fix(fix-plan) — hook_integrity_check Windows path mangling (7e78670)

  • resolve_script_operand used shlex.split in POSIX mode, which strips backslashes from C:\Users\... paths — every Windows hook path resolved to a never-existing file, check_hook_integrity classified all hooks MISSING, and test_installed_schema_is_audited failed on Windows (discovered as this branch's own pre-push CI-parity blocker).
  • Switch to posix=False on 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.py 6/6 pass on Windows (previously 1 failing)
  • Full pytest suite: 94 passed, 4 skipped (local pre-push CI parity green: lint-frontmatter + bats 24 + pytest)
  • Same-pass duplication rule anchors + Step 4.5 row-7 cross-reference resolve
  • Behavioral: next cleanup pass emits one full matrix + delta-style session-end report (observational)

🤖 Generated with Claude Code

…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.
@DrumRobot DrumRobot closed this Aug 27, 2026
@DrumRobot
DrumRobot deleted the fix/cleanup-report-dedup branch August 27, 2026 02:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant