From e9155fced68eb85f9ea6f84e2cc43224bf509809 Mon Sep 17 00:00:00 2001 From: Eric Rakestraw Date: Tue, 27 Oct 2026 14:25:18 +0000 Subject: [PATCH] Accept the discovery path constructor rename --- docs/roadmap/api.md | 3 +++ docs/roadmap/audit.md | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/roadmap/api.md b/docs/roadmap/api.md index 10b4487..ddd65fc 100644 --- a/docs/roadmap/api.md +++ b/docs/roadmap/api.md @@ -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) diff --git a/docs/roadmap/audit.md b/docs/roadmap/audit.md index 9814c2a..b902ba5 100644 --- a/docs/roadmap/audit.md +++ b/docs/roadmap/audit.md @@ -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