Description
The implementation strategy defines the Phase 1 exit gate as a pilot of roughly five pure-managed lib-* repositories that build, pack, and test from the command line as SDK-style projects (cloned and converted with the migration tool, then opened as PRs from the org template). This gate has not been met: the only repository migrated so far is Samples, which is a useful proxy but is not a lib-* library repo and does not exercise the pack/publish path that the fleet depends on. Until a representative handful of real libraries migrate cleanly and build/pack/test from the CLI, the fleet campaign should not start.
How to solve the problem
Run the pilot end-to-end on about five representative, pure-managed lib-* repositories (leaf-first — base libraries before their dependents):
- Clone and convert each with
dotnet nano migrate (dry-run first, then apply), resolving any manual-review items.
- Confirm each one builds, packs, and tests from the CLI (
dotnet build / dotnet pack / dotnet test) against the published SDK.
- Open a PR per repo from the org template (see the PR conventions), targeting the migration integration branch.
- Capture any gaps the pilot surfaces (assembly-name to package-id mapping, CPM handling, CI changes) as feedback into the converter and the fleet tooling before scaling up.
Acceptance: about five lib-* repos are migrated to SDK-style, build/pack/test from the CLI with an empty (or genuinely non-default) manual-review list, and have PRs opened from the org template; the gaps found are recorded.
Describe alternatives you've considered
- Treat the Samples migration as the Phase 1 exit. Rejected: Samples is not a
lib-* library and does not validate the pack/publish path or the leaf-first dependency ordering the fleet relies on.
- Skip the pilot and start the fleet directly. Rejected: a 100+ repo campaign without a validated pilot risks repeating the same defect across the whole fleet.
Additional context
Description
The implementation strategy defines the Phase 1 exit gate as a pilot of roughly five pure-managed
lib-*repositories that build, pack, and test from the command line as SDK-style projects (cloned and converted with the migration tool, then opened as PRs from the org template). This gate has not been met: the only repository migrated so far isSamples, which is a useful proxy but is not alib-*library repo and does not exercise the pack/publish path that the fleet depends on. Until a representative handful of real libraries migrate cleanly and build/pack/test from the CLI, the fleet campaign should not start.How to solve the problem
Run the pilot end-to-end on about five representative, pure-managed
lib-*repositories (leaf-first — base libraries before their dependents):dotnet nano migrate(dry-run first, then apply), resolving any manual-review items.dotnet build/dotnet pack/dotnet test) against the published SDK.Acceptance: about five
lib-*repos are migrated to SDK-style, build/pack/test from the CLI with an empty (or genuinely non-default) manual-review list, and have PRs opened from the org template; the gaps found are recorded.Describe alternatives you've considered
lib-*library and does not validate the pack/publish path or the leaf-first dependency ordering the fleet relies on.Additional context