diff --git a/docs/roadmap/api.md b/docs/roadmap/api.md index dad14f2..6af3f63 100644 --- a/docs/roadmap/api.md +++ b/docs/roadmap/api.md @@ -25,6 +25,7 @@ as well. | 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. | | N2 | Replace `LayerBase = "base"` with `LayerMain = "main"`, without a compatibility alias. Update Go references and affected string comparisons, serialization, and rendered labels. Preserve the existing main-tier category, imported contributions' owning tiers, precedence, and acquisition order. | +| N3 | Replace `CodeExplainLimitExceeded = "explain.limit_exceeded"` with `CodeHistoryLimitExceeded = "history.limit_exceeded"`, without a compatibility alias. Update Go references and affected diagnostic-code consumers. Preserve the existing quota, retained-node accounting, failure conditions, diagnostic locations, and admission timing before effective secret lookup and application validation. | ### Recording Methods (D6) diff --git a/docs/roadmap/audit.md b/docs/roadmap/audit.md index e2e398c..35d22ca 100644 --- a/docs/roadmap/audit.md +++ b/docs/roadmap/audit.md @@ -1,7 +1,7 @@ # Additional Public API Review Reviewed revision: `3ebb848eadf6e61275ecec6e35838ad6576cdd3a`. -Status: N1–N2 accepted; N3–N6 remain discussion findings. Implementation has not begun. +Status: N1–N3 accepted; N4–N6 remain discussion findings. Implementation has not begun. ## Scope And Assessment @@ -12,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, A1, and N1–N2 changes. Those decisions remain +[api.md](api.md) owns the accepted D1–D8, A1, and N1–N3 changes. Those decisions remain settled; public path comparison (A2) remains deferred. The findings here are additional opportunities, including consequences of the accepted cleanup. @@ -25,14 +25,14 @@ obsolete input-error category, and a missing convenience on failed loads. | --- | --- | --- | | N1: discovery `Paths` (accepted) | Rename to `SearchPaths`; decision recorded in [api.md](api.md). | Go function rename. | | 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 | Rename `CodeExplainLimitExceeded` to `CodeHistoryLimitExceeded`, with value `"history.limit_exceeded"`. | Go constant rename and machine-readable code 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 | Retire `CodeResolveInvalidKind` if D6 removes its public trigger. | Conditional constant removal. | | N5: failed-load source lookup | Add `LoadError.Source(id)` alongside accepted 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. N2's string-value change is accepted. N3's code-string change still requires -deliberate approval; accepting other naming cleanup does not authorize it. +gates. The string-value changes in N2 and N3 are explicitly accepted; the remaining +findings are proposals for discussion. ## N1. Distinguish Discovery Paths From Semantic Paths @@ -87,6 +87,9 @@ pre-v1 outcome is one consistent term. ## N3. Name The Retained-History Limit For Its Actual Scope +Status: accepted, including the diagnostic-code string change. [api.md](api.md) +owns the selected change; the discussion below preserves its rationale and alternatives. + Evidence: [records.go](../../records.go) exposes `CodeExplainLimitExceeded = "explain.limit_exceeded"`. Its production sites include `executeLoadRequest` in [load.go](../../internal/engine/load.go) and