Skip to content

feat: cross-runtime differential conformance + guard totality fix - #118

Merged
Theauxm merged 2 commits into
mainfrom
feat/statemachine-differential
Aug 1, 2026
Merged

feat: cross-runtime differential conformance + guard totality fix#118
Theauxm merged 2 commits into
mainfrom
feat/statemachine-differential

Conversation

@Theauxm

@Theauxm Theauxm commented Aug 1, 2026

Copy link
Copy Markdown
Member

Adds Trax.Effect.StateMachine.Testing, a framework-agnostic harness that replays a TypeScript-generated differential corpus through the C# engine so the two engine ports are proven behaviorally identical (PD1). Also closes a totality gap the differential surfaced: Advance evaluated guards outside its try/catch, so a throwing guard escaped instead of degrading to internal-error (PD4). Guard evaluation now runs inside the backstop, matching the TypeScript engine.

Adds Trax.Effect.StateMachine.Testing, a framework-agnostic harness that replays a
TypeScript-generated differential corpus through the C# engine so the two engine
ports are proven behaviorally identical (PD1). Also closes a totality gap the
differential surfaced: Advance evaluated guards outside its try/catch, so a
throwing guard escaped instead of degrading to internal-error (PD4). Guard
evaluation now runs inside the backstop, matching the TypeScript engine.
@codecov

codecov Bot commented Aug 1, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 95.23810% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
....Effect.StateMachine.Testing/DifferentialCorpus.cs 94.44% 1 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

… path

Direct unit tests for the shipped Replay over an inline corpus (transition/rejection
match + both mismatch paths), so it is covered in isolated CI where the conformance
test skips for lack of the shared goldens. Plus a guarded edge with no GuardMessage
to exercise the generic guard-failed fallback.
@Theauxm
Theauxm merged commit b1e82b8 into main Aug 1, 2026
3 checks passed
@Theauxm
Theauxm deleted the feat/statemachine-differential branch August 1, 2026 03:59
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

This PR is included in version 1.45.0

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