Skip to content

Show the remaining shared examples in both backend languages - #2709

Merged
woksin merged 1 commit into
mainfrom
docs/arc-shared-examples
Sep 21, 2026
Merged

woksin merged 1 commit into
mainfrom
docs/arc-shared-examples

Conversation

@woksin

@woksin woksin commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Stacked on docs/arc-multi-implementation (#2708). Review that first; this branch contains only the commits below.

Thirteen shared examples still showed C# only.

Changed

  • The page on using current state in a command shows both languages. It had been set aside on the belief that the JVM has no way to say which thing a command acts on — that came from reading its documentation rather than its source. @CommandKey and CommandKeyProvider have been there all along.
  • The six frontend pages that carried a single backend illustration now show both. They sit on framework-neutral pages and both backends generate the same client, so a JVM reader should see their own backend.
  • The frontend overview loses its full-stack tab wrapper. It was hardwired to a slot labelled C# — backend, so a Kotlin tab would have sat inside a tab called C#. The TypeScript is a consequence of either backend rather than an alternative to one, so it reads better flat.
  • Where the two genuinely differ the prose says so rather than implying symmetry: C# resolves a read model into a validator's constructor while the JVM resolves it for the handler; C# also accepts an EventSourceId<T>-typed property where the JVM reads the command key; and the two client-projected validation subsets are not the same.

Fixed

  • The Chronicle scenario examples could not be compiled because the Chronicle testing project was not referenced by the snippet validator. They were unchecked strings; they are now compiled like the rest. All 33 C# snippets compile against real Arc source.

Not included

The tutorial chapters. They are buildable scaffolds against two pinned toolchains, and nine more snippets plus per-backend setup prose is the highest-stakes onboarding path to change in the same breath. Worth its own change.

Thirteen examples still showed only C#. Seven were on the page about
using current state in a command, which had been set aside on the belief
that the JVM had no way to say which thing a command acts on — that came
from reading its documentation rather than its source, and both @CommandKey
and CommandKeyProvider have been there all along. The other six sat on
frontend pages, showing the backend that produced a proxy as though only
one kind of backend could.

Where the two genuinely differ the prose says so: C# resolves a read model
into a validator's constructor while the JVM resolves it for the handler,
C# accepts an EventSourceId-typed property where the JVM reads the command
key, and the client-projected validation subsets are not the same.

The frontend overview loses its full-stack tab wrapper. It was hardwired
to a slot labelled "C# — backend", so a Kotlin tab would have sat inside a
tab called C#. The TypeScript is a consequence of either backend rather
than an alternative to one, so it reads better flat.

Compiling the two Chronicle scenario examples needs the Chronicle testing
project, which was not referenced; without it they were unchecked strings.
@woksin woksin added the no-release Merging publishes no package, image, release, or deployment label Sep 21, 2026
Base automatically changed from docs/arc-multi-implementation to main September 21, 2026 21:29
@woksin
woksin merged commit 0ab6e05 into main Sep 21, 2026
3 checks passed
@cratis-direct
cratis-direct Bot deleted the docs/arc-shared-examples branch September 21, 2026 21:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-release Merging publishes no package, image, release, or deployment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant