Record requirement inspection identity results

This commit is contained in:
2026-10-09 00:38:19 +00:00
parent 6c5dec761c
commit c09d2c6e20

View File

@@ -354,6 +354,12 @@ queries occur during lookup.
## Stage 9 — Use Profile Identity Lookup During Requirement Inspection
**Status: Complete (2026-10-09).** Requirement inspection now uses the
identity-only profile capability when available and keeps the full-profile
fallback for other internal repositories. Exact identity, error classification,
and partial-profile behavior are covered; benchmark comparison with the Stage 7
baseline is recorded below.
**Outcome:** Requirement inspection no longer deep-copies a target it does not
use.
@@ -642,6 +648,31 @@ next routing change. No public method or ConfigKit query was added. Focused
verification passed: `go test ./internal/configuration ./internal/usecase .`;
both benchmark families were rerun without the race detector.
### Requirement-Inspection Identity Comparison
The before values use the Stage 7 benchmark-only baseline at `04d5d69`; after
values use the same root fixture at `6c5dec7` (`Inspect requirements by
profile identity`). The command and environment are those in the Inspection
Baseline subsection. The small case has two nested provider-option entries and
the larger case has 64; neither benchmark case accesses a provider, artifact,
or schema. Times list all five `ns/op` samples in command order, followed by
median and range.
| Requirement-inspection case | Stage 7 `ns/op` (median; range) | Stage 7 allocations | Identity lookup `ns/op` (median; range) | Identity lookup allocations |
| --- | --- | --- | --- | --- |
| Small extras | 23022, 25193, 24687, 24974, 23157 (24687; 23022–25193) | 11922; 240 | 2895, 2794, 2807, 3047, 2876 (2876; 2794–3047) | 2264; 26 |
| Nested extras | 635726, 642297, 591992, 605001, 590312 (605001; 590312–642297) | 263370–263372; 6008 | 2917, 2730, 2797, 2804, 2787 (2797; 2730–2917) | 2264; 26 |
The 64-entry case reduced cumulative allocation by about 261 KB and 5982
allocations per inspection; its median fell from about 605 microseconds to
2.8 microseconds. The small case fell from about 11.9 KB/240 allocations to
2.3 KB/26 allocations. These fixture-local results support using identity-only
selection for the information inspection consumes; they do not imply provider
latency improvements. The optional-capability and complete-profile fallback
paths preserve exact requested IDs, profile-load error wrapping, and
nil-profile/nil-target validation. Focused verification passed:
`go test ./internal/configuration ./internal/usecase .`.
### Validation And Compiled-Rendering Baseline
The benchmark-only baseline is commit