Skip to content

move: delete Memex.Portal.Shared and its suite from core (delete half) - #7125

Merged
rbuergi merged 3 commits into
mainfrom
move/portal-shared-to-plugins
Oct 25, 2026
Merged

rbuergi merged 3 commits into
mainfrom
move/portal-shared-to-plugins

Conversation

@rbuergi

@rbuergi rbuergi commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

Refs core slimming — the DELETE half of moving Memex.Portal.Shared and 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/ and test/Memex.Portal.Shared.Test/, and their two MeshWeaver.slnx entries. Nothing else in core referenced either project.
  • IdentityReadsRunAsSystemGuard — its whole subject was Portal.Shared's onboarding reads; it moved with them (Plugins src/Memex.Portal.Shared.Test).

What follows from it

  • Core ratchets lose the moved inventory: 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).
  • InlineSvgEmissionBackplateGuard drops SeoResolver.cs from its expected classifiers; that half runs in Plugins now.
  • shard-assign.sh drops the suite's weight; four comments that named the old path now name the new one.
  • Doc/Architecture/CarvingProjectsOutOfCore records the decision: GitHub sign-in moves with Portal.Shared and keeps calling core's MeshWeaver.GitSync, which stays here for now. It also lists what the move left unguarded.

Kept on purpose

The InternalsVisibleTo grants to Memex.Portal.Shared / .Test in 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.Shared is 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.Test and MeshWeaver.Graph.Test build Release -warnaserror 0/0; the full Documentation.Test run is 912/912 green, and the svg guard 12/12.
  • Plugins#4146 builds Portal.Shared, its suite and all 18 repointed consumers against THIS branch (core's copy already gone).
  • Live-mesh sweep search_chunks "using Memex.Portal.Shared" scoped @MeshWeaver: searched: true, count 0; no hit in samples/ or the Plugins node trees.
  • Open core PR still touching the deleted trees: feat(security): sealed secret envelope and the control instance's sealing key #7108 (feat/secret-sealing) — it has to be redirected to MeshWeaver.Plugins src/Memex.Portal.Shared.

rbuergi and others added 2 commits October 24, 2026 16:08
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
@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Test Results

    27 files      27 suites   52m 23s ⏱️
11 620 tests 11 423 ✅ 197 💤 0 ❌
11 646 runs  11 449 ✅ 197 💤 0 ❌

Results for commit 5b600eb.

♻️ This comment has been updated with latest results.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 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
rbuergi merged commit ded5b58 into main Oct 25, 2026
47 checks passed
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>
@rbuergi
rbuergi deleted the move/portal-shared-to-plugins branch October 31, 2026 09:12
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.

2 participants