Find commands

Search for components of the current state. All accept --json.

Find predicates

Search state/action predicates by name or source text:

speclogician find predicates "balance"
speclogician find predicates "s.x > 0" --kind state --json
speclogician find predicates "amount" --kind action

--kind filters to all (default), state, or action.

Find transitions

Search transition functions by name or source text:

speclogician find transitions "order"
speclogician find transitions "s.x + a" --json

Find scenarios

Search scenarios by name, predicate membership, or transition membership:

speclogician find scenarios "accept"            # by name
speclogician find scenarios "balance_ok"         # by predicate used in given/when
speclogician find scenarios "on_order" --json    # by transition used in then

Find usages (reverse lookup)

Find which scenarios and artifacts reference a given component. This is critical when editing a predicate or transition — it shows the blast radius.

speclogician find usages balance_ok --json

Returns:

{
  "component": "balance_ok",
  "component_type": "state_predicate",
  "scenarios": [{ "scenario": "accept_order", "sections": ["given"] }],
  "scenario_count": 1,
  "linked_artifact_ids": ["D1", "S1"],
  "linked_artifact_count": 2
}

Find artifacts

Smart text search across all artifact types:

speclogician find artifacts "order" --json
speclogician find artifacts "check" --kind src
speclogician find artifacts "rejected" --kind logs --max-per-type 10

--kind filters to all (default), tests, logs, docs, or src.