Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions keel/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@
`resume-entries` (clear an armed rail-16 consecutive-loss halt), `record-flow`
(declare a deposit/withdrawal so rail 11 does not read it as P&L) and `reset-hwm`
(reset rail 11's high-water mark),
`subscription attest|set|show` (the per-venue, user-attested allowance rail 14 reads live), and a
Phase-4 `insights` stub.
`subscription attest|set|show` (the per-venue, user-attested allowance rail 14 reads live),
`status` (`commands.status`: the read-only, no-broker operator dashboard the paper-mode-fidelity
spec deferred -- mode/kill-switch/autonomy/Rail 11/positions/rules/data freshness, plus `--json`),
and a Phase-4 `insights` stub.

**Dangerous commands ask a human; nothing needs a stored secret.** The former scrypt passphrase
gate is gone (see `2026-07-21-security-simplification-design.md`). Five commands re-permit trading
Expand Down Expand Up @@ -78,6 +80,7 @@
from keel.commands.autonomy import autonomy_group
from keel.commands.db import db_group
from keel.commands.rules import rules_group, rules_seed
from keel.commands.status import status_cmd
from keel.commands.subscription import subscription_group
from keel.commands.trials import trials_group
from keel.commands.withdrawals import withdrawals_group
Expand Down Expand Up @@ -1629,6 +1632,13 @@ def simulate(
cli.add_command(subscription_group)


# -- status (interim operator-observability dashboard, no broker call) --------------------------

# The paper-mode-fidelity spec deferred a dedicated `keel status` command as a follow-up; it is
# defined in `keel.commands.status` and registered here.
cli.add_command(status_cmd)


# -- kill / resume ------------------------------------------------------------------------------


Expand Down
3 changes: 2 additions & 1 deletion keel/commands/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
`cli.add_command(...)`.

The broker-free command groups live here as standalone modules -- `db`, `trials`, `withdrawals`,
`autonomy`, `rules`, `subscription` -- so the large CLI file stays a thin wiring layer. They draw
`autonomy`, `rules`, `subscription`, `status` -- so the large CLI file stays a thin wiring layer.
They draw
the shared seams they need (`_open_repo`, `_load_cfg`, the confirmation gate, the disclaimer
decorator) from `_common`, and the shared product-id derivation from `_products`; neither of those
helper modules imports `keel.cli`, so there is no cycle. The `assets` group stays in `keel/cli.py`
Expand Down
Loading
Loading