Document shared source version checks
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Implement shared source version checks
|
||||
|
||||
Status: Stages 1–13 complete; documentation reconciliation remains.
|
||||
Status: complete. All 14 implementation stages are validated.
|
||||
|
||||
Audience: a Luna coding agent implementing one numbered stage per prompt, in
|
||||
order. The [feature roadmap](source-version-checks.md) owns target behavior and
|
||||
@@ -668,3 +668,27 @@ No environmental limitation affected validation; checks ran on Linux/amd64.
|
||||
|
||||
Done: implementation, coverage, documentation, and approved scope agree. No
|
||||
product questions remain open under the roadmap and concrete decisions above.
|
||||
|
||||
Completion evidence: updated the public Go comments, configuration contract,
|
||||
consumer guidance, development guide, and component ownership summary for the
|
||||
implemented behavior. Reconciled the original source-version request with later
|
||||
accepted decisions, marked the source-version roadmap implemented, and repaired
|
||||
relative-import/remediation references to the overwritten plan using the
|
||||
confirmed `d9f08ff:docs/roadmap/implementation.md` history pointer. The scope
|
||||
audit found no default-mode expansion, equality/non-null rule, extra path
|
||||
restriction, fragment decoding, callback-order promise, new uniqueness/cap,
|
||||
unsafe evidence query, or release gate. Reviewed behavioral coverage in
|
||||
`internal/engine/source_version_test.go`,
|
||||
`facade_source_version_mode_test.go`,
|
||||
`internal/engine/secret_classification_test.go`,
|
||||
`internal/engine/inheritance_secret_test.go`, and
|
||||
`examples/consumers/layered_test.go`. These checks passed with Go
|
||||
`go1.26.8 linux/amd64`:
|
||||
|
||||
- `GOTOOLCHAIN=local ./scripts/check.sh`
|
||||
- `GOTOOLCHAIN=local GOPROXY=off go test . -run '^TestLocalDocumentationLinks$' -count=1`
|
||||
- `git diff --check`
|
||||
|
||||
No runtime code changed in this documentation unit, so the race suite was not
|
||||
rerun. No environmental limitation affected validation; checks ran on
|
||||
Linux/amd64 only. Publication and release preparation remain outside this work.
|
||||
|
||||
@@ -284,6 +284,12 @@ new limit values or their accounting machinery.
|
||||
|
||||
## Partially Accepted Addition: Shared Source Specification Checks
|
||||
|
||||
Status: the shared-policy portion below is implemented. Current behavior is
|
||||
defined by the [configuration contract](../config.md#shared-source-version-checks),
|
||||
and the accepted decision and implementation evidence are in
|
||||
[ADR 0013](../adr/0013-shared-source-version-checks.md) and the
|
||||
[source-version roadmap](source-version-checks.md).
|
||||
|
||||
### Accepted Scope
|
||||
|
||||
A ConfigKit consumer defines one configuration specification, which may evolve
|
||||
@@ -322,16 +328,19 @@ separate from `Definition.Version`, with ordinary imports exempt from independen
|
||||
checks. It also recommended consuming accepted entry headers and exposing them
|
||||
as source evidence while leaving imported release metadata untouched.
|
||||
|
||||
That full set of semantics has not been accepted. The accepted direction uses
|
||||
one shared `Definition.Version` policy and optional or required declarations
|
||||
across participating sources. Separately versioned subsets or collections are
|
||||
outside this addition's scope and may be considered independently in the future.
|
||||
Header consumption and inspection from the original proposal remain design
|
||||
suggestions, not accepted requirements.
|
||||
The independent collection-entry policies and exemption for ordinary imports
|
||||
were not accepted. The accepted direction instead uses one shared
|
||||
`Definition.Version` policy and optional or required declarations across
|
||||
participating sources. Separately versioned subsets or collections remain
|
||||
outside this addition's scope. Header consumption and sanitized source evidence,
|
||||
which were suggestions in the original proposal, were subsequently accepted for
|
||||
this shared-policy design and are implemented as described by the linked
|
||||
contract.
|
||||
|
||||
### Remaining Design Work
|
||||
### Design Questions Resolved by the Accepted Roadmap
|
||||
|
||||
The following details remain to be resolved before implementation:
|
||||
The following questions were open in the original request and are resolved by
|
||||
the accepted roadmap and ADR 0013:
|
||||
|
||||
- How the configured declaration path is interpreted for individual sources,
|
||||
particularly before destination placement.
|
||||
@@ -345,10 +354,11 @@ The following details remain to be resolved before implementation:
|
||||
existing string/decimal-integer version vocabulary.
|
||||
- The opt-in API, callback lifecycle, and source-local diagnostic attribution.
|
||||
|
||||
In particular, the original example of an imported `version: "2.4.0"` release
|
||||
label is not guaranteed to remain outside checking in an enabled mode. That
|
||||
depends on the chosen header lookup semantics. No automatic field consumption,
|
||||
new coercion, or per-collection checker should be inferred from partial acceptance.
|
||||
In particular, an imported `version: "2.4.0"` at the configured source-local
|
||||
header path is checked and consumed in an enabled mode. Consumers that need an
|
||||
ordinary release label retain it at a different path. No automatic field
|
||||
consumption applies in the default mode, and no new coercion or per-collection
|
||||
checker is part of the implemented design.
|
||||
|
||||
## Requested Addition: Relative Import Destinations
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# Relative Import Destinations Roadmap
|
||||
|
||||
Status: complete. The
|
||||
[implementation plan](implementation.md) preserves sequencing, behavior
|
||||
evidence, and the final compatibility audit.
|
||||
Status: complete. The implementation plan and its evidence were replaced by the
|
||||
shared source-version plan and remain in Git history at
|
||||
`d9f08ff:docs/roadmap/implementation.md`.
|
||||
This roadmap addresses only the relative-import-destination addition in
|
||||
the [PromptKit request](promptkit-feature-request.md#requested-addition-relative-import-destinations).
|
||||
Independent source specification headers are deferred for reconsideration after
|
||||
this work is implemented; they are not a prerequisite or part of this feature.
|
||||
Source-version checks were outside this roadmap's scope and are now implemented
|
||||
separately in the [shared source-version roadmap](source-version-checks.md).
|
||||
|
||||
## Targeted end state
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Reviewed `d3d468a..945e111` against the approved
|
||||
[input-destinations roadmap](input-destinations.md),
|
||||
input-destination implementation plan (preserved at
|
||||
input-destination implementation plan (preserved in Git history at
|
||||
`315f464:docs/roadmap/implementation.md`), and
|
||||
[ADR 0011](../adr/0011-input-destinations.md).
|
||||
|
||||
@@ -93,7 +93,8 @@ Required remediation:
|
||||
|
||||
Reviewed `7248a8b..10edd95` against the
|
||||
[relative-import roadmap](relative-import-destinations.md), completed
|
||||
[implementation plan](implementation.md), and
|
||||
implementation plan (preserved in Git history at
|
||||
`d9f08ff:docs/roadmap/implementation.md`), and
|
||||
[ADR 0012](../adr/0012-relative-import-destinations.md).
|
||||
|
||||
The implementation matches the selected architecture: literal string segments
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
# Shared Source Version Checks Roadmap
|
||||
|
||||
Status: design decisions are recorded in [ADR 0013](../adr/0013-shared-source-version-checks.md);
|
||||
implementation has not started. The
|
||||
[implementation plan](implementation.md) owns execution order, concrete API and
|
||||
integration decisions, and completion evidence. This roadmap develops the
|
||||
Status: implemented and validated. Current behavior is owned by the
|
||||
[configuration contract](../config.md#shared-source-version-checks), and the
|
||||
accepted decision is recorded in [ADR 0013](../adr/0013-shared-source-version-checks.md).
|
||||
The completed [implementation plan](implementation.md) records execution and
|
||||
validation evidence. This roadmap develops the
|
||||
partially accepted source-version request in
|
||||
[PromptKit's proposal](promptkit-feature-request.md#partially-accepted-addition-shared-source-specification-checks)
|
||||
using the consumer's single `Definition.Version` policy. The design direction
|
||||
@@ -19,8 +20,10 @@ is one consumer-owned configuration specification and one acceptance policy.
|
||||
Different accepted declarations may coexist: ConfigKit does not require exact
|
||||
equality with the main declaration, impose SemVer, or invent an expected value.
|
||||
|
||||
The consumer selects a load-wide enum on ordinary and layered options. Its zero
|
||||
value retains current behavior; the implementation plan selects exported names.
|
||||
The consumer selects `SourceVersionMode` on ordinary and layered options. Its
|
||||
zero value retains current behavior. The modes are
|
||||
`SourceVersionModeDefault`, `SourceVersionModeIfPresent`, and
|
||||
`SourceVersionModeRequired`.
|
||||
The same `Definition.Version` can be reused across loads with different
|
||||
strictness. The three modes are:
|
||||
|
||||
@@ -204,8 +207,9 @@ outside this feature's completion criteria.
|
||||
The maintainer has accepted all three decisions below. Together with the mode
|
||||
API location, source participation, main-path handling, source-record evidence,
|
||||
and nested mapping ancestor preservation above, these settle the discussed
|
||||
product decisions. The [implementation plan](implementation.md) selects public
|
||||
names and integration mechanics; the feature is not yet implemented.
|
||||
product decisions. Public names and integration mechanics are recorded in the
|
||||
completed [implementation plan](implementation.md); current behavior belongs
|
||||
to the [configuration contract](../config.md#shared-source-version-checks).
|
||||
|
||||
### Sensitivity of consumed declaration evidence
|
||||
|
||||
|
||||
Reference in New Issue
Block a user