Repository navigation
Pin the historical Wizard receiver to its legacy template feed (Refs FS-GG/.github#4709) - #736
Merged
Merged
Conversation
…S-GG/.github#4709) "Installed typed SDD package receivers" broke after Workspace.Template 0.19.1 was published: SDD 1.7.0's scaffold under Wizard 0.11.1 runs `dotnet new install <descriptor source>` then a best-effort `dotnet new update` (the Wizard passes no --no-update, unlike the direct receivers), so the historical receiver adopted whatever Workspace.Template was newest and historical-receiver-maintenance.py correctly refused the 0.19.1 registry. It would refuse again at every release. Pin rather than track: the guard binds exact 0.19.0 archive/source/SignalR identities, so a moving target cannot be maintained. The Wizard hive's NuGet sources are now closed to exactly the two hash-verified public archives the original qualification observed (descriptor 0.11.0, newest-at-qualification 0.19.0). A local run of the real Wizard 0.11.1/SDD 1.7.0 scaffold with this hive registered 0.19.0 and the real wizard-guard reached exact-original-before-adoption. A new control executes the actual closing block (exact accepted; extra/newer archive and wrong hashes refused before any config is written). Also binds tests/knowledge-receiver/test_inventory.py's owned-provider self-pin expectation to the csproj <Version> instead of a stale literal (0.18.1). Co-Authored-By: Claude Opus 5.5 <[email protected]>
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.
Refs FS-GG/.github#4709. Fixes the pre-existing "Installed typed SDD package receivers" drift. It also failed on #728 and will fail on main.
Cause. Wizard 0.11.1 scaffolds through SDD 1.7.0, which runs
dotnet new install FS.GG.Workspace.Template::0.11.0and then a best-effortdotnet new update. Unlike the direct receivers, the Wizard passes no--no-update. Once Workspace.Template 0.19.1 was published (2026-10-22 08:29Z), the Wizard hive registered 0.19.1, andhistorical-receiver-maintenance.py wizard-guardcorrectly refused "actual installed template registry mismatch" againstLEGACY_VERSION0.19.0. Evidence: run 39827412802,wizard-pre-adoption/registry.json. It would drift again at 0.19.2 and every later release.Decision: pin, don't track. This is a historical receiver. Its guard binds the exact 0.19.0 archive, source commit, manifest/lock and SignalR identities, so following "newest" would break the guard at every release and change what is being maintained. Instead, the Wizard hive's NuGet user config is closed (
<clear />plus one local source) to exactly the two hash-verified public archives the original qualification observed: descriptor 0.11.0 (41fa91ba…) and newest-at-qualification 0.19.0 (187c9958…).Local evidence.
DOTNET_CLI_HOMEpointing at such a hive,dotnet new install …::0.11.0followed bydotnet new updateregisters 0.19.0.--ref fs-gg-templates/v0.11.0 --pinned …) with this hive registered 0.19.0. The realwizard-guardthen returned phaseexact-original-before-adoptionwith no first cause.test_actual_wizard_hive_is_closed_to_the_two_verified_legacy_archivesexecutes the actual closing block. The exact case is accepted; an extra or newer archive, or a wrong current or legacy hash, is refused before any config is written. Removing the hash refusal or<clear />makes it fail.test-historical-receiver-maintenance.py: 20 OK.Also:
tests/knowledge-receiver/test_inventory.pynow binds the five owned providers' self-pins to the csproj<Version>instead of the stale 0.18.1 literal (10 OK; a mismatched descriptor fails). The Rendering 0.32.3 external identity stays explicit.No release, tag, package or default effect.
🤖 Generated with Claude Code