Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/facett

facett-claude/.nornir/design.md

facett-claude — the direct-Claude conversation pane

Class: design · What it IS: the reusable facett-Elm component for a "chat with Claude" pane, extracted from nornir's welded ClaudeTab so every app (nornir · dwarves · holger) mounts ONE pane — no duplication (Law #1). Sibling how-to lives with the host; this file states only what the crate is.

Function axis

Why no nornir / reqwest edge

Apps depend on this crate, so it must not depend on nornir (cycle) and stays a pure leaf — the Anthropic HTTP client (viz::claude::HttpTransport, reqwest, claude-opus-4-8, $ANTHROPIC_API_KEY) is injected by the host. Mirrors the facett-brokkrview/facett-korp shape. A fake transport drives the tests offline — no network, no AI in the loop.

Remote-control (the north-star)

The whole conversation is drivable IN CODE over the update_json/state_json seam (prompt_changed → send → the host posts received_ok → assert last_assistant), so the robot harness + test-matrix cover it with no human and no AI at runtime.

Data / control flow

See assets/claude-pane.svg.

Sibling docs

Hosts (to wire)