Record final validation and repair audit links
This commit is contained in:
@@ -32,19 +32,19 @@ equivalence promise, is the preservation target.
|
||||
|
||||
### Evidence
|
||||
|
||||
- [TestJSONSchemaNumericConstraintsRetainJSONPrecision](../../../internal/validate/standard_validator_test.go:721)
|
||||
- [TestJSONSchemaNumericConstraintsRetainJSONPrecision](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/validate/standard_validator_test.go#L721)
|
||||
runs the same exact-number constraints through operating-system and `fs.FS`
|
||||
validators using `jsonSchemaValidatorSources`. Both must distinguish adjacent
|
||||
large integers, preserve precise decimal boundaries, and accept the same
|
||||
valid instances.
|
||||
- [TestJSONSchemaDecodingRequiresOneCompleteDocument](../../../internal/validate/standard_validator_test.go:805)
|
||||
- [TestJSONSchemaDecodingRequiresOneCompleteDocument](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/validate/standard_validator_test.go#L805)
|
||||
uses that same source matrix to require equivalent schema/instance framing
|
||||
and the distinction between operational schema errors and rejected output.
|
||||
- [TestSchemaReferencesPreserveEscapedFilenames](../../../internal/validate/standard_validator_test.go:492)
|
||||
- [TestSchemaReferencesPreserveEscapedFilenames](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/validate/standard_validator_test.go#L492)
|
||||
applies the same reference cases to both source implementations, with an
|
||||
explicit platform exception for filenames illegal on Windows.
|
||||
- [TestStandardValidatorPreparedSchemaSurvivesSourceRemoval](../../../internal/validate/standard_validator_test.go:228)
|
||||
and [TestFSValidatorPreparedSchemaSurvivesSourceMutation](../../../internal/validate/standard_validator_test.go:416)
|
||||
- [TestStandardValidatorPreparedSchemaSurvivesSourceRemoval](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/validate/standard_validator_test.go#L228)
|
||||
and [TestFSValidatorPreparedSchemaSurvivesSourceMutation](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/validate/standard_validator_test.go#L416)
|
||||
separately require the same captured schema to accept an integer-valued
|
||||
object and reject a string-valued one after its source changes. Their source
|
||||
operations differ, but the prepared validation responsibility matches.
|
||||
@@ -54,7 +54,7 @@ not require identical filesystem representations or diagnostic strings.
|
||||
|
||||
### Implementation
|
||||
|
||||
[StandardValidator and FSValidator](../../../internal/validate/standard_validator.go:74)
|
||||
[StandardValidator and FSValidator](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/validate/standard_validator.go#L74)
|
||||
each implement `PrepareValidation` and direct `validateJSONSchema`. The four
|
||||
paths repeat compiler setup, root-resource handling, cancellation boundaries,
|
||||
compilation/error wrapping, and construction or use of executable schema
|
||||
@@ -97,17 +97,17 @@ correctness finding, not solved by this extraction.
|
||||
|
||||
### Evidence
|
||||
|
||||
- [TestPublicLLMClientAdapterGivesClientOwnedNestedValues](../../../llm_adapter_internal_test.go:14)
|
||||
- [TestPublicLLMClientAdapterGivesClientOwnedNestedValues](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/llm_adapter_internal_test.go#L14)
|
||||
requires nested provider maps, schema values, messages, and cache metadata to
|
||||
remain independent when an injected client mutates and retains its request.
|
||||
- [TestRunnerPreparedExecutionDetachesTransferredSnapshotSources](../../../internal/usecase/prepared_execution_test.go:634)
|
||||
- [TestRunnerPreparedExecutionDetachesTransferredSnapshotSources](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/usecase/prepared_execution_test.go#L634)
|
||||
separately requires nested provider maps and schema values to survive source
|
||||
mutation, repeated `Details` calls, and execution without aliasing.
|
||||
- [TestCopyHandlesIndirectionAndIsolatesNestedMutations](../../../internal/jsonvalue/jsonvalue_test.go:156)
|
||||
- [TestCopyHandlesIndirectionAndIsolatesNestedMutations](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/jsonvalue/jsonvalue_test.go#L156)
|
||||
exercises the underlying JSON-value ownership responsibility with typed
|
||||
collections and repeated acyclic children. The adjacent scalar/collection
|
||||
tests protect compatible concrete types and exact `json.Number` values.
|
||||
- [TestCopyAndCopyMapApplyDistinctEmptyKeyRules](../../../internal/jsonvalue/jsonvalue_test.go:204)
|
||||
- [TestCopyAndCopyMapApplyDistinctEmptyKeyRules](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/jsonvalue/jsonvalue_test.go#L204)
|
||||
explicitly demonstrates a necessary policy distinction: general schema
|
||||
objects can have empty keys, while provider maps cannot.
|
||||
|
||||
@@ -117,16 +117,16 @@ normalization, and copying on arbitrary Go values.
|
||||
|
||||
### Implementation
|
||||
|
||||
The facade's [copyAny/copyReflectValue](../../../convert.go:406) implements a
|
||||
The facade's [copyAny/copyReflectValue](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/convert.go#L406) implements a
|
||||
separate recursive reflection copier for values projected into client requests,
|
||||
prepared details, results, and profile inspections. Internal prepared-state
|
||||
cloning uses [clonePreparedRun](../../../internal/usecase/prepared_execution.go:226)
|
||||
and [jsonvalue.Copy/CopyMap](../../../internal/jsonvalue/jsonvalue.go:30).
|
||||
cloning uses [clonePreparedRun](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/usecase/prepared_execution.go#L226)
|
||||
and [jsonvalue.Copy/CopyMap](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/jsonvalue/jsonvalue.go#L30).
|
||||
The latter package already owns compatible JSON-tree copying and validation.
|
||||
|
||||
Ordinary runtime provider values reach facade projection after JSON-value
|
||||
validation/copying. The runner also copies its schema document through
|
||||
[structuredOutputFromValidationPlan](../../../internal/usecase/runner.go:419)
|
||||
[structuredOutputFromValidationPlan](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/usecase/runner.go#L419)
|
||||
before projecting it. Thus these normal runtime paths have a common accepted
|
||||
value domain, even though their entry-point policies are different.
|
||||
|
||||
@@ -172,19 +172,19 @@ replacing them with one “all copy functions are equivalent” test.
|
||||
|
||||
### Evidence
|
||||
|
||||
- [TestAnalyzeRequirementsClassifiesKnownConditions](../../../internal/prompt/requirements_test.go:268)
|
||||
- [TestAnalyzeRequirementsClassifiesKnownConditions](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/prompt/requirements_test.go#L268)
|
||||
verifies required/optional classification for selected and skipped `if`
|
||||
branches, and directly compares the recognized branch choice with the real
|
||||
Go renderer. This anchors recognized condition semantics in actual rendering.
|
||||
- [TestAnalyzeRequirementsHandlesWithDotAndNestedReachability](../../../internal/prompt/requirements_test.go:332)
|
||||
- [TestAnalyzeRequirementsHandlesWithDotAndNestedReachability](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/prompt/requirements_test.go#L332)
|
||||
requires the same selected/skipped classification for `with` and nested
|
||||
`if`, while separately protecting `with`'s changed dot and preserved root
|
||||
caller-map access.
|
||||
- [TestAnalyzeRequirementsReportsUnresolvedDecisionAndContentConditions](../../../internal/prompt/requirements_test.go:369)
|
||||
- [TestAnalyzeRequirementsReportsUnresolvedDecisionAndContentConditions](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/prompt/requirements_test.go#L369)
|
||||
protects conditional dependencies and meaningful incompleteness for unknown
|
||||
decisions. It also establishes that an unresolved condition around plain
|
||||
text alone does not make discovery incomplete.
|
||||
- [TestAnalyzeRequirementsDoesNotHideCallerMapScopes](../../../internal/prompt/requirements_test.go:14)
|
||||
- [TestAnalyzeRequirementsDoesNotHideCallerMapScopes](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/prompt/requirements_test.go#L14)
|
||||
compares several scope forms against actual template execution while allowing
|
||||
incomplete analysis for constructs outside recognition scope.
|
||||
|
||||
@@ -195,7 +195,7 @@ or completely interpret arbitrary templates.
|
||||
### Implementation
|
||||
|
||||
The `IfNode` and `WithNode` cases in
|
||||
[requirementWalker.visit](../../../internal/prompt/requirements.go:451)
|
||||
[requirementWalker.visit](https://forge.maximumdirect.net/base-layer/promptkit/src/commit/5177db0/internal/prompt/requirements.go#L451)
|
||||
independently perform inactive-path traversal, condition evaluation, then/else
|
||||
reachability selection, dependency-counter comparison, and limitation recording.
|
||||
`with` adds a different body-dot calculation. `branchReach`, condition
|
||||
|
||||
Reference in New Issue
Block a user