Repository navigation
Release v4.41.0
Added
- Screenplay publishes typed-context descriptors: language-neutral data describing exactly what each code body can see, so providers such as Stage can generate typed wrappers instead of
dynamiccontexts. They cover reducer transitions (a typedEventperonevent using its current generation, and a nullableStateshaped like the read model), validation and rule code, code policies at each place they are used, and the context of command handlers, which are still not bound. This is the descriptor part of decision 0012 and advances #139. CompilationResultexposes the descriptors throughTypedContextDescriptorsandContextsFor(requirementId).IsWrapperReadyis true only for descriptors from a successful compilation whose types all resolve; a failed compilation publishes only command-handler descriptors, marked not ready. Every descriptor carries the definitions of the concept and composite types it refers to.- MCP has a paged
typed-contextsview;implementation-requirementsitems gain a smalltypedContextreference (count and operation ids). - The descriptor contract has its own revision (1), a published vocabulary of portable type tokens and source kinds, and two readable vectors (
typed-contexts-v1.json,unbound-handler-context-v1.json) packaged with the canonical vectors. Canonical executable-model bytes and revisions are unchanged.
Six shape choices were decided under the maintainer's delegation: descriptors are a sidecar, never part of canonical executable-model bytes; types use portable tokens; policy descriptors are per use site; derived values such as IsFirst are included and marked as derived; command-handler descriptors describe only the context and appear only when the command's shape resolves; and descriptors have their own versioned contract.