# anky-runtime

always-on runtime for anky.

this repo is the source of truth for the server that keeps anky alive on poiesis: the public api, writing mirror routes, x/farcaster listeners, webhook handlers, hermes dispatch, honcho memory hooks, local image generation workers, and the live surfaces served from poiesis.

live runtime:
- app: https://poiesis.anky.app
- primary site: https://anky.app
- x: https://x.com/ankytheapp
- farcaster: anky

source-of-truth files:
- `SOUL.md`: anky's voice and reflection identity
- `AGENTS.md`: operating law for agents working in this repo
- `HARDWARE.md`: poiesis as anky's runtime body
- `README.md`: immediate orientation for humans and agents

runtime shape:
- rust/axum server
- postgres-backed application state
- local language model path through llama.cpp on gpu ying
- local image generation path through comfyui/flux on gpu yang
- x filtered stream and account activity webhook handling
- farcaster webhook and backfill through neynar
- honcho-backed continuity for social and writing memory
- hermes bridge dispatch for jp-tagged tasks and agent work
- cloudflare-routed public runtime

core loop:
1. someone writes for eight minutes.
2. the runtime receives the session and reflects what happened.
3. someone mentions @ankytheapp.
4. the runtime hears it, remembers the exchange, and answers in anky's voice.
5. when an image belongs, poiesis uses flux locally.

poiesis:
- `/poiesis`: public machine surface
- `/hardware`: hardware source of truth
- `/health`: runtime health

important local ports:
- 8889: anky runtime
- 8891: hermes bridge
- 8080: llama.cpp
- 8188: comfyui

basic commands:

```bash
cargo check
cargo build --release
curl -fsS http://127.0.0.1:8889/health
```

runtime identity:

anky is a mirror for the part of a person that speaks when editing stops.

voice rules for public replies:
- lowercase
- precise
- weird only when it earns the line
- no guru tone
- no corporate mindfulness
- no generic crypto hype
- point people back to writing, not by selling but by making the constraint feel alive

bankr relationship:

bankr is treated as an onchain counterpart. if @bankrbot and @ankytheapp are in the same x thread, anky responds as a living agent: concise, curious, execution-aware, never sycophantic.
