Record selective source version requirements as future work
This commit is contained in:
@@ -94,3 +94,39 @@ or cross-path parent references are requested.
|
|||||||
Keep the feature deferred until its consumer value and full lifecycle design
|
Keep the feature deferred until its consumer value and full lifecycle design
|
||||||
justify reconsidering the sequence-merging exclusion. A correct final sequence
|
justify reconsidering the sequence-merging exclusion. A correct final sequence
|
||||||
alone would not establish correct inspection or disclosure behavior.
|
alone would not establish correct inspection or disclosure behavior.
|
||||||
|
|
||||||
|
## 2. Required version declarations for selected sources
|
||||||
|
|
||||||
|
Status: deferred. PromptKit requested a way to require version declarations on
|
||||||
|
a selected subset of source files while permitting other fragments to omit them.
|
||||||
|
|
||||||
|
### Motivation and proposed behavior
|
||||||
|
|
||||||
|
PromptKit could require each collection's root file (for example,
|
||||||
|
`collection.yml` or `meta.yml`, with naming still undecided) to declare an
|
||||||
|
accepted specification version. Other files would use the existing
|
||||||
|
[check-when-present behavior](../config.md#shared-source-version-checks).
|
||||||
|
This would enforce a rule that otherwise remains a documentation convention.
|
||||||
|
|
||||||
|
All declarations would use the same application-owned `Definition.Version`
|
||||||
|
path and acceptance policy. The proposal concerns where declarations are
|
||||||
|
required; it does not introduce independently versioned collections or subtrees.
|
||||||
|
A root declaration would not prove that headerless descendants declare a
|
||||||
|
compatible version or replace final configuration validation.
|
||||||
|
|
||||||
|
### Questions to resolve before implementation
|
||||||
|
|
||||||
|
- **Selection API:** should callers mark explicit inputs, select sources by
|
||||||
|
path or predicate, or annotate imports? An input-level requirement is simpler,
|
||||||
|
but cannot by itself select a root reached only through an import.
|
||||||
|
- **Scope:** does a requirement apply only to the selected document or also to
|
||||||
|
its imports? Applying it only to that document best fits PromptKit's request;
|
||||||
|
imported fragments could still declare versions checked by the shared policy.
|
||||||
|
- **Mode interaction:** how should selection interact with disabled source
|
||||||
|
checks? Require an enabled mode, or activate checking for selected sources?
|
||||||
|
Selection would strengthen check-when-present behavior and add no requirement
|
||||||
|
beyond the load-wide required mode.
|
||||||
|
- **Source handling and evidence:** how should selection work across file,
|
||||||
|
reader, byte, and mapping inputs, glob matches, and repeated imports? Define
|
||||||
|
behavior for absent optional inputs and preserve source-local diagnostics,
|
||||||
|
inspection evidence, and existing sensitivity handling.
|
||||||
|
|||||||
Reference in New Issue
Block a user