Skip to content

Harden machine operation totality - #28

Merged
SandroMaglione merged 1 commit into
mainfrom
codex/harden-machine-totality
Aug 7, 2026
Merged

Harden machine operation totality#28
SandroMaglione merged 1 commit into
mainfrom
codex/harden-machine-totality

Conversation

@SandroMaglione

Copy link
Copy Markdown
Member

Summary

  • Add deterministic generated properties proving valid finite machines do not defect during planning, stable snapshot JSON round trips, resume, or post-resume event delivery.
  • Fix initial choices that route to another root so the abandoned root is not retained in the initial configuration or lifecycle work.
  • Resolve nested choices inside first-use history fallbacks before snapshot normalization, preserving their actions, raised/emitted events, and inspected transition identities.
  • Fix the independent finite-model oracle to follow choice chains entered through selected compound initializers.
  • Add focused coverage for transformed state/output schemas, controlled resumed action and raised-event traces, modeled failures versus user defects, and every minimized valid-input regression found by the new properties.

Root causes

  • Initial-choice planning re-merged every provisional value after the selected target had already been normalized. A target.full choice to another root therefore reintroduced the abandoned initial root.
  • History defaults normalized their returned complete snapshot before resolving nested choice pseudo-states, causing a valid typed fallback to reach snapshot validation with a pseudo-state in its active structure.
  • The reference interpreter advanced directly to the selected compound and stopped instead of following that compound's choice initializer chain.

Changeset

  • Added or updated for a library or package-metadata change
  • Not required because this PR does not change src/ or package.json

Added .changeset/wise-machines-harden.md as a patch release. No public API was added.

Validation

  • pnpm check
  • Relevant example checks, when examples changed
  • Reviewed the automated type-performance report, when the public TypeScript API or inference changed

No examples changed. Public TypeScript signatures and inference did not change, so a local pnpm perf:types run was not required; the automated report can confirm no regression.

pnpm check passed with 20 runtime test files / 360 tests, 15 type-test files / 140 tests, strict consumer validation, and package verification.

@SandroMaglione
SandroMaglione merged commit fc08038 into main Aug 7, 2026
8 checks passed
@SandroMaglione
SandroMaglione deleted the codex/harden-machine-totality branch August 7, 2026 12:13
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