Skip to content

mskit-manager: package model, selection, kit.json and manifest (S2a) - #16

Merged
vfofanov merged 4 commits into
mainfrom
feat/manager-s2a
Oct 6, 2026
Merged

vfofanov merged 4 commits into
mainfrom
feat/manager-s2a

Conversation

@vfofanov

@vfofanov vfofanov commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

Slice S2a of mskit-manager: the package model the install flow will use. No command uses it yet; no I/O beyond parsing documents.

  • Packages/: readers for mskit.package.json, the trunk's mskit/catalog.json and a company or team mskit/filter.json (schema 1, strict: unknown fields, schemas, tiers, kinds and version ranges are errors).
  • Packages/Selection: core defaults → company filter → team filter → repository kit.json, a later layer winning per part; required parts never disabled; company-locked parts refused for team and repository with the layer named; requires closed transitively; unknown parts, two company/team filters and a team filter not extending the attached company are errors. PartDecision carries the --explain data.
  • Install/KitJson: schema 2, plus the schema-1 reader for update.sh's file, which keeps a multi-line parts array (audit D3).
  • Install/Manifest: sorted, LF-only, byte-stable round trip. Install/KitLayout: the only place that knows the folder and file names.
  • Adds NuGet.Versioning (MIT) for filter version ranges.
Evidence

Red first: the test project did not compile before the types existed. Rules toggled off, failing tests per TFM: locked 4, required 3, requires closure 2, schema-1 reader 6, manifest sort 1. update.sh's json_parts returns [] on the multi-line fixture that the new reader parses into three parts. sh tests/manager.sh: 300 tests passed (net8.0 + net10.0).

- mskit.package.json, catalog.json and filter.json (schema 1), strict reads

- Selection: core -> company -> team -> repository, required, locked, requires

- kit.json schema 2 plus the schema-1 reader that keeps multi-line parts

- manifest.json, sorted and LF-only, byte-stable round trip; KitLayout
@vfofanov
vfofanov marked this pull request as ready for review October 6, 2026 15:48
@vfofanov
vfofanov merged commit 3167af0 into main Oct 6, 2026
4 checks passed
@vfofanov
vfofanov deleted the feat/manager-s2a branch October 6, 2026 16:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant