A hall visual that stays on the general branch uses the Efficient model from the 2026-10-08 intelligence-radar tree. render-hall writes only portraits whose files are still absent. Assistant: grok Assistant-Session: 01a11ab6-1534-7d63-8606-662b92a80ed6
3.1 KiB
| id | type | title | domain | repo | status | flavor | owner | topic_slug | created | updated | related | state_hub_workstream_id | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LLM-WP-0010 | workplan | Text-to-image rendering for square portraits | agents | llm-connect | active | implementation | grok | text-to-image-rendering | 2026-10-08 | 2026-10-08 |
|
205485de-a74d-57bd-8f84-e91b8623adeb |
LLM-WP-0010 — Text-to-image rendering for square portraits
Founder-approved request from fluid-telegram (2026-10-08) for the Hall of Helix portrait backfill. This workplan adds the facility. It does not choose the production model or the live budget, and it does not render the hall.
Library, OpenRouter client, and spend gate
id: LLM-WP-0010-T01
status: done
priority: high
state_hub_task_id: "f7f5b10e-f78e-53b0-ba0e-a52d91b701c8"
llm_connect.images renders one square image of at least 1024 pixels and
returns bytes plus a receipt: provider, model, SHA-256 prompt digest, and
cost. A per-call or batch cap requires a quote and refuses before the
provider call. OpenRouter POST /api/v1/images is the only client. The model
is required. The API key is resolved the same way as the chat adapter and is
not copied onto the receipt. Contract: contracts/functional/images.md.
CLI
id: LLM-WP-0010-T02
status: done
priority: high
state_hub_task_id: "7532cca3-2198-52ae-9891-2e95d97d76b0"
llm-connect image render writes --output or a JSONL --batch of
prompt / output_path lines. Receipts go to stdout. Exit 2 stops a batch
on a cap. Existing files are not replaced unless --force.
HTTP
id: LLM-WP-0010-T03
status: done
priority: high
state_hub_task_id: "7b824e20-7ebf-591b-84e5-eea8154ca778"
POST /images is registered only when python -m llm_connect.server is
started with --image-model, --image-max-cost-usd, and --image-quote-usd.
The response is the receipt plus base64 bytes. /execute is unchanged.
The process-lifetime batch cap is shared by concurrent requests.
Live backfill
id: LLM-WP-0010-T04
status: progress
priority: medium
blocking_reason: "The founder pointed at the 2026-10-08 intelligence-radar image decision tree. Hall portraits that stay on the general branch use Efficient (google/gemini-nano-banana-2.1, quote 0.04 USD, cap 0.08 USD). The backfill command is llm-connect image render-hall. A paid run is still in progress until every missing portrait file exists."
state_hub_task_id: "e69a1f53-a1d5-540e-a926-0f2a32ae4f54"
Do not run a paid render, deploy a new image, or write hall portraits until that choice is recorded. Reply to fluid-telegram used this workplan id.
2026-10-08 decision: use the intelligence-radar OpenRouter tree in
llm_connect.image_selection. A hall visual that does not ask for vector
output, editing, readable text, or a brand system is general / Efficient.
llm-connect image render-hall --hall <hall-of-helix> renders only entries
whose portrait file is absent, writes visuals/, stores a receipt under
visuals/receipts/, and uncomments the portrait line. It does not change
status. Text-heavy prompts stay on the tree's Frontier row.