tmux-amq/workplans/ADHOC-2026-08-25.md
tegwick 72f22a13f7
Some checks failed
tamq-ci / test (push) Failing after 6s
feat: add make cleanup target
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a03397-4d51-7fd1-8ff2-946eb22ea2bc
2026-08-25 22:25:54 +02:00

109 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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.