Scope configuration controls to source roots

This commit is contained in:
2026-11-02 00:33:15 +00:00
parent b9f41d698e
commit 5b03ca6278
4 changed files with 100 additions and 80 deletions

View File

@@ -64,7 +64,7 @@ func TestParseSequenceDeclarationNormalizesEquivalentFieldSets(t *testing.T) {
}
func TestExtractRootDirectivesCombinesAndRemovesImportsAndSequences(t *testing.T) {
extracted := extractSequenceDeclarationsYAML(t, `configkit:
extracted := extractSequenceDeclarationsYAML(t, `config:
imports: [{path: fragments/base.yaml}]
sequences: []
value: true
@@ -78,15 +78,15 @@ value: true
}
func TestExtractRootDirectivesAllowsSequencesButRejectsOverlayImports(t *testing.T) {
_, diagnostics := extractRootDirectives(parseRootDirectiveDocument(t, `configkit:
_, diagnostics := extractRootDirectives(parseRootDirectiveDocument(t, `config:
imports: [{path: fragments/base.yaml}]
sequences: [{destination: [prompts], key: id}]
`), rootDirectiveContextOverlay)
if len(diagnostics) != 1 || diagnostics[0].Code != CodeOverlayDirective || diagnostics[0].Path.String() != "/configkit/imports" {
if len(diagnostics) != 1 || diagnostics[0].Code != CodeOverlayDirective || diagnostics[0].Path.String() != "/config/imports" {
t.Fatalf("overlay diagnostics = %#v, want imports-only rejection", diagnostics)
}
extracted, diagnostics := extractRootDirectives(parseRootDirectiveDocument(t, `configkit:
extracted, diagnostics := extractRootDirectives(parseRootDirectiveDocument(t, `config:
sequences: [{destination: [prompts], key: id}]
`), rootDirectiveContextOverlay)
if len(diagnostics) != 0 || len(extracted.sequences) != 1 {