# techtideohio/binnacle architecture

> Architecture diagram of the GitHub repository techtideohio/binnacle, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/techtideohio/binnacle
- Repository: https://github.com/techtideohio/binnacle

## Overview

Binnacle is a Rust CLI supervisor for 15 independently installed TideOS evaluation tools. The user or agent selects a command; the CLI exposes the step table, checks engine health, or asks the library to resolve and launch a tool. Tool output is captured in a normalized JSON envelope, with the CLI returning a status based on success. The README documents the engines’ distinct evaluation capabilities; their implementations are external to this repository, so those capabilities are summarized rather than mapped internally.

Main entry points: [`src/lib.rs`](https://github.com/TechTideOhio/binnacle/blob/main/src/lib.rs) (Tool orchestration), [`src/main.rs`](https://github.com/TechTideOhio/binnacle/blob/main/src/main.rs) (Binnacle CLI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_cli["CLI and orchestration"]
  node_cli["Binnacle CLI<br/>[main.rs]"]
  node_orchestrator["Tool orchestration<br/>[lib.rs]"]
end

subgraph group_dataset["Data and deterministic evaluation"]
  node_reval["reval · error analysis"]
  node_gild["gild · golden dataset"]
  node_tessel["tessel · synthetic dimensions"]
  node_assay["assay · assertions"]
  node_tide_rill["tide-rill · retrieval"]
end

subgraph group_agent["Agent and judge evaluation"]
  node_keel["keel · trajectories"]
  node_temper["temper · pass-k"]
  node_parley["parley · simulated users"]
  node_gavel["gavel · judge alignment"]
  node_poise["poise · judge bias"]
end

subgraph group_stats["Statistics and operations"]
  node_plumb["plumb · paired statistics"]
  node_weir["weir · CI gating"]
  node_eddy["eddy · online evaluation"]
  node_tare["tare · cost and latency"]
  node_tether["tether · failure harvesting"]
end

node_user(("Agent or operator"))

node_user -->|"runs command"| node_cli
node_cli -->|"calls run or doctor"| node_orchestrator
node_orchestrator -->|"launches selected tool"| node_reval
node_orchestrator -->|"launches selected tool"| node_gild
node_orchestrator -->|"launches selected tool"| node_tessel
node_orchestrator -->|"launches selected tool"| node_assay
node_orchestrator -->|"launches selected tool"| node_tide_rill
node_orchestrator -->|"launches selected tool"| node_keel
node_orchestrator -->|"launches selected tool"| node_temper
node_orchestrator -->|"launches selected tool"| node_parley
node_orchestrator -->|"launches selected tool"| node_gavel
node_orchestrator -->|"launches selected tool"| node_poise
node_orchestrator -->|"launches selected tool"| node_plumb
node_orchestrator -->|"launches selected tool"| node_weir
node_orchestrator -->|"launches selected tool"| node_eddy
node_orchestrator -->|"launches selected tool"| node_tare
node_orchestrator -->|"launches selected tool"| node_tether

click node_cli "https://github.com/TechTideOhio/binnacle/blob/main/src/main.rs"
click node_orchestrator "https://github.com/TechTideOhio/binnacle/blob/main/src/lib.rs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cli,node_orchestrator toneBlue
class node_reval,node_gild,node_tessel,node_assay,node_tide_rill toneAmber
class node_keel,node_temper,node_parley,node_gavel,node_poise toneMint
class node_plumb,node_weir,node_eddy,node_tare,node_tether toneRose
class node_user toneIndigo
```

## Components

### CLI and orchestration

- [Binnacle CLI](https://github.com/TechTideOhio/binnacle/blob/main/src/main.rs): `src/main.rs`
- [Tool orchestration](https://github.com/TechTideOhio/binnacle/blob/main/src/lib.rs): `src/lib.rs`

### Data and deterministic evaluation

- **reval · error analysis**
- **gild · golden dataset**
- **tessel · synthetic dimensions**
- **assay · assertions**
- **tide-rill · retrieval**

### Agent and judge evaluation

- **keel · trajectories**
- **temper · pass-k**
- **parley · simulated users**
- **gavel · judge alignment**
- **poise · judge bias**

### Statistics and operations

- **plumb · paired statistics**
- **weir · CI gating**
- **eddy · online evaluation**
- **tare · cost and latency**
- **tether · failure harvesting**

### Other components

- **Agent or operator**

## Connections

- Agent or operator → Binnacle CLI: runs command (evidence: `README.md`)
- Binnacle CLI → Tool orchestration: calls run or doctor (evidence: `src/main.rs`)
- Tool orchestration → reval · error analysis: launches selected tool (evidence: `README.md`)
- Tool orchestration → gild · golden dataset: launches selected tool (evidence: `README.md`)
- Tool orchestration → tessel · synthetic dimensions: launches selected tool (evidence: `README.md`)
- Tool orchestration → assay · assertions: launches selected tool (evidence: `README.md`)
- Tool orchestration → tide-rill · retrieval: launches selected tool (evidence: `README.md`)
- Tool orchestration → keel · trajectories: launches selected tool (evidence: `README.md`)
- Tool orchestration → temper · pass-k: launches selected tool (evidence: `README.md`)
- Tool orchestration → parley · simulated users: launches selected tool (evidence: `README.md`)
- Tool orchestration → gavel · judge alignment: launches selected tool (evidence: `README.md`)
- Tool orchestration → poise · judge bias: launches selected tool (evidence: `README.md`)
- Tool orchestration → plumb · paired statistics: launches selected tool (evidence: `README.md`)
- Tool orchestration → weir · CI gating: launches selected tool (evidence: `README.md`)
- Tool orchestration → eddy · online evaluation: launches selected tool (evidence: `README.md`)
- Tool orchestration → tare · cost and latency: launches selected tool (evidence: `README.md`)
- Tool orchestration → tether · failure harvesting: launches selected tool (evidence: `README.md`)
