Originally created by: fu351
doberman log already reads newest-first decision rows from the redacted local decision log and prints them for humans. An opt-in JSON Lines mode would let local scripts consume the same safe rows one record at a time.
src/doberman/cli/main.py — the log commandsrc/doberman/storage/log.py — redacted decision-row readstests/integration/test_cli_views.pytests/integration/test_decision_log.py--jsonl option to doberman log.--last and --path behavior.--jsonl is absent.--last, empty results, default-output compatibility, and redaction.Seed a temporary decision database with known redacted rows, invoke the command with CliRunner, and parse each nonempty stdout line independently with Python's standard json module.
Include a synthetic secret in the pre-redaction input and assert that it never appears in JSONL output.
This feature must not weaken write-time redaction or reconstruct raw values. Serialization failures must not reveal the source row or secret-bearing inputs in diagnostics. Logging remains observational and must not affect a security decision.
See CONTRIBUTING.md (github.com) before opening a pull request.
Ticket changed by: fu351