Skip to content

Release v4.206.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 02:05
e75bd52

Hosts that run the reference evaluator over a live event log can now reproduce its protected-read conflict semantics: decide a command, extend the world with facts written in the meantime, and commit, so only a fact the command actually read makes it conflict.

Added

  • SemanticEvaluator.Decide returns a SemanticDecision with its Boundary, its Dependencies (a SemanticDecisionDependencies of read keys and event contracts) and a Commit that can be called again against a later world; a read-only request is refused with a Contract rejection. See decision 0089. (#833)
  • SemanticEvaluator.ExtendWorld extends an established world with facts that already hold in the log, giving the same world as establishing all facts at once. (#833)
  • Cratis.Screenplay.CanonicalCorpus publishes ProtectedCommandReadRaceVectors: 16 race cases with their model, run only through the public API, so a host can prove it matches the reference. (#833)
  • The host loop is documented: decide, extend, commit, settle reactions, then write the whole settled batch guarded on the world it was settled against, and when a retry is allowed. (#833)