feat(config): X1 — config completion (memoryMB + group/profile validation) - #27
Merged
Conversation
…/profile validation (spec 12/18) Fill the remaining declarative schema + its semantic validation: - Service.MemoryMB and Workspace.MemoryBudgetMB (spec 12/18) — the per-service budget hint + the workspace budget the `up` warning will key off (the summation/probe is X4/spec 18; this wires the schema so it drops in without a bump). Group.MemoryHintMB, DependsOn, Groups, DefaultProfile, and all hook points already landed (C3a + existing model), completing the config surface. - validateProfiles: every `groups.<g>.services` entry must reference a real service (bare names across the workspace), and `defaultProfile` (if set) must name a defined group or the reserved "all" — both positioned to file:line:col with a did-you-mean. The valid testdata now exercises defaultProfile/groups/memoryBudgetMB/memoryMB; generate ignores them so the golden + determinism are unchanged. Tests: LoadValid asserts the new fields; negative tests for an unknown group service, an unknown defaultProfile group, and the reserved `all`. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Chunk X1 (M6)
Completes the declarative schema + its semantic validation (spec 12/18).
Service.MemoryMB+Workspace.MemoryBudgetMB— the per-service budget hint + workspace budget theupwarning keys off (the summation/host probe is X4/spec 18; this wires the schema so it drops in without a bump).Group.MemoryHintMB,DependsOn,Groups,DefaultProfile, and all hook points already landed (C3a + existing model).validateProfiles— everygroups.<g>.servicesentry must reference a real service (bare names across the workspace);defaultProfile(if set) must name a defined group or the reservedall. Both positioned tofile:line:colwith a did-you-mean.The valid testdata now exercises these; generate ignores them so golden + determinism are unchanged.
Tests
LoadValidasserts the new fields; negatives for unknown group service, unknowndefaultProfile, and the reservedall.Gate
make ci+make determinism+make smokegreen.🤖 Generated with Claude Code