Menu

#462 fix(cli): emit compact tune JSON

closed
nobody
duplicate (3)
2026-08-27
2026-08-26
Anonymous
No

Originally created by: slegarraga

Closes [#431]

What

  • Adds separators=(",", ":") to tune --json so it matches the compact JSON contract used by other CLI commands.
  • Adds a focused regression test that parses the output, checks proposals, and asserts neither ", " nor ": " appears.

Verification

  • .venv/bin/pytest tests/unit/test_cli_tune_json.py tests/unit/test_friction_tune.py — 24 passed.
  • .venv/bin/ruff check src tests — passed.
  • .venv/bin/ruff format --check src/doberman/cli/main.py tests/unit/test_cli_tune_json.py — passed.
  • .venv/bin/pytest tests/unit -k 'cli or friction_tune' — 258 passed, 2 skipped.

Related

Tickets: #431

Discussion

  • Anonymous

    Anonymous - 2026-08-26

    Originally posted by: slegarraga

    Quick validation status:

    • Focused tests, full CLI/friction subset, Ruff check, and format check are green.
    • The full parallel suite also reached 91% coverage locally with 3,159 passed; its sole failure was the unrelated plugin-discovery integration case failing to import doberman from its temporary environment.
    • Remote CI: package smoke plus Ubuntu Python 3.11/3.12/3.13 are green; Windows is still running. secret-scan fails before scanning because the org-level GITLEAKS_LICENSE secret is missing, matching the pre-existing repository configuration issue.
     
  • Anonymous

    Anonymous - 2026-08-27

    Originally posted by: fu351

    Closing this one for [#470], @slegarraga, which has the same compact JSON fix as a single-purpose PR. This branch is stacked on your decision-log pruning work from [#461], so merging it here would land that feature under this title. And you were right about secret-scan: the org move made gitleaks-action demand a license that fork PRs can't see. [#480] swaps it for the gitleaks CLI, so once that lands your open PRs need a fresh push (or a close and reopen) to go green. Thanks for spotting it.

     

    Related

    Tickets: #461
    Tickets: #470
    Tickets: #480

  • Anonymous

    Anonymous - 2026-08-27

    Ticket changed by: fu351

    • status: open --> closed
     

Log in to post a comment.