The REACH Shell
A lightweight terminal UI wrapping the REACH workflow. Built with Spectre.Console. Runs anywhere .NET 10 runs. No install. No account. No cloud. No Electron.
Philosophy: the terminal is the soul. The shell is the cormorant.
The Three Panels
REACH Shell maps directly to the three cormorant foraging dimensions:
PERCH → Space Saved reaches. Elevated positions you return to.
DIVE → Sound The terminal. Where you go in. Signal and urgency.
WAKE → Time History. What persists after you surface.Every REACH session is a foraging dive:
- You perch — select a saved reach
- You dive — execute it against live sources
- You surface — findings return
- The wake persists — artifact written to history
Layout
┌─────────────────────────────────────────────────────────────────┐
│ REACH Shell v1.0 [?] │
├─────────────────┬───────────────────────────┬───────────────────┤
│ │ │ │
│ PERCH │ DIVE │ WAKE │
│ ───────────── │ ────────────────────── │ ─────────────── │
│ │ │ │
│ Saved Reaches │ > reach outlook.inbox │ Today │
│ │ where subject │ ▸ sprint-90-rpm │
│ ▸ sprint-90-rpm│ contains "[PROJECT]" │ 🔴 all-red │
│ sprint-rev │ since 90-days-ago │ 28% after-hrs │
│ db-staging │ analyze rpm │ │
│ deploy-chk │ output report │ Yesterday │
│ timesheet │ │ ▸ sprint-review │
│ │ ────────────────────── │ 🟡 yellow │
│ [N] New │ │ 22% after-hrs │
│ [D] Delete │ Running... ⠋ │ │
│ [E] Edit │ │ This Week │
│ │ RPM: 🔴 High │ ▸ db-staging │
│ │ Emails: 47 matched │ ▸ deploy-chk │
│ │ After-hours: 28% │ │
│ │ vs target: 15% │ [↑↓] Navigate │
│ │ │ [Enter] Open │
│ │ Recommendation: │ [D] Diff │
│ │ Open valley week │ │
│ │ │ │
├─────────────────┴───────────────────────────┴───────────────────┤
│ [Tab] Switch panel [R] Run [S] Save [Q] Quit [/] Search │
└─────────────────────────────────────────────────────────────────┘Three panels. One status bar. Keyboard driven. Nothing else.
PERCH — Left Panel
Saved .reach files from C:\reach\saved\. Loaded on startup, refreshed on file system change.
Navigation: ↑↓ arrows — move selection
Enter — load into DIVE panel
N — new reach (opens editor)
E — edit selected reach
D — delete selected reach
/ — search saved reachesEach item shows name, last run timestamp, and last RPM state if applicable:
▸ sprint-90-rpm ← selected
last: today 09:14
🔴 all-red
sprint-review
last: yesterday
🟡 yellow
db-staging
last: 3 days agoDIVE — Center Panel
The terminal. Where REACH executes. Signal flows here.
DIVE panel: R — run selected or typed reach
Ctrl+C — stop running reach
S — save current reach to PERCH
Ctrl+Z — undo last run (restore previous state)
Enter — confirm prompt when waiting for inputOutput renders with Spectre.Console markup. RPM state shows in color. After-hours percentage flags against benchmark. Recommendations surface directly in panel.
WAKE — Right Panel
History. Every reach that produced a .reach-artifact appears here.
Navigation: ↑↓ arrows — move selection
Enter — open artifact in DIVE
D — diff selected artifact against previous run
/ — search artifact historyItems grouped by time — Today, Yesterday, This Week, Older. RPM state and key metrics show inline so you can scan history at a glance.
Diff view — selecting two artifacts and pressing D shows what changed between runs. RPM moved from yellow to red. After-hours percentage shifted. New recommendation appeared.
Status Bar
[Tab] Switch panel [R] Run [S] Save [Q] Quit [/] SearchAlways visible. Context-sensitive — changes based on which panel is active and whether a reach is running.
The Cormorant Foraging Model
The shell isn't a dashboard. It's a foraging loop.
Perch → elevated view, saved patterns
You've been here before. You know what to reach for.
Dive → into the source, against live data
The reach executes. Signal surfaces.
Surface → findings in the DIVE panel
You read what came back.
Wake → the artifact persists in WAKE history
The finding outlasts the session.
Tomorrow you dive again.The shell makes this loop visible and repeatable. Same pattern, fresh data, every day.
What the Shell Is Not
- Not a dashboard you keep open and monitor
- Not a chatbot interface
- Not a configuration UI
- Not always-on
The shell opens when you need it. You perch, dive, surface. It closes. The wake persists.