Include failed-load source lookup in A1

This commit is contained in:
2026-10-27 14:31:25 +00:00
parent 7330107389
commit 197567177e
2 changed files with 17 additions and 7 deletions

View File

@@ -1,8 +1,8 @@
# Additional Public API Review
Reviewed revision: `3ebb848eadf6e61275ecec6e35838ad6576cdd3a`.
Status: N1–N4 accepted, with N4 incorporated into D6; N5–N6 remain discussion
findings. Implementation has not begun.
Status: N1–N5 accepted, with N4 incorporated into D6 and N5 into A1; N6 remains
open for discussion. Implementation has not begun.
## Scope And Assessment
@@ -13,7 +13,7 @@ It covers loading/discovery, source and resource ownership, paths and collection
registration, callbacks, inspection/diffs, secrets, and diagnostics. It does not
repeat the symbol inventory or conduct a correctness/performance audit.
[api.md](api.md) owns the accepted D1–D8, A1, and N1–N4 changes. Those decisions remain
[api.md](api.md) owns the accepted D1–D8, A1, and N1–N5 changes. Those decisions remain
settled; public path comparison (A2) remains deferred. The findings here are
additional opportunities, including consequences of the accepted cleanup.
@@ -28,12 +28,12 @@ obsolete input-error category, and a missing convenience on failed loads.
| N2: main-tier provenance (accepted) | Rename `LayerBase` to `LayerMain`, with value `"main"`; decision recorded in [api.md](api.md). | Go constant rename and observable string change. |
| N3: shared-history quota (accepted) | Rename `CodeExplainLimitExceeded` to `CodeHistoryLimitExceeded`, with value `"history.limit_exceeded"`; decision recorded in [api.md](api.md). | Go constant rename and machine-readable code change. |
| N4: recording-kind diagnostic (accepted through D6) | Incorporated into [D6 in api.md](api.md#recording-methods-d6). | Conditional constant removal. |
| N5: failed-load source lookup | Add `LoadError.Source(id)` alongside accepted A1. | Compatible addition. |
| N5: failed-load source lookup (accepted through A1) | Incorporated into [A1 in api.md](api.md#direct-source-lookup-a1). | Compatible addition. |
| N6: import-default field names | Consider `FollowSymlinks` and `IncludeHidden`; lower priority. | Go field renames; YAML keys unchanged. |
These are design recommendations, not defect severities or additional release
gates. The string-value changes in N2 and N3 are explicitly accepted; the remaining
findings are proposals for discussion.
gates. The string-value changes in N2 and N3 are explicitly accepted; N6 remains
a proposal for discussion.
## N1. Distinguish Discovery Paths From Semantic Paths
@@ -138,6 +138,9 @@ final D6 implementation, rather than assuming a guard must be deleted now.
## N5. Offer Direct Source Lookup On Failed Loads
Status: accepted and incorporated into [A1](api.md#direct-source-lookup-a1). The
discussion below preserves the rationale and alternative.
Evidence: [diagnostic.go](../../diagnostic.go) exposes `LoadError.Diagnostics()`
and `LoadError.Sources()`. Diagnostic primary and related locations refer to
source IDs. Accepted A1 adds direct lookup on successful results, while