Apply ConfigKit operational configuration defaults

This commit is contained in:
2026-09-13 16:26:18 +00:00
parent b822e7f510
commit b1cd919605
6 changed files with 525 additions and 57 deletions

View File

@@ -29,14 +29,9 @@ func loadDocumentSource(source configkit.Source, options LoadOptions) (*configki
func documentDefinition() configkit.Definition[Document] {
return configkit.Definition[Document]{
Defaults: func() Document {
return Document{
Pipelines: map[string]PipelineDocument{},
Concurrency: &ConcurrencyDocument{
StageWorkers: map[string]int{},
},
}
},
Defaults: documentDefaults,
Resolve: resolveDocumentOperations,
Validate: validateDocumentOperations,
Version: &configkit.VersionRule{
Path: configkit.Keys("version"),
Check: validateDocumentVersion,
@@ -44,6 +39,30 @@ func documentDefinition() configkit.Definition[Document] {
}
}
func documentDefaults() Document {
return Document{
Pipelines: map[string]PipelineDocument{},
Concurrency: &ConcurrencyDocument{
TotalLLM: documentValue(defaultLLMConcurrency),
StageWorkers: map[string]int{},
},
Output: &OutputDocument{Directory: documentValue("./notarius-output")},
Cache: &CacheDocument{
ChunkPlans: &ChunkPlanCacheDocument{
Directory: documentValue(""),
Mode: documentValue("auto"),
},
Checkpoints: &CheckpointCacheDocument{
Enabled: documentValue(false),
Directory: documentValue(""),
},
},
Debug: &DebugDocument{Directory: documentValue("./notarius-debug")},
}
}
func documentValue[T any](value T) *T { return &value }
func validateDocumentVersion(version configkit.Version, validation *configkit.Validation) error {
if !version.Present || version.Null {
validation.Error(configkit.Keys("version"), "configuration version is required")