Accept the discovery path constructor rename

This commit is contained in:
2026-10-27 14:25:18 +00:00
parent 14c83a6515
commit e9155fced6
2 changed files with 9 additions and 4 deletions

View File

@@ -7,6 +7,8 @@ This document records the accepted cleanup from that review. The goal is clearer
public vocabulary, recording methods, and direct source lookup before v1.0.0,
preserving existing behavior. The review remains the catalog and analysis; its
other assessments are not automatically adopted by these decisions.
Accepted findings from the [additional API review](audit.md) are recorded here
as well.
## Accepted Changes
@@ -21,6 +23,7 @@ other assessments are not automatically adopted by these decisions.
| D7 | Rename `LoadSecretsDir` to `LoadSecretsIntoEnvironment`, making process-environment mutation explicit. Preserve its signature apart from the name, report-plus-error behavior, and existing bootstrap semantics. |
| D8 | Remove `CodeOptionsUnavailable` after confirming there is no intentional supported role. Do not introduce a failure merely to give the code a producer; a concrete reason to retain it should be brought back for discussion. |
| A1 | Add `Result.Source(id)` for direct lookup of acquired-source evidence, alongside ordered `Sources()` enumeration and passive `SourceContext(id)` resource access. |
| N1 | Rename `Paths(paths ...string) Search` to `SearchPaths(paths ...string) Search`, replacing the old name outright. Preserve literal file candidates, ordering, deferred acquisition, and selection/failure behavior. Leave semantic `Path` APIs and `Searches` unchanged. |
### Recording Methods (D6)

View File

@@ -1,8 +1,7 @@
# Additional Public API Review
Reviewed revision: `3ebb848eadf6e61275ecec6e35838ad6576cdd3a`.
Status: discussion findings; none of the additional changes below is selected
or implemented.
Status: N1 accepted; N2–N6 remain discussion findings. Implementation has not begun.
## Scope And Assessment
@@ -13,7 +12,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 and A1 changes. Those decisions remain
[api.md](api.md) owns the accepted D1–D8, A1, and N1 changes. Those decisions remain
settled; public path comparison (A2) remains deferred. The findings here are
additional opportunities, including consequences of the accepted cleanup.
@@ -24,7 +23,7 @@ obsolete input-error category, and a missing convenience on failed loads.
| Finding | Recommendation | Compatibility impact if accepted |
| --- | --- | --- |
| N1: discovery `Paths` | Rename to `SearchPaths`. | Go function rename. |
| N1: discovery `Paths` (accepted) | Rename to `SearchPaths`; decision recorded in [api.md](api.md). | Go function rename. |
| N2: main-tier provenance | Rename `LayerBase` to `LayerMain`, with value `"main"`. | Go constant rename and observable string change. |
| N3: shared-history quota | Rename `CodeExplainLimitExceeded` to `CodeHistoryLimitExceeded`, with value `"history.limit_exceeded"`. | Go constant rename and machine-readable code change. |
| N4: recording-kind diagnostic | Retire `CodeResolveInvalidKind` if D6 removes its public trigger. | Conditional constant removal. |
@@ -37,6 +36,9 @@ changes; accepting other naming cleanup does not authorize them automatically.
## N1. Distinguish Discovery Paths From Semantic Paths
Status: accepted. [api.md](api.md) owns the selected change; the discussion below
preserves its rationale and alternatives.
Evidence: [path.go](../../path.go) defines `Path`, `Keys`, and `ParsePath` for
configuration-value coordinates. [discovery.go](../../discovery.go) defines
`Paths(paths ...string) Search` for literal host-file candidates. In the same