Repository navigation
move: delete Memex.Portal.Shared and its suite from core (delete half) - #7125
Merged
Merged
Conversation
The project and its tests now live in MeshWeaver.Plugins src/ (paired add half). Drops the slnx entries, the guard whose whole subject moved (IdentityReadsRunAsSystemGuard), the moved inventory from three ratchets (impersonation 61->45, layout-area bake 19->18, awaited mesh read 2->0), SeoResolver from the svg guard's expected set, and the suite's shard weight. CarvingProjectsOutOfCore records the decision: GitHub sign-in moves with Portal.Shared and keeps calling core's GitSync, which stays here for now. Refs core slimming. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
# Conflicts: # .github/scripts/shard-assign.sh
Contributor
Test Results 27 files 27 suites 52m 23s ⏱️ Results for commit 5b600eb. ♻️ This comment has been updated with latest results. |
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
The inaccessible paired Plugins change leaves preservation of the deleted implementation and tests, and the required merge ordering, unverified.
No open issues 🎉
What changed in this PR
This is the deletion half of moving Memex.Portal.Shared and its test suite into MeshWeaver.Plugins, keeping portal-specific functionality outside core. It depends on Plugins#4146 preserving the implementation, tests, and consumer references before this removal lands.
Changes:
- Remove the portal shared library, its suite, and their solution entries.
- Reduce core guard inventories and budgets to exclude relocated code.
- Remove the suite’s shard weight and update comments describing its new location.
| File | Description |
|---|---|
| test/MeshWeaver.Graph.Test/InlineSvgEmissionBackplateGuard.cs | Removes the relocated SEO classifier from expectations. |
| test/MeshWeaver.Documentation.Test/LayoutAreaDataBakeRatchetGuard.cs | Lowers the budget for the removed settings area. |
| test/MeshWeaver.Documentation.Test/ImpersonationScopeSiteRatchetGuard.cs | Lowers the budget by sixteen relocated sites. |
| test/MeshWeaver.Documentation.Test/HubReachableAsyncGuard.cs | Zeros the awaited-read budget and removes its inventory assertion. |
| test/Memex.Portal.Shared.Test/WhatsNewSatelliteEntryTest.cs | Removes satellite release-feed tests from core. |
| test/Memex.Portal.Shared.Test/VirtualUserMiddlewareAuthContextTest.cs | Removes virtual-user authentication tests from core. |
| test/Memex.Portal.Shared.Test/TokenValidationReadinessTest.cs | Removes token-readiness tests from core. |
| test/Memex.Portal.Shared.Test/TokenProvisionedInstanceIsKeyedTest.cs | Removes token-provisioning classification tests from core. |
| test/Memex.Portal.Shared.Test/TieredPgoIsOffInEveryCompilingHostTest.cs | Removes compiling-host runtime configuration tests from core. |
| test/Memex.Portal.Shared.Test/StorageSectionWithoutTypeIsNotConfiguredTest.cs | Removes storage setup-detection tests from core. |
| test/Memex.Portal.Shared.Test/StandInCompileFailureNamesTheEmitCanaryTest.cs | Removes compilation diagnostic tests from core. |
| test/Memex.Portal.Shared.Test/SeoOwnerReadContextTest.cs | Removes SEO read-identity tests from core. |
| test/Memex.Portal.Shared.Test/RunTestsStreamsIntoAnActivityTest.cs | Removes streamed test-activity coverage from core. |
| test/Memex.Portal.Shared.Test/RunTestsBudgetCoversThePreflightTest.cs | Removes test-preflight timeout coverage from core. |
| test/Memex.Portal.Shared.Test/ReturnUrlPolicyTest.cs | Removes return-URL safety tests from core. |
| test/Memex.Portal.Shared.Test/ReleaseGateApplicabilityTest.cs | Removes release-gate applicability tests from core. |
| test/Memex.Portal.Shared.Test/PublishStorageFaultIsNotAConflictTest.cs | Removes publish-error classification tests from core. |
| test/Memex.Portal.Shared.Test/PublicationSealReadTest.cs | Removes publication-seal reading tests from core. |
| test/Memex.Portal.Shared.Test/PlatformReferences.cs | Removes the suite’s compiler-reference helper. |
| test/Memex.Portal.Shared.Test/PackageConfigRequirementTest.cs | Removes package configuration declaration tests from core. |
| test/Memex.Portal.Shared.Test/OutboundSubjectTest.cs | Removes outbound email subject tests from core. |
| test/Memex.Portal.Shared.Test/OutboundEmailWatchQueryTest.cs | Removes outbound email query tests from core. |
| test/Memex.Portal.Shared.Test/OperationSentinelPrefixTest.cs | Removes operation-result prefix tests from core. |
| test/Memex.Portal.Shared.Test/OAuthClientIdDerivationTest.cs | Removes stable OAuth client-ID tests from core. |
| test/Memex.Portal.Shared.Test/NewlyListedPackageWaitsForGovernedProvisionTest.cs | Removes governed package-provisioning tests from core. |
| test/Memex.Portal.Shared.Test/MintedTokenCarriesItsOwnStampTest.cs | Removes token creation-timestamp tests from core. |
| test/Memex.Portal.Shared.Test/McpBackConnectionEvictionTest.cs | Removes cached MCP token revocation tests from core. |
| test/Memex.Portal.Shared.Test/LocalSourceContentVersionTest.cs | Removes local package content-version tests from core. |
| test/Memex.Portal.Shared.Test/LocalPartCollisionTest.cs | Removes user partition collision tests from core. |
| test/Memex.Portal.Shared.Test/LocalCheckoutPredicateTest.cs | Removes local repository classification tests from core. |
| test/Memex.Portal.Shared.Test/InvitationEmailTest.cs | Removes invitation email composition tests from core. |
| test/Memex.Portal.Shared.Test/InstanceSourcesWaitForAHealthyCatalogTest.cs | Removes catalog-health prerequisite tests from core. |
| test/Memex.Portal.Shared.Test/InstanceSourceSelectionsUnderWinningNameTest.cs | Removes package-source naming tests from core. |
| test/Memex.Portal.Shared.Test/InstanceIdRulesMatchTheRegistryTest.cs | Removes setup and registry ID-parity tests from core. |
| test/Memex.Portal.Shared.Test/InstanceComboReaderDiscoveryTest.cs | Removes module discovery-reading tests from core. |
| test/Memex.Portal.Shared.Test/InstallLegTimeoutTest.cs | Removes installation timeout diagnostic tests from core. |
| test/Memex.Portal.Shared.Test/InlineIoPool.cs | Removes the suite’s inline I/O helper. |
| test/Memex.Portal.Shared.Test/GuiShellSwitchTest.cs | Removes browser shell-selection tests from core. |
| test/Memex.Portal.Shared.Test/GlobalAdminSeedRefusesBlankIdsTest.cs | Removes administrator seed-validation tests from core. |
| test/Memex.Portal.Shared.Test/GitHubWebhookSignerScopeTest.cs | Removes webhook signer-authorization tests from core. |
| test/Memex.Portal.Shared.Test/GitHubLoginEndpointsTest.cs | Removes GitHub sign-in policy tests from core. |
| test/Memex.Portal.Shared.Test/GitHubAppInstallationSelectionTest.cs | Removes GitHub App installation-selection tests from core. |
| test/Memex.Portal.Shared.Test/FirstAdministratorHasNoLearningPathTest.cs | Removes bootstrap administrator pinning tests from core. |
| test/Memex.Portal.Shared.Test/EaCredentialNodeTest.cs | Removes Executive Assistant credential-path tests from core. |
| test/Memex.Portal.Shared.Test/DataVolumeUsageHealthCheckTest.cs | Removes volume-usage health reporting tests from core. |
| test/Memex.Portal.Shared.Test/CapturingLogger.cs | Removes the suite’s logging helper. |
| test/Memex.Portal.Shared.Test/BootstrapSecretGateTest.cs | Removes bootstrap-secret validation tests from core. |
| test/Memex.Portal.Shared.Test/AReservedIdIsNeverASignInTest.cs | Removes reserved sign-in identity tests from core. |
| test/Memex.Portal.Shared.Test/ApiTokenBasicAuthTest.cs | Removes API token header-parsing tests from core. |
| test/Memex.Portal.Shared.Test/ADefaultAppDeclarationSurvivesDiscoveryTest.cs | Removes default-app discovery tests from core. |
| test/Memex.Portal.Shared.Test/AbsentUpdatePolicyFailsClosedTest.cs | Removes update-policy serialization tests from core. |
| test/LayoutAreaDataBakeSites.allow | Removes the relocated settings-area allowance. |
| test/ImpersonationScopeSites.allow | Removes allowances for ten relocated files. |
| test/AwaitedMeshReadSites.allow | Removes the final two awaited-read allowances. |
| MeshWeaver.slnx | Removes both relocated project entries. |
| memex/Memex.Portal.Shared/Setup/StorageBackendCatalog.cs | Removes setup storage-backend discovery from core. |
| memex/Memex.Portal.Shared/Setup/SetupConsentDocuments.cs | Removes setup consent-document metadata from core. |
| memex/Memex.Portal.Shared/Setup/SetupAccessToken.cs | Removes setup access-token handling from core. |
| memex/Memex.Portal.Shared/Setup/InstanceSetupStatusAccessor.cs | Removes setup-state access from core. |
| memex/Memex.Portal.Shared/Setup/InstanceManifestConfigurationExtensions.cs | Removes manifest configuration integration from core. |
| memex/Memex.Portal.Shared/Setup/InstanceIdRules.cs | Removes setup instance-ID validation from core. |
| memex/Memex.Portal.Shared/Settings/StepUpSettingsTab.cs | Removes the security settings tab from core. |
| memex/Memex.Portal.Shared/Settings/PrivacySettingsTab.cs | Removes the privacy settings editor from core. |
| memex/Memex.Portal.Shared/SelfUpdate/UpdateAdvisory.cs | Removes persisted update-advisory formatting from core. |
| memex/Memex.Portal.Shared/SelfUpdate/NewerPlatformFromUpdatePolicy.cs | Removes the update-policy adapter from core. |
| memex/Memex.Portal.Shared/SelfUpdate/IComboGateRunner.cs | Removes the external combo-runner contract from core. |
| memex/Memex.Portal.Shared/README.md | Removes the relocated library’s README. |
| memex/Memex.Portal.Shared/Pages/ErrorRoutes.cs | Removes the portal error-route constant from core. |
| memex/Memex.Portal.Shared/Authentication/TokenRefusal.cs | Removes OAuth refusal classification from core. |
| memex/Memex.Portal.Shared/Authentication/StepUpPendingStore.cs | Removes pending step-up storage from core. |
| memex/Memex.Portal.Shared/Authentication/ReturnUrlPolicy.cs | Removes local return-URL validation from core. |
| memex/Memex.Portal.Shared/Authentication/OAuthCredentialEviction.cs | Removes OAuth credential eviction logic from core. |
| memex/Memex.Portal.Shared/Authentication/OAuthCredentialBound.cs | Removes OAuth credential-limit configuration from core. |
| memex/Memex.Portal.Shared/Authentication/OAuthCodeNodeType.cs | Removes OAuth code node registration from core. |
| memex/Memex.Portal.Shared/Authentication/EntraMetadataCache.cs | Removes Entra metadata caching from core. |
| memex/Memex.Portal.Shared/Api/SealKeyEndpoints.cs | Removes the public sealing-key endpoint from core. |
| memex/Memex.Portal.Shared/Api/ControlLaneEndpoints.cs | Removes the signed control-lane endpoint from core. |
| .github/workflows/dotnet-test.yml | Updates a comment about the relocated suite. |
| .github/scripts/shard-assign.sh | Removes the suite’s weight and updates its historical comment. |
| .github/scripts/release-channels.py | Updates a comment naming the version selector’s location. |
| .github/scripts/check-module-platform-floor.py | Updates documentation naming the parity test’s location. |
Review effort: Balanced
rbuergi
added a commit
that referenced
this pull request
Oct 25, 2026
Every conflict resolved so the deletion wins: the chart files main changed (#7143, #7159, #7184, #7170, #7119; all ported to MeshWeaver.Deploy by Deploy#4), the chart-reading guards main moved onto RepoPaths (#7111), and the Memex.Portal.Shared files main moved to MeshWeaver.Plugins (#7125). Also deleted: the build-host chart files main added after this branch was cut (frozen, in Deploy now) and memex-local.yml (#7119), whose Linux gate is Deploy's homebrew.yml linux job. Kept from main: instances.json's re-measured MeshWeaver.Deploy row. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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 core slimming — the DELETE half of moving
Memex.Portal.Sharedand its suite to MeshWeaver.Plugins.Pairs-with: Systemorph/MeshWeaver.Plugins#4146
Draft until the add half merges — it lands only after Plugins builds and tests the moved project and nothing there references core's copy any more.
What this removes
memex/Memex.Portal.Shared/andtest/Memex.Portal.Shared.Test/, and their twoMeshWeaver.slnxentries. Nothing else in core referenced either project.IdentityReadsRunAsSystemGuard— its whole subject was Portal.Shared's onboarding reads; it moved with them (Pluginssrc/Memex.Portal.Shared.Test).What follows from it
ImpersonationScopeSites.allow−10 lines / budget 61→45,LayoutAreaDataBakeSites.allow−1 / 19→18,AwaitedMeshReadSites.allow−2 / 2→0 (and, as that guard's own message prescribes, the awaited-read half of its non-vacuity check goes — there is nothing left to find).InlineSvgEmissionBackplateGuarddropsSeoResolver.csfrom its expected classifiers; that half runs in Plugins now.shard-assign.shdrops the suite's weight; four comments that named the old path now name the new one.Doc/Architecture/CarvingProjectsOutOfCorerecords the decision: GitHub sign-in moves with Portal.Shared and keeps calling core'sMeshWeaver.GitSync, which stays here for now. It also lists what the move left unguarded.Kept on purpose
The
InternalsVisibleTogrants toMemex.Portal.Shared/.Testin Graph, Hosting, Hosting.AspNetCore, Compiler, Mesh.Operations, PluginCatalog and Testcontainers stay: the assemblies keep their names, now built in Plugins. The dependent-suites verdict is what catches a core refactor of one of those internals.Public surface
Memex.Portal.Sharedis a portal host library, not content surface; no in-mesh source names it (sample trees and node JSON searched). Its consumers are all in MeshWeaver.Plugins and are repointed by the paired PR.🤖 Generated with Claude Code
Evidence
MeshWeaver.Documentation.TestandMeshWeaver.Graph.Testbuild Release-warnaserror0/0; the full Documentation.Test run is 912/912 green, and the svg guard 12/12.search_chunks "using Memex.Portal.Shared"scoped@MeshWeaver:searched: true, count 0; no hit insamples/or the Plugins node trees.src/Memex.Portal.Shared.