1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
[]
= "degenbot-cli"
= "The degenbot console: the clap argv facade over degenbot-cli-core (ADR-051 D2)."
= ["cli", "console", "degenbot", "mev"]
= true
= true
= true
= true
= true
= true
# ADR-051 D2 / ADR-009: the facade is the publishable `degenbot` binary and
# rides the same lockstep version as every core (version.workspace above).
= true
[[]]
= "degenbot"
= "src/main.rs"
[]
= true
# ADR-051 D2 dependency charter, asserted by `just check-cli-shell-purity`:
# every non-workspace dependency below is argv/interaction/sink plumbing. The
# facade maps argv into `degenbot-cli-core` and renders the typed result; it
# never re-encodes command semantics (D1) and never reaches a domain-engine
# crate directly.
[]
# The clap-free semantics home: `Command` + the per-group enums, `CliError`,
# `CommandReport`, `PromptPlan`, `Prompter`, `CancelHandle`.
= true
# The driver-domain resolvers + the process-wide typed config holder and its
# `EnvVars` seam (ADR-051 D8): `--database` / `--chain-id` / `--node-*`.
= true
# The observability facade (ADR-043): `install_panic_hook`,
# `warn_retired_env_names`, the worker-census boot line, and the `op_*` macros
# the boot announcements ride.
= true
# The sink crate: `telemetry::resolve_filters` is the SAME console/record
# filter resolution `degenbot-python` boots (ADR-043 section 4), and
# `bot_core::stance` is the typed-config install site. Depending on the sink
# crate - never on a domain-engine crate - is what keeps the console's log
# surface identical to the Python driver's.
= true
= true
# argv declaration: the ONE clap tree (ADR-051 D2).
= { = "4.6", = ["derive"] }
# Progress rendering lives at the facade only (ADR-051 D9).
= "0.18"
# The SIGINT policy owner (ADR-051 D7): first Ctrl+C -> `CancelHandle`, second
# Ctrl+C -> abort. The listener owns one one-thread current-thread runtime; no
# shared runtime (`degenbot_core::runtime`) is built for it.
= { = "^1.53", = ["signal", "rt"] }
# The console sink + the progress layer.
= "^0.1"
= { = "^0.3", = ["env-filter", "fmt", "registry"] }