Skip to content

Closed streams

Requires Chronicle 19.39.0 or later. Both commands operate on the event sequence selected by --sequence (default: event-log), within the active event store and namespace. Override those with --event-store and --namespace.

Lists closed scopes and their closure metadata. Filters select closures within the supplied dimensions; they do not test whether a broader closure covers a particular stream. The query is not paged and returns every match.

Terminal window
cratis chronicle streams closed list
cratis chronicle streams closed list --event-source-id order-42 -o json
OptionDescriptionDefault
--sequence <ID>Event sequence nameevent-log
--event-source-id <ID>Filter by event source identifierUnset
--event-source-type <TYPE>Filter by event source typeUnset
--event-stream-type <TYPE>Filter by event stream typeUnset
--event-stream-id <ID>Filter by event stream identifierUnset

Table and plain output show the four scope dimensions, Origin, ClosedBy, SequenceNumber and ClosedAt. JSON uses the corresponding camelCase names. origin is CompleteStream for a manual closure or ClosingEvent for an event-driven closure. closedBy names the owning constraint and is absent for manual closures. Older closure records may lack a closing time and use the unavailable sequence number (18446744073709551615). Absent values are empty cells in table/plain output and omitted in JSON.

Repairs only an exact manual closure. Supply all and only the dimensions shown on that closure; the command never widens, narrows or splits it. At least one dimension and a non-empty reason are required.

Terminal window
cratis chronicle streams closed reopen --event-source-id order-42 --reason "Closed the wrong order"

Accepts the same sequence and dimension options as closed list, but the dimensions identify the exact closure rather than filter results.

Additional optionDescription
--reason <TEXT>Required repair reason recorded in the system event sequence
-y, --yesSkip the confirmation prompt after checking the exact target; required in non-interactive environments

The server requires an authenticated principal with a subject. It records the reason and authenticated actor in a StreamScopeReopened system event before removing the manual closure. The audit contains the event source id; treat it as personal data if that id identifies a person.

Success confirms the exact repair, not that appends are now allowed: other covering closures may remain. List closures again to inspect them.

FailureNext step
No exact closure (NotCompleted)List closures and check every dimension, including those left unset. Nothing was reopened.
Event-driven closure (ClosedByEvent)Append one of the owning closing constraint’s ReopenedBy events instead. The repair command cannot remove it.
Missing reason or scope dimensionsSupply a non-empty --reason and at least one dimension.
Authorization, validation or server failureCheck credentials, the scope and the reported server message. No success is claimed.
Unsupported server RPCUpgrade Chronicle to 19.39.0 or later.

All failures return a non-zero exit code. For the closure rules, see Inspecting and repairing closed streams.