Repository navigation
Import, OgCard and their samples leave the platform - #1975
Conversation
There was a problem hiding this comment.
Pull request overview
This PR decouples the shared MeshWeaver.Data.TestDomain test helper from the MeshWeaver.Import module to avoid forcing the Import assembly onto every consumer of the shared test domain, in preparation for moving Import into the registry lane.
Changes:
- Removed the
MeshWeaver.Importproject reference fromMeshWeaver.Data.TestDomain. - Removed Import-specific routing/setup helpers from
TestHubSetupand introduced a slimmerConfigureDataRouterthat only routes data-model hubs.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| test/MeshWeaver.Data.TestDomain/TestHubSetup.cs | Drops Import router/hub setup and adds ConfigureDataRouter to keep the shared test router Import-free. |
| test/MeshWeaver.Data.TestDomain/MeshWeaver.Data.TestDomain.csproj | Removes the MeshWeaver.Import project reference to prevent binding Import into the shared test domain. |
Suppressed comments (1)
test/MeshWeaver.Data.TestDomain/TestHubSetup.cs:69
- This change removes
ConfigureImportRouterandCashflowImportFormat, but the repo still has callers (e.g.test/MeshWeaver.Import.Test/ImportTest.csandCollectionSourceImportTest.cs) that reference them. As-is, this PR will break compilation/tests unless those call sites are updated (or moved out as described) to configure the Import hub/routes within the Import test project without going throughMeshWeaver.Data.TestDomain.
/// <summary>
/// The shared test router. The IMPORT route lives with the Import module's own tests now
/// (MeshWeaver.Import moved out of the platform): this helper must not bind the module, or
/// every consumer of the shared test domain would need the module's assembly on disk.
/// </summary>
public static MessageHubConfiguration ConfigureDataRouter(this MessageHubConfiguration config)
=> config.WithRoutes(forward =>
forward
.RouteAddressToHostedHub(nameof(ReferenceDataAddress), c => c.ConfigureReferenceDataModel())
.RouteAddressToHostedHub(nameof(TransactionalData), c =>
c.ConfigureTransactionalModel(c.Address))
.RouteAddressToHostedHub(nameof(ComputedDataAddress), c => c.ConfigureComputedModel())
);
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| using System.Linq; | ||
| using System.Threading; | ||
| using MeshWeaver.DataStructures; | ||
| using MeshWeaver.Import; | ||
| using MeshWeaver.Messaging; |
Test Results 59 files - 3 59 suites - 3 46m 43s ⏱️ - 1m 50s Results for commit ed4efc8. ± Comparison against base commit 664f72f. This pull request removes 64 and adds 33 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
The modules moved to the plugin registry; this deletes the platform's copies and every reference to them. - src: MeshWeaver.Import + its PRIVATE closure (the six DataSetReader* projects and DataStructures, which nothing else referenced) and MeshWeaver.OgCard. - samples: Northwind moved to the plugins repo, where it sits beside the Import module its data sources compile against — that coupling, through the dev portal's bundled sample, is precisely why Import could not leave before. Insurance is retired. - tests: the Import/DataSetReader/Northwind suites moved with their code; OgCard's two tests moved with the module (its InternalsVisibleTo grant now names the module's own test assembly, kept here for the platform's OpenGraph service internals it still exercises). - the shared test domain stops binding MeshWeaver.Import, and MeshWeaver.Import leaves the framework package-id list plugins compile against — it is a module now, declared via . Whole-solution build green. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ea2a6d0 to
2b13d37
Compare
Only the OgCard MULTI-target test set TitleFromPath, and that test moved to the module's repo — leaving the field unassigned, which is an error under warnings-as-errors. The platform's copy serves the fixed title.
Test Results (shard 0)1 227 tests +587 1 223 ✅ +686 10m 56s ⏱️ -21s Results for commit ed4efc8. ± Comparison against base commit 664f72f. This pull request removes 223 and adds 810 tests. Note that renamed tests count towards both.This pull request removes 103 skipped tests and adds 4 skipped tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
Test Results (shard 3) 10 files ± 0 10 suites ±0 3m 48s ⏱️ - 2m 45s Results for commit ed4efc8. ± Comparison against base commit 664f72f. This pull request removes 1053 and adds 515 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
Test Results (shard 5)1 215 tests - 476 1 214 ✅ - 475 5m 39s ⏱️ -45s Results for commit ed4efc8. ± Comparison against base commit 664f72f. This pull request removes 547 and adds 71 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
The doc gate compiles the node-native samples against the PLATFORM, and the import pipeline is an installable module now — so a sample declaring ExcelImportConfiguration cannot compile there. The Microsoft sample-data config and the ImportConfigs view/toolbar entry go; every other pricing view is untouched.
Test Results (shard 4)1 787 tests +234 1 679 ✅ +130 9m 10s ⏱️ + 1m 42s Results for commit ed4efc8. ± Comparison against base commit 664f72f. This pull request removes 397 and adds 631 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
Test Results (shard 1)2 030 tests +423 1 838 ✅ +235 8m 57s ⏱️ +17s Results for commit ed4efc8. ± Comparison against base commit 664f72f. This pull request removes 162 and adds 585 tests. Note that renamed tests count towards both.This pull request removes 4 skipped tests and adds 192 skipped tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
Test Results (shard 2)2 993 tests - 261 2 993 ✅ - 69 8m 11s ⏱️ +2s Results for commit ed4efc8. ± Comparison against base commit 664f72f. This pull request removes 665 and adds 404 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
Three tails the first pass missed, each named by its own gate: - FrameworkBuildIdentity.ContentSurfaceAssemblies still enumerated the eight deleted assemblies, so every surface-manifest host disagreed with the tester closure. Removed — the test says exactly this. - ResolveIdentityForDirectory_ForksWhenOneCanonicalAssemblyIsUnrecorded used MeshWeaver.Import as its 'drop one canonical member' stand-in AND asserted that name; it is one constant now, so the two halves cannot drift apart again. - Cornerstone/Pricing's NodeType lambda (in Pricing.json, not the Source folder) still declared an ExcelImportConfiguration data source — the doc gate compiles the lambda, which is why removing the .cs files alone left it red. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The previous edit's regex removed the ExcelImportConfiguration registration AND the '; })' that closed the AddSource lambda, leaving ')}'. The type registrations survived syntactically but the node's data never loaded — four Cornerstone/Microsoft/2026 content tests said so. Balanced now, with only the import type removed.
"Import, OgCard and their samples leave the platform" landed on main while this was in flight and deleted src/MeshWeaver.OgCard, so the screening this PR added to OgCardLayoutArea went with it rather than being resurrected: the file's merge is resolved as deleted, and its two tests are removed with the surface they covered. Claiming a privacy surface the code no longer has is worse than not having it, so the design doc, the What's New entry and the test class's own summary now say so, and the follow-up is recorded where the other gaps are — carrying the one rule worth keeping across the move: a screened target is DROPPED, not redacted, because a card titled "hidden" still tells the room that something is being hidden. Also refreshes the pathless-item example in Filter_KeepsItemsThatAreNotNodes, which named an OG card; it now names a "~/" system area, which is in this repo. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
ViewPackModuleTest names MeshWeaver.Blazor.Analysis's module attribute, and until now it reached that type through Memex.Portal.Shared's closure. The flip removed that reference, so the test project has to anchor the pack itself — the same "direct on purpose" move #1644 step 2 made for the other modules that left the portal's closure. Safe here because Analysis is not in MeshModulesClosureSubset: nothing stages a modules/MeshWeaver.Blazor.Analysis/ in this bin, so there is no shipped layout for a bin-root copy to shadow. The header comment now says that, instead of implying no module may ever be referenced. Also drops MeshWeaver.Import from the subset and the comment. Its layout test went with the project in #1975, so the entry named a module that no longer exists and staged nothing.
The modules are on the registry; this removes the platform's copies and every reference.
MeshWeaver.Import+ its private closure (sixDataSetReader*+DataStructures),MeshWeaver.OgCard.MeshWeaver.Importleaves the framework package-id list (it is a module now, reached viarequires).501 files deleted. Whole-solution build green.
🤖 Generated with Claude Code