Isolate parsed provider parameters

This commit is contained in:
2026-11-07 15:38:06 +00:00
parent b66d265032
commit c82235100e
6 changed files with 106 additions and 3 deletions

View File

@@ -1,6 +1,6 @@
# Consolidated audit catalog
Status: **26 distinct open findings: four P2 and 22 P3**, consolidated from 30
Status: **25 distinct open findings: three P2 and 22 P3**, consolidated from 30
numbered entries in seven audit documents. Reviewed audit state:
`db732e3a1de55c844f77870e1c6db683c2685d5d`.
@@ -58,6 +58,11 @@ Also noted in the [documentation cross-references](13-documentation.md#previousl
## F02 — P2: CLI provider parameters share mutable state across requests
**Complete.** CLI JSON is copied at captured binding application and each
aggregate seed boundary. Both regressions failed before the fix and focused
aligned-workspace tests passed, including nested objects and arrays, nil and
empty values, and numeric types.
ckprompt assigns parsed `ExtraParams` maps directly to request destinations, and
smoke seeds share those nested maps. Mutation by one callback can change later
smoke requests or another destination receiving the same captured bindings.

View File

@@ -1,6 +1,6 @@
# Audit remediation implementation plan
Status: in progress; Stage 1 complete.
Status: in progress; Stages 1–2 complete.
Baseline: `d492c7747175c01a53261206c2b4356e53453621`. Before this sprint,
intervening changes recorded decisions and retired the completed older
@@ -135,6 +135,13 @@ successful incomplete aggregate or lose cancellation beside another cause.
## Stage 2 — Isolate parsed provider-parameter JSON
**Complete.** Both captured binding replay and aggregate request seed creation
copy nested JSON objects and arrays. The two new boundary regressions failed
against the original implementation; focused request-flag and aggregate tests
passed in the aligned workspace with Go 1.27.0, `GOTOOLCHAIN=local`,
`GOPROXY=off`, and `-mod=readonly`. Nil, empty, integer and decimal values are
covered.
Findings: F02. Sources: ckprompt `request_flags.go` and `smoke_command.go`.
1. Add one private recursive copier for the known CLI JSON object/array