Complete Phase 18 operational hardening

This commit is contained in:
2026-05-12 13:32:35 +00:00
parent 185f7ca2b6
commit 68e2d9b549
6 changed files with 719 additions and 22 deletions

View File

@@ -31,7 +31,7 @@ The Go rewrite is complete when both of the following are true:
## Current implementation status
The Go rewrite is currently in a deterministic foundation stage.
The Go rewrite now has feature-complete runtime behavior for the module pipeline plus Phase 18 operational hardening coverage.
Implemented:
- CLI command surface for `audita process`.
@@ -97,9 +97,8 @@ Implemented:
- validation override behavior when validation fields are set.
- Generic JSON diagnostics primitives for LLM interactions (request metadata, request payload, response payload, optional error payload) with secret redaction.
Not yet implemented in runtime pipeline:
- Operational hardening beyond current Phase 16 runtime/reporting/diagnostics scope.
- Rollout/Python retirement work.
Not yet implemented:
- Phase 19 rollout and Python retirement/documentation transition work.
## Completed phases
@@ -237,7 +236,7 @@ Not implemented in Phase 8 (by design):
## Remaining work plan
Next recommended phase: **Phase 18 (operational hardening and subprocess integration)**.
Next recommended phase: **Phase 19 (documentation, rollout, and Python retirement)**.
## Phase 9: Structured LLM client and scheduler infrastructure
@@ -628,6 +627,38 @@ The Go binary should be safe to call from other Go applications and should not r
- Operational docs are accurate.
- `go test ./...` passes.
### Phase 18 completion status
Completed.
Implemented:
- Expanded subprocess integration coverage in `cmd/audita/main_integration_test.go` for:
- successful default full-pipeline runs with `--output` and without `--output`;
- successful `--report-json` writes;
- large-transcript subprocess behavior;
- missing/unreadable transcript and missing/malformed glossary failures (portable handling where required);
- unwritable output and unwritable report-json failure behavior (portable handling where required);
- malformed structured LLM response failure behavior;
- synthetic backend LLM failure behavior;
- timeout/cancellation behavior with deterministic context cancellation hooks;
- mid-pipeline failure with partial module progress preserved in reports.
- Hardened subprocess failure stderr output to include diagnostics path when available.
- Added deterministic test-only subprocess LLM/runtime hooks used only in helper-process tests:
- backend failure mode;
- malformed structured-output mode;
- block-until-cancel mode;
- mid-pipeline fail mode.
- Added regression coverage for secret redaction across subprocess stdout/stderr/report/diagnostics artifacts.
- Confirmed existing LLM adapter and scheduler tests continue to cover:
- timeout and context cancellation propagation;
- retry behavior;
- malformed output safety;
- permit release on error/cancellation.
- Added focused subprocess-caller operational guidance in `docs/subprocess-operations.md`.
Intentionally deferred:
- Phase 19 documentation/rollout/Python-retirement transitions.
## Phase 19: Documentation, rollout, and Python retirement
### Purpose