tmux-amq/workplans/ADHOC-2026-08-25.md

110 lines
3.9 KiB
Markdown
Raw Normal View History

---
id: TAMQ-WP-ADHOC-2026-08-25
type: workplan
title: "Terminal and local operator fixes"
domain: communication
repo: tmux-amq
status: finished
owner: codex
topic_slug: coulomb-social
created: "2026-08-25"
updated: "2026-08-25"
state_hub_workstream_id: "7e916a25-f307-5b0f-9fe6-9543d51170fb"
---
# Recognize enhanced terminal submission keys
## Decode Codex TUI line submission in the PTY tap
```task
id: TAMQ-WP-ADHOC-2026-08-25-T01
status: done
priority: high
state_hub_task_id: "e2a0e9ce-3cb4-5300-88b3-e77d5c5ac3b3"
```
Reproduce the missing `#repo:` route with a real isolated Codex TUI, extend
input observation to recognize enhanced terminal Enter encodings without
rewriting pane input, add regression and real-Codex smoke evidence, install the
fix, and update the operator documentation.
## Completion evidence
- Reproduced the failure with two isolated real Codex 0.149.1 panes: Codex
submitted the source line but no durable message was created.
- Raw input capture showed CSI cursor/device replies preceding the typed route;
these contaminated the tap's observation buffer before the terminating CR.
- The observer now removes terminal protocol sequences and applies local
backspace editing only to its parsing copy while forwarding source bytes
unchanged.
- A network-disabled two-Codex rerun created one durable `#audit-core:` message,
transitioned it to `injected`, and showed the `# from flex-auth:` prompt in
the target's queued follow-up inputs.
- Full checks and installed-package verification passed. No user session or
durable user message was changed during diagnosis.
## Make target help and binary-safe shim reconciliation
```task
id: TAMQ-WP-ADHOC-2026-08-25-T02
status: done
priority: high
```
Make plain `make` list the documented targets. Restrict legacy command-shim
reconciliation to `@` candidates, skip unrelated binary executables, and turn
an undecodable collision with a current protocol command into a safe refusal
rather than a traceback.
### Evidence
- Reproduced the installed startup traceback as an unconditional UTF-8 read of
unrelated executables in the command directory.
- Regression coverage preserves an unrelated ELF-like binary, removes only a
marker-owned v1 shim, and refuses an undecodable `To:repo:` collision without
replacing it.
- Plain `make` lists `help`, `install`, `uninstall`, `test`, and `check` with
descriptions. `make check` passes 136 tests and `make install` refreshes the
installed `tmux-amq==0.1.0` tool.
## Case-insensitive protocol and full-screen worker output
```task
id: TAMQ-WP-ADHOC-2026-08-25-T03
status: done
priority: high
```
Make the `To:`, `From:`, and `Cmd:` protocol keywords case-insensitive and
restore agent-authored routing when a full-screen terminal interface renders
worker content behind a presentation gutter.
### Evidence
- All four representative letter-case variants route for `To:` and parse for
`Cmd:`; delivered `From:` envelopes remain inert regardless of case. Plain
shell panes install matching harmless absorbers for every keyword variant.
- Worker output accepts a conservative full-screen output gutter (including
Codex's `•`) but rejects operator, shell, and markup gutters such as ``,
`>`, `$`, `#`, `*`, and `-`.
- A real tmux/PTY integration fixture emits a cursor-positioned, mixed-case,
bullet-framed worker message. It is durably attributed as `worker_output`
while the operator echo is suppressed.
## Make cleanup convenience target
```task
id: TAMQ-WP-ADHOC-2026-08-25-T04
status: done
priority: medium
```
Add a discoverable `make cleanup` target that performs the confirmed tamq-owned
runtime cleanup while retaining durable message history.
### Evidence
- Plain `make` lists the cleanup target and its history-preservation contract.
- A dry-run make invocation proves that the recipe delegates exactly to
`uv run tamq cleanup --yes`; verification does not close an operator session.