Behind jackin❯ — crates
jackin-console
Canonical host-console product surface. Owns reusable console state, update/input planning, view composition, components, pure product decisions, and effects-as-data for the operator console — the TUI an operator drives via jackin console.
What this crate owns
- Console state + planning for workspaces, mounts, and services (
workspace,services,github_mounts). - Mount diff/info and the mount-info cache (
mount_diff,mount_info,mount_info_cache). - Console view composition + input (
tui).
Architecture tier and allowed dependencies
L3 presentation. Allowed workspace dependencies: jackin-config, jackin-console-oppicker, jackin-core, jackin-diagnostics, jackin-env, jackin-protocol, jackin-tui. Must NOT depend on jackin-runtime, jackin-launch-tui, or jackin-capsule directly — console reaches runtime through effects-as-data, not direct calls.
Structure
| Module | Owns | Tests |
|---|---|---|
| crate root, re-exports | — |
· | console workspace state | |
· | services | — |
· | GitHub mounts | |
· | mount info | |
| mount-info cache | — |
| mount diff | — |
· | view composition + input | — |
| shared form FieldRow / FormSection view models | — |
Public API
Console state machine + view models consumed by the jackin binary's console entry point. Picker model/planning is split into jackin-console-oppicker; this crate owns only the side-effect adapters.
How to verify
cargo nextest run -p jackin-console
cargo clippy -p jackin-console --all-targets -- -D warnings