From 9dfde6fca11921ced60ac4071fb19d4b049b012c Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 12 Nov 2026 15:15:44 +0100 Subject: [PATCH] Answer A-285 and A-286: a fetch carries the group's packages as a list; a failed test never hides the validator Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h --- .../01-to-be/47-milestones/G-22-lead-answers-2.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md index e4b68ee7..8b6b7b57 100644 --- a/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md +++ b/03-DESIGN/01-to-be/47-milestones/G-22-lead-answers-2.md @@ -401,3 +401,13 @@ the principle that settles it, cited as "design 47 G A-n". merge changes (the SDK's `lib` artifact given its path, and a member's new packages such as another member's contracts) by the form ADR 0500 ยง5 gives the SDK, and serves them to every member that imports them; the latest published version is used only for a package the group does not change. +- **A-285** (A-284; principles 7 and 8) The fetch of a build step carries the group's packages as one list, + `packages`, each a package of a member at its commit with `path`, its directory in that member (empty for the + member's root); the single `package` field and its tagged form go. The build module packs each and places it by + its `package.json` name in every member that names it, in place of the registry's. The SDK's `lib` artifact names + its paths (`package.json`, `package-lock.json`, `tsconfig.json`, `src`) in mesh-sdk's manifest, so the indexer + holds them and a change to them is a changed package. +- **A-286** (issue 1921; principle 3) The checker previews and judges every member whose fetch merged, whatever its + later steps ended with; only a member whose head does not merge, or whose fetch did not answer, stays + unpreviewed, and the check says which of the two. A failed test never hides the manifest validator or the + composition.