Skip to content

2.4 - #57

Merged
rbuergi merged 3 commits into
mainfrom
2.4
Oct 2, 2025
Merged

2.4#57
rbuergi merged 3 commits into
mainfrom
2.4

Conversation

@rbuergi

@rbuergi rbuergi commented Oct 2, 2025

Copy link
Copy Markdown
Contributor

No description provided.

@github-actions

github-actions Bot commented Oct 2, 2025

Copy link
Copy Markdown
Contributor

Test Results

459 tests   - 10   453 ✅  - 10   1m 52s ⏱️ -2s
 20 suites ± 0     6 💤 ± 0 
 20 files   ± 0     0 ❌ ± 0 

Results for commit dcf9159. ± Comparison against base commit b67ebe6.

This pull request removes 10 tests.
MeshWeaver.Hosting.Monolith.Test.ArticlesTest ‑ BasicArticle
MeshWeaver.Hosting.Monolith.Test.ArticlesTest ‑ Catalog
MeshWeaver.Hosting.Monolith.Test.ArticlesTest ‑ NotFound
MeshWeaver.Hosting.Monolith.Test.MonolithKernelTest ‑ CalculatorDirectlyThroughKernel
MeshWeaver.Hosting.Monolith.Test.MonolithKernelTest ‑ HelloWorld
MeshWeaver.Hosting.Monolith.Test.MonolithKernelTest ‑ RoutingToHub
MeshWeaver.Hosting.Monolith.Test.MonolithMeshTest ‑ HubWorksAfterDisposal(id: "HubFactory")
MeshWeaver.Hosting.Monolith.Test.MonolithMeshTest ‑ HubWorksAfterDisposal(id: "Kernel")
MeshWeaver.Hosting.Monolith.Test.MonolithMeshTest ‑ PingPong
MeshWeaver.Hosting.Monolith.Test.SignalRMeshTest ‑ PingPong

@rbuergi
rbuergi merged commit 04d6433 into main Oct 2, 2025
1 check passed
@rbuergi
rbuergi deleted the 2.4 branch October 2, 2025 07:09
rbuergi added a commit that referenced this pull request Apr 23, 2026
…rivate

New ExecuteScriptRequest / ExecuteScriptResponse in MeshWeaver.Mesh.Contract
(no MeshWeaver.Kernel reference). Handler on the Code node's hub reads the
node's CodeConfiguration from its own workspace stream via
.Select(change => change.Value).Where(non-null).Take(1).Subscribe(...) —
reactive, no .Current snapshot, no await — and fire-and-forget dispatches
SubmitCodeRequest to the internal kernel address. Response carries the
submission id + layout-area reference so callers can subscribe to live
progress without ever addressing the kernel.

MeshOperations.ExecuteScript becomes a thin Post-ExecuteScriptRequest-to-
the-Code-node-then-RegisterCallback, removing the direct kernel coupling
from the MCP surface.

Docs:
- AsynchronousCalls.md: 🚨 Never read .Current on a stream — use
  .Select(…).Where(non-null).Take(1).Subscribe. .Current is null on cold
  workspaces and ships wrong answers.
- CqrsAndContentAccess.md: rewritten with the full primitive catalogue
  (query for sets, GetDataRequest for one-shot content, GetRemoteStream for
  live updates, PatchDataChangeRequest for writes, named-request types for
  operations). Concrete ExecuteScript example shows the kernel staying
  private behind the Code hub handler.

Tests: new McpReadYourWritesTest (11/11 green) locks in write→read
consistency per MCP method and the ExecuteScript round-trip on an
IsExecutable Code node seeded via IMeshService.

Task #57 (Get → GetDataRequest) and #58 (Patch → PatchDataChangeRequest)
were attempted and reverted: GetDataRequest-served reads after a
cross-hub write see stale workspace state (read-your-writes fails).
Re-landing after task #59 (per-request hub model) keeps one hub instance
alive for the full call chain.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.

1 participant