cli: `doberman log` columns shift for `network_request` and `package_install` rows
Your AI's guard dog to stop it from going rogue.
Brought to you by:
doberman
Originally created by: fu351
doberman log pads the action type to a fixed 13 characters (src/doberman/cli/main.py:1345: {row['action_type']:<13}). Two ActionType values are 15 characters long, network_request and package_install (src/doberman/models.py:25,27), so their rows push the target and reason-code columns two characters to the right. After doberman demo --fast --path <tmp>:
2026-08-20T19:32:19 BLOCK git_op - [destructive_command, egress_requires_auth]
2026-08-20T19:32:20 BLOCK network_request - [smuggled_token_channel]
What to do
src/doberman/render.py:30 already does for verdicts (_LABEL_WIDTH = max(len(v.value) for v in Verdict)). An _ACTION_WIDTH = max(len(a.value) for a in ActionType) next to the log command, used as {row['action_type']:<{_ACTION_WIDTH}}, is the whole fix.tests/unit/test_cli_log_jsonl.py: seed one network_request and one git_op decision, run log, and assert the - target column starts at the same offset on both lines.pytest tests/unit -k cli_log green.Text output only; the --jsonl path is untouched.
Ticket changed by: fu351