Plan independent output destinations

This commit is contained in:
2026-10-03 13:31:37 +00:00
parent 61bc467a03
commit 990ca0b71a
3 changed files with 121 additions and 325 deletions

View File

@@ -3,7 +3,8 @@
**Last updated:** 2026-10-03
**Status:** Proposed; not implemented. This roadmap records the intended external
behavior and work needed to reach it. The [Narratio request](feature-request-narratio.md)
behavior and the reasons for it. The [implementation plan](implementation.md)
owns the ordered work; the [Narratio request](feature-request-narratio.md)
provides the consumer context.
## Purpose
@@ -82,32 +83,6 @@ Audita continues to write stdout and stderr under its existing stream contract.
Narratio captures those streams itself. Audita retains its report filenames and
its nested debug layout.
## Work Needed
- Make CLI destination selection distinguish an explicit `--report-dir` from a
`reporting.stdout_dir` value supplied by defaults, a file, or an overlay.
Continue applying the existing ConfigKit flag override for inspection and
precedence; use explicit flag presence when deciding whether reports for file
output move away from the transcript's parent. Do not rename or broaden the
configuration field for this feature.
- Pass the selected directory to the existing output session for both stdout
and file transcript output. Reuse current collision checks, preflight,
initialization, finalization, and failure handling. Preserve independent
`--work-dir`/debug wiring and correct any coupling found during the work.
- Update process help, the CLI and configuration references, operations, and
subprocess guidance. State clearly that debug can be enabled by configuration
as well as `--debug`, and that a chosen debug root does not enable capture.
Keep report schemas in their existing canonical owner; no schema change is
expected.
- Replace tests that assert `--report-dir` is ignored with tests of explicit
precedence and preserved defaults. Add a representative CLI/subprocess case
using three distinct destinations, plus a failure after report initialization
that leaves available reports in the selected directory. Cover inactive
reporting/debug destinations and existing collision protection at the
narrowest useful test boundary. Validation should follow the
[testing policy](../policy/testing.md), without duplicating every case across
layers.
## Acceptance Criteria
- A CLI caller can provide `--output FILE --report-dir DIR --work-dir ROOT` in