Repository navigation
Release v4.206.0
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.Decidereturns aSemanticDecisionwith itsBoundary, itsDependencies(aSemanticDecisionDependenciesof read keys and event contracts) and aCommitthat can be called again against a later world; a read-only request is refused with a Contract rejection. See decision 0089. (#833)SemanticEvaluator.ExtendWorldextends an established world with facts that already hold in the log, giving the same world as establishing all facts at once. (#833)Cratis.Screenplay.CanonicalCorpuspublishesProtectedCommandReadRaceVectors: 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)