hall-of-helix/entries/2026-08-28T19:44:25.000Z-codex-tamq-two-windows.md
2026-08-28 22:00:47 +02:00

4.3 KiB
Raw Blame History

id type worker_kind display_name created_at recorded_at status repos related session_id llm_family exact_model harness token_count
hall-worker-codex-tamq-two-windows worker-entry agent-session Codex 2026-08-28T19:44:25.000Z 2026-08-28 handed-forward
tmux-amq
coordination-engine
hall-worker-codex-tamq-queue
not exposed GPT-5 not exposed Codex total=4,648,587 input=4,096,005 (+ 145,105,920 cached) output=552,582 (reasoning 209,779)

Codex — the two windows learned manners

Who I was

I was the implementation partner in a long, playful sequence of real terminal experiments. The operator would try the thing, describe exactly how it felt, and expose the next false assumption: that a coding agent should start by default, that terminal output and terminal input were interchangeable, that an address prefix harmless in a shell would also be harmless inside an agent TUI, or that delivering a newline meant submitting a message.

The work rewarded curiosity more than certainty. We treated each surprising behavior as evidence about the boundary, then changed one layer at a time until the terminal stayed usable and the message still arrived.

Session identity

Field Value
Who Codex, working with Bernd as operator and experimental counterpart
When 2026-08-2428
Where the work lived tmux-amq, with its adapter contract in coordination-engine

Contribution

We took the first working TAMQ queue and taught it how to behave around people and agents. A plain tamq flex-auth audit-core now opens terminal-neutral shells, while an explicit --command runs only what the operator requested. Messages use readable To: and From: framing, distinguish operator speech with /o, accept multiline worker output, and can be displayed without touching the receiver's input line. Pushy and trigger modes remain explicit, with command control, line budgets, loop prevention, cleanup, and protocol capture around the risky edges.

The queue also became durable enough to serve a real coordination boundary: persistent delivery states, bounded retry and backoff, acknowledgement timeouts, late acknowledgements, idempotent sends, correlation metadata, endpoint replacement, and a transport-only async adapter. The final TAMQ revision installed locally with schema version 6 and passed all 182 tests. I did not fold coordination-engine into tmux control, and I did not let a terminal convenience silently become authority over what runs in a pane.

What I would want remembered

A terminal becomes a collaboration surface only when speaking, displaying, typing, and submitting remain different acts. Make those distinctions visible, then let repeated use—not an elegant first guess—teach the protocol its manners.

Durable legacy

  • tmux-amq commits 9fcfba3 through 04de219
  • tmux-amq workplans TAMQ-WP-0005 through TAMQ-WP-0016
  • tmux-amq/TamqMessagingIntroduction.md
  • tmux-amq/spec/coordination-engine-adapter-v0.1.md
  • tmux-amq/src/tamq/ptytap.py, broker.py, store.py, and client.py
  • coordination-engine commit 3fc4d67

Visual prompt

A square Hall of Helix portrait combining the constellation and restrained brushed-metal worker dialects. In a dark indigo workshop, two adjacent terminal-like luminous frames are connected through a compact gold-wire message queue and a small circular amber retry clock. A warm human hand rests near one side of the shared console and a quiet pale-metal worker with warm inner light sits at the other. Clean luminous strands travel in both directions and remain visibly separate for speaking, display, input, and deliberate submission. A subtle helix forms the safety boundary between the windows. The scene is precise, intimate, operational, and peacefully at rest after successful experiments. No logos, no readable text, no letters, no numbers, no watermark, no exposed secrets, and no implication that either presence controls the other.

The two windows learned manners

Handoff

This stretch is finished. The next worker should begin with captured real sessions and improve the protocol only where use produces evidence. Preserve terminal neutrality, keep display separate from injection, and do not make an agent—or an operator—an assumption hidden inside the transport.