docs: stabilize website diagrams

This commit is contained in:
teknium1 2026-03-14 22:49:57 -07:00
parent d5b64ebdb3
commit 259208bfe4
18 changed files with 1504 additions and 112 deletions

View file

@ -100,7 +100,7 @@ In the current implementation, distributions assign a probability to **each indi
All output goes to `data/<run_name>/`:
```
```text
data/my_run/
├── trajectories.jsonl # Combined final output (all batches merged)
├── batch_0.jsonl # Individual batch results

View file

@ -103,7 +103,7 @@ Context files are loaded by `build_context_files_prompt()` in `agent/prompt_buil
The final prompt section looks roughly like:
```
```text
# Project Context
The following project context files have been loaded and should be followed:

View file

@ -207,16 +207,17 @@ honcho: {}
Honcho context is fetched asynchronously to avoid blocking the response path:
```
Turn N:
user message
→ consume cached context (from previous turn's background fetch)
→ inject into system prompt (user representation, AI representation, dialectic)
→ LLM call
→ response
→ fire background fetch for next turn
→ fetch context ─┐
→ fetch dialectic ─┴→ cache for Turn N+1
```mermaid
flowchart TD
user["User message"] --> cache["Consume cached Honcho context<br/>from the previous turn"]
cache --> prompt["Inject user, AI, and dialectic context<br/>into the system prompt"]
prompt --> llm["LLM call"]
llm --> response["Assistant response"]
response --> fetch["Start background fetch for Turn N+1"]
fetch --> ctx["Fetch context"]
fetch --> dia["Fetch dialectic"]
ctx --> next["Cache for the next turn"]
dia --> next
```
Turn 1 is a cold start (no cache). All subsequent turns consume cached results with zero HTTP latency on the response path. The system prompt on turn 1 uses only static context to preserve prefix cache hits at the LLM provider.

View file

@ -12,7 +12,7 @@ The hooks system lets you run custom code at key points in the agent lifecycle
Each hook is a directory under `~/.hermes/hooks/` containing two files:
```
```text
~/.hermes/hooks/
└── my-hook/
├── HOOK.yaml # Declares which events to listen for

View file

@ -174,21 +174,17 @@ The training loop:
## Architecture Diagram
```
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Atropos API │◄────│ Environment │────►│ OpenAI/sglang │
│ (run-api) │ │ (BaseEnv impl) │ │ Inference API │
│ Port 8000 │ │ │ │ Port 8001 │
└────────┬────────┘ └──────────────────┘ └────────┬────────┘
│ │
│ Batches (tokens + scores + logprobs) │
│ │
▼ │
┌─────────────────┐ │
│ Tinker Trainer │◄──────────────────────────────────────┘
│ (LoRA training) │ Serves inference via FastAPI
│ + FastAPI │ Trains via Tinker ServiceClient
└─────────────────┘
```mermaid
flowchart LR
api["Atropos API<br/>run-api<br/>port 8000"]
env["Environment<br/>BaseEnv implementation"]
infer["OpenAI / sglang<br/>inference API<br/>port 8001"]
trainer["Tinker Trainer<br/>LoRA training + FastAPI"]
env <--> api
env --> infer
api -->|"batches: tokens, scores, logprobs"| trainer
trainer -->|"serves inference"| infer
```
## Creating Custom Environments

View file

@ -140,7 +140,7 @@ When a missing value is encountered, Hermes asks for it securely only when the s
## Skill Directory Structure
```
```text
~/.hermes/skills/ # Single source of truth
├── mlops/ # Category directory
│ ├── axolotl/