In batch mode, the Interpreter writes extraction-result.json plus a generated Screenplay.play file expressing the same provisional model. Service mode instead returns both values in a SessionResult
from GET /sessions/{prologueId}/result. This page documents the extraction-result shape.
Candidate slice type; the current deterministic analyzer produces the first three types
description
string
Optional description
commands
array of ExtractedCommand
At most one, for a StateChange slice
events
array of ExtractedEvent
The facts the slice produces
readModels
array of ExtractedReadModel
For a StateView slice
projections
array of ExtractedProjection
How read models are built from events
constraints
array of ExtractedConstraint
Candidate uniqueness constraints inferred from captured database schema
commands is a list rather than a nullable single value — a StateView/Automation/Translation slice simply has an empty list, so the shape never carries a null.
The generated .play file is a provisional starting point, not accepted intent. Review and correct its domain
terms and boundaries, validate it with the applicable Screenplay compiler/profile, and verify its behavior before
using it as model input.