You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Low-severity findings left after the gpt-6.1-sol review of #1461 (Spec 109-m parity and docs). These are gaps in test, traceability or script hardening; none is a product defect.
specs/109-ux-navigation-consistency/acceptance-index.json:426 (R2): The SC-011 catalog-performance ref points to catalog_test.go#TestSearchAll_SourceTimeoutMarkedUnavailable, which only checks that a timed-out source is reported unavailable and does not assert p95. The real budget assertion is internal/registries/catalog_bench_test.go#TestSearchAll_PerformanceBudget, which the index omits. Codex rated it medium; downgraded to low because the real test exists and the fix is a one-line ref swap.
specs/109-ux-navigation-consistency/acceptance-index.json:415 (R3): SC-010 is indexed as automated, but no referenced test runs the combined A1 fixture (14 approvals plus 3 calls, default view shows exactly 3 calls, System events shows 1 folded row). The refs cover halves: activity-system-folding.spec.ts mocks only 14 approvals under view=system, and the view-to-type mapping is tested in Go. The default-view filtering is server-side, so the whole scenario is live-QA territory. Either mark it live_only with a reason or add a combined test. Codex rated it medium; downgraded to low.
internal/server/spec109_mcp_rest_names_test.go:117-123 (R4): The catalog MCP-vs-REST check asserts only six required keys plus the absence of added. It does not compare the full key sets M4/K3 promise, so an MCP-only key or a renamed description goes undetected. Strict equality is impractical because of omitempty, but an MCP-keys-subset-of-REST-tags check is cheap. Codex rated it medium; downgraded to low.
internal/httpapi/spec109_retired_names_test.go:55 (R5): The Vue template-text extractor >([^<>{}\n]+)< skips multi-line text and text containing {{ }}, so a retired label in those forms is not detected. Codex rated it medium; downgraded to low because there are no current hits and it is hardening of a self-checking scanner.
internal/httpapi/spec109_traceability_test.go:243 and :437 (R6): The task resolver accepts any existing file as coverage (a production-only path such as terminology.go passes). The go: acceptance ref regex accepts any func name, including a helper like p109LoadMatrix that Go never runs as a test.
scripts/check-no-unquarantine-callers.sh:25 (R7): If none of the five scan directories exist under ROOT, the script scans nothing and exits 0. Codex ran it against /usr and got a clean pass. The self-test fixtures always create all the dirs.
native/macos/MCPProxy/MCPProxyTests/CatalogOrderParityTests.swift:47 (R8): testTheSearchResponseWrapperDecodesTheSameResults feeds "results":[] and asserts only query and sections, never the decoded result order. It cannot detect reordering or loss inside the CatalogSearchResponse wrapper.
Low-severity findings left after the gpt-6.1-sol review of #1461 (Spec 109-m parity and docs). These are gaps in test, traceability or script hardening; none is a product defect.
specs/109-ux-navigation-consistency/acceptance-index.json:426(R2): The SC-011 catalog-performance ref points tocatalog_test.go#TestSearchAll_SourceTimeoutMarkedUnavailable, which only checks that a timed-out source is reported unavailable and does not assert p95. The real budget assertion isinternal/registries/catalog_bench_test.go#TestSearchAll_PerformanceBudget, which the index omits. Codex rated it medium; downgraded to low because the real test exists and the fix is a one-line ref swap.specs/109-ux-navigation-consistency/acceptance-index.json:415(R3): SC-010 is indexed as automated, but no referenced test runs the combined A1 fixture (14 approvals plus 3 calls, default view shows exactly 3 calls, System events shows 1 folded row). The refs cover halves: activity-system-folding.spec.ts mocks only 14 approvals under view=system, and the view-to-type mapping is tested in Go. The default-view filtering is server-side, so the whole scenario is live-QA territory. Either mark itlive_onlywith a reason or add a combined test. Codex rated it medium; downgraded to low.internal/server/spec109_mcp_rest_names_test.go:117-123(R4): The catalog MCP-vs-REST check asserts only six required keys plus the absence ofadded. It does not compare the full key sets M4/K3 promise, so an MCP-only key or a renameddescriptiongoes undetected. Strict equality is impractical because of omitempty, but an MCP-keys-subset-of-REST-tags check is cheap. Codex rated it medium; downgraded to low.internal/httpapi/spec109_retired_names_test.go:55(R5): The Vue template-text extractor>([^<>{}\n]+)<skips multi-line text and text containing{{ }}, so a retired label in those forms is not detected. Codex rated it medium; downgraded to low because there are no current hits and it is hardening of a self-checking scanner.internal/httpapi/spec109_traceability_test.go:243 and :437(R6): The task resolver accepts any existing file as coverage (a production-only path such as terminology.go passes). Thego:acceptance ref regex accepts anyfuncname, including a helper likep109LoadMatrixthat Go never runs as a test.scripts/check-no-unquarantine-callers.sh:25(R7): If none of the five scan directories exist under ROOT, the script scans nothing and exits 0. Codex ran it against /usr and got a clean pass. The self-test fixtures always create all the dirs.native/macos/MCPProxy/MCPProxyTests/CatalogOrderParityTests.swift:47(R8):testTheSearchResponseWrapperDecodesTheSameResultsfeeds"results":[]and asserts onlyqueryandsections, never the decoded result order. It cannot detect reordering or loss inside the CatalogSearchResponse wrapper.