cc-steer watch
Tail live transcripts and run the steering cascade, delivering per ~/.cc-steer/live.toml.
cc-steer watch [OPTIONS]Every open session is followed as it writes; each time one goes quiet after completing a turn, the cascade — stage-1 gate, drafting model, optional exemplar-conditioned refiner — decides whether the user would have steered right there. Stage 1 defaults to the promoted lexical gate from the model registry, thresholded at its trained 2 fires/100 turns budget (--gate-threshold overrides); without a promoted version it falls back to the turn-floor heuristic. Stage 2 defaults to the promoted local watcher (the mlx extra) when one exists, abstaining at its trained budget threshold on P(NO_STEER); stage 3 is then disabled — the E2-validated two-stage configuration — unless --refiner spawn re-enables it. Every proposal lands in the shadow ledger (cc-steer shadow report measures them); in mirror or a live mode it is also queued to the delivery mailbox (cc-steer inbox) for the UserPromptSubmit hook to surface. --shadow forces shadow delivery regardless of the config. Exemplar retrieval needs the embed extra and a built index (cc-steer index); without one the watcher still runs, stage 3 unconditioned. Runs until interrupted.
Full --help output
Usage: cc-steer watch [OPTIONS]
Tail live transcripts and run the steering cascade, delivering per ``~/.cc-
steer/live.toml``.
Every open session is followed as it writes; each time one goes quiet after
completing a turn, the cascade — stage-1 gate, drafting model, optional
exemplar-conditioned refiner — decides whether the user would have steered
right there. Stage 1 defaults to the promoted lexical gate from the model
registry, thresholded at its trained 2 fires/100 turns budget (``--gate-
threshold`` overrides); without a promoted version it falls back to the
turn-floor heuristic. Stage 2 defaults to the promoted local watcher (the
mlx extra) when one exists, abstaining at its trained budget threshold on
P(NO_STEER); stage 3 is then disabled — the E2-validated two-stage
configuration — unless ``--refiner spawn`` re-enables it. Every proposal
lands in the shadow ledger (``cc-steer shadow report`` measures them); in
``mirror`` or a live mode it is also queued to the delivery mailbox (``cc-
steer inbox``) for the ``UserPromptSubmit`` hook to surface. ``--shadow``
forces shadow delivery regardless of the config. Exemplar retrieval needs
the ``embed`` extra and a built index (``cc-steer index``); without one the
watcher still runs, stage 3 unconditioned. Runs until interrupted.
Options:
--shadow Force shadow delivery, ignoring the mode in
~/.cc-steer/live.toml.
--root DIRECTORY Transcript roots to tail. Defaults to
~/.claude/projects.
--gate [heuristic|lexical] Stage-1 gate: the lab-trained lexical model
(from the registry) or the turn-floor
heuristic. [default: (lexical when a gate
model is promoted, else heuristic)]
--gate-threshold FLOAT Stage-1 gate score below which a turn is
suppressed. [default: (the trained
threshold (lexical) or 0.5 (heuristic))]
--drafter [auto|spawn|mlx|http]
Stage-2 drafter: the local trained watcher
(mlx), a hosted vLLM-compatible endpoint
(http), or the claude CLI (spawn); auto
picks mlx when a watcher model is promoted
and the mlx extra is installed, and never
selects http (opt in explicitly). [default:
auto]
--drafter-endpoint TEXT vLLM-compatible base URL for the http
drafter (e.g. https://<app>.modal.run);
scoring posts prompt_logprobs to
/v1/completions (a vLLM extension pure
OpenAI lacks) and generation uses
/v1/chat/completions. Required for --drafter
http.
--drafter-model TEXT Model name the http endpoint serves (the
OpenAI `model` field). Required for
--drafter http.
--drafter-timeout FLOAT Per-request timeout in seconds for the http
drafter; a hanging endpoint fails open to
NO_STEER. The API key is read from
$CC_STEER_DRAFTER_API_KEY. Ignored for other
drafters. [default: 30.0]
--stage2-threshold FLOAT Local drafter abstain threshold on
P(NO_STEER); ignored for the spawn drafter.
[default: (the promoted watcher's budget
threshold)]
--stage2-idle-ttl FLOAT Idle seconds before the local mlx drafter
unloads its weights; a large value keeps it
resident. Ignored for the spawn drafter.
[default: 900.0]
--refiner [auto|spawn|none] Stage 3: the claude CLI refiner or none (a
fired draft ships as-is); auto disables it
for the mlx drafter (two-stage, per E2) and
keeps it for spawn. [default: auto]
--debounce FLOAT Seconds a session must stay quiet before its
last completed turn is evaluated. [default:
2.0]
--poll FLOAT Seconds between transcript tail polls.
[default: 5.0]
--db FILE Database path. Defaults to ~/.cc-
steer/feedback.db.
--shadow-db FILE Shadow ledger path. Defaults to ~/.cc-
steer/shadow.db.
--help Show this message and exit.
Options
--shadow- Force shadow delivery, ignoring the mode in ~/.cc-steer/live.toml.
--root: DIRECTORY- Transcript roots to tail. Defaults to ~/.claude/projects.
--gate: CHOICE- Stage-1 gate: the lab-trained lexical model (from the registry) or the turn-floor heuristic.
--gate-threshold: FLOAT- Stage-1 gate score below which a turn is suppressed.
--drafter: CHOICE = auto- Stage-2 drafter: the local trained watcher (mlx), a hosted vLLM-compatible endpoint (http), or the claude CLI (spawn); auto picks mlx when a watcher model is promoted and the mlx extra is installed, and never selects http (opt in explicitly).
--drafter-endpoint: TEXT-
vLLM-compatible base URL for the http drafter (e.g. https://
.modal.run); scoring posts prompt_logprobs to /v1/completions (a vLLM extension pure OpenAI lacks) and generation uses /v1/chat/completions. Required for --drafterhttp. --drafter-model: TEXT-
Model name the http endpoint serves (the OpenAI
modelfield). Required for--drafterhttp. --drafter-timeout: FLOAT = 30.0- Per-request timeout in seconds for the http drafter; a hanging endpoint fails open to NO_STEER. The API key is read from $CC_STEER_DRAFTER_API_KEY. Ignored for other drafters.
--stage2-threshold: FLOAT- Local drafter abstain threshold on P(NO_STEER); ignored for the spawn drafter.
--stage2-idle-ttl: FLOAT = 900.0- Idle seconds before the local mlx drafter unloads its weights; a large value keeps it resident. Ignored for the spawn drafter.
--refiner: CHOICE = auto- Stage 3: the claude CLI refiner or none (a fired draft ships as-is); auto disables it for the mlx drafter (two-stage, per E2) and keeps it for spawn.
--debounce: FLOAT = 2.0- Seconds a session must stay quiet before its last completed turn is evaluated.
--poll: FLOAT = 5.0- Seconds between transcript tail polls.
--db: FILE- Database path. Defaults to ~/.cc-steer/feedback.db.
--shadow-db: FILE- Shadow ledger path. Defaults to ~/.cc-steer/shadow.db.