Skip to content

Fix reDUP CLI check exit status when duplicate budgets are exceeded #20

Closed

Description

@tom-sapletta-com

Parent wellmanifest/PLF-002: backlog intake from regression verification; no competing implementation writer is started. Canonical result: https://github.com/subactor/docs/blob/b80c27e6d4c8caa0c6db389eddb4377d9f86cd8a/architecture/analysis/wellmanifest-standards-harmonization.md .

Reproduced at semcod/redup source827418a798d9a5d4d455ffc7e4228e7d063c106f (editable install metadata0.4.31, source VERSION0.4.48): redup check src --ext .py --min-lines 10 --min-sim 0.80 --max-groups 0 --max-lines 0 exits0 on frozen wellmanifest/metafile310a9dc1f71c16b10b02204f03bdc4c5d88c109f while reporting15files/2062lines/94groups/1152recoverablelines. cli_app/main.py promises threshold enforcement, but scan_commands.check_command only slices printed groups and never raises on exceeded budgets. Receipt comparison SHA256 9df70274f3c5762b114acf14b62f2938e64b624d42fc412092f0e71bf4897940.

Acceptance: enforce explicit/default group and recoverable-line budgets independently of display; meaningful CLI negative fixture exceeds each budget and exits nonzero; equality/zero-duplicates pass; reject invalid budgets; preserve scan/report and existing MCP checks. Add CLI regression coverage using actual invocation. Keep current Metafile/Reuse published heads and protected review requirements frozen. Source implementation requires its own allocated native ticket, canonical worktree and fenced lease; this request grants no runtime or policy bypass.


Strategy Metadata:

  • repository: semcod/redup
  • planfile_id: semcod/redup:3bf056a35590b4a0:PLF-022

Parent wellmanifest/PLF-002: backlog intake from regression verification; no competing implementation writer is started. Canonical result: https://github.com/subactor/docs/blob/b80c27e6d4c8caa0c6db389eddb4377d9f86cd8a/architecture/analysis/wellmanifest-standards-harmonization.md .

Reproduced at semcod/redup source827418a798d9a5d4d455ffc7e4228e7d063c106f (editable install metadata0.4.31, source VERSION0.4.48): redup check src --ext .py --min-lines 10 --min-sim 0.80 --max-groups 0 --max-lines 0 exits0 on frozen wellmanifest/metafile310a9dc1f71c16b10b02204f03bdc4c5d88c109f while reporting15files/2062lines/94groups/1152recoverablelines. cli_app/main.py promises threshold enforcement, but scan_commands.check_command only slices printed groups and never raises on exceeded budgets. Receipt comparison SHA256 9df70274f3c5762b114acf14b62f2938e64b624d42fc412092f0e71bf4897940.

Acceptance: enforce explicit/default group and recoverable-line budgets independently of display; meaningful CLI negative fixture exceeds each budget and exits nonzero; equality/zero-duplicates pass; reject invalid budgets; preserve scan/report and existing MCP checks. Add CLI regression coverage using actual invocation. Keep current Metafile/Reuse published heads and protected review requirements frozen. Source implementation requires its own allocated native ticket, canonical worktree and fenced lease; this request grants no runtime or policy bypass.

Activity

  1. added
    bugSomething isn't working
    planfileAuto-created label for planfile
    managedAuto-created label for managed
    priority-highAuto-created label for priority-high
    on Oct 11, 2026
  2. tom-sapletta-com commented on Oct 11, 2026

    @tom-sapletta-com
    ContributorAuthor

    Implemented as native ticket014 in isolated application worktree; PR #21 exactcd2c6e161ed42381e23b9687b94c38ed20a11044. Full256PASS/13existingSKIP,16new CLIcases; unchanged baseline fails3negativecases. Actual Metafile budget0 now rejects94groups/1152lines. Parent Reuse67/67 and Metafile92/92 plus24/24pinnedcopy parity PASS; source refactor heads preserved. Queue review; declared independent Validator route requested, requiredPython3.10/3.13 controls pending. No author approval/merge or runtime activation. Canonical report remainsv13 pending Docs229 protected recovery.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingmanagedAuto-created label for managedparent:wellmanifest/PLF-002Auto-created label for parent:wellmanifest/PLF-002planfileAuto-created label for planfilepriority-highAuto-created label for priority-high

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions