feat(config): installation minimal-subset — schema, adapters, core, render (CONFIGIMPL) #1469

Open
code-be-01 wants to merge 1 commits from config/minimal-subset into next
Member

Implements the config minimal desired-state subset per the PASSED spec docs/specs/2026-08-29_mosaic-config-minimal-subset.md (spec review PASS deff617d, rev-code-02).

Files under packages/mosaic/src/config/installation/: types.ts (all TypeScript contracts, 17 diagnostic codes, exit constants, preset data, dependency-gate marker), schema.ts (strict YAML, closed-map blueprint+bindings validation, 1 MiB bounded), adapters.ts (canonical digests, bounded file reader, BlockedRegistryAdapter stub, bindings resolution, Git ignore probe, path resolvers), core.ts (InstallationConfigCore — shared 11-step pipeline for validate and plan), render.ts (JSON + table renderers), installation.spec.ts (26 test arms).

DEPENDENCY GATE honored: registry adapter is an explicit stub (REGISTRY_RESOLVER_BLOCKED, CFG-REQ-001..006 marker); profile/role resolution and desired-roster generation are notChecked. No registry key added, no ConfigService extended, no mutation path exists.

26/26 test arms green. Typecheck clean. Lint clean. Prettier clean.

Implements the config minimal desired-state subset per the PASSED spec docs/specs/2026-08-29_mosaic-config-minimal-subset.md (spec review PASS deff617d, rev-code-02). Files under packages/mosaic/src/config/installation/: types.ts (all TypeScript contracts, 17 diagnostic codes, exit constants, preset data, dependency-gate marker), schema.ts (strict YAML, closed-map blueprint+bindings validation, 1 MiB bounded), adapters.ts (canonical digests, bounded file reader, BlockedRegistryAdapter stub, bindings resolution, Git ignore probe, path resolvers), core.ts (InstallationConfigCore — shared 11-step pipeline for validate and plan), render.ts (JSON + table renderers), installation.spec.ts (26 test arms). DEPENDENCY GATE honored: registry adapter is an explicit stub (REGISTRY_RESOLVER_BLOCKED, CFG-REQ-001..006 marker); profile/role resolution and desired-roster generation are notChecked. No registry key added, no ConfigService extended, no mutation path exists. 26/26 test arms green. Typecheck clean. Lint clean. Prettier clean.
code-be-01 added 1 commit 2026-08-29 03:01:16 +00:00
Implements the config minimal desired-state subset per the PASSED spec
docs/specs/2026-08-29_mosaic-config-minimal-subset.md (spec review PASS
deff617d, rev-code-02). Dependency gate honored: registry adapter is
an explicit stub; profile/role resolution and desired-roster generation
are notChecked. 26 test arms green.
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
Required
Details
This pull request doesn't have enough required approvals yet. 0 of 1 official approvals granted.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin config/minimal-subset:config/minimal-subset
git checkout config/minimal-subset
Sign in to join this conversation.