tmux-amq/workplans/TAMQ-WP-0010-experimental-pushy-delivery.md
tegwick 1a2eb2633b
Some checks failed
tamq-ci / test (push) Failing after 7s
docs: close experimental pushy delivery workplan
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a03397-4d51-7fd1-8ff2-946eb22ea2bc
2026-08-24 23:42:26 +02:00

92 lines
3.4 KiB
Markdown

---
id: TAMQ-WP-0010
type: workplan
title: "Experimental pushy input delivery mode"
domain: communication
repo: tmux-amq
status: finished
owner: codex
topic_slug: coulomb-social
planning_priority: P0
planning_order: 15
created: "2026-08-24"
updated: "2026-08-24"
state_hub_workstream_id: "6a6ec6f1-c704-5543-8879-6f6f7a09699c"
---
# Experimental pushy input delivery mode
Add an explicit, experimental mode that submits routed messages to the target
pane's input for interactive coding agents that manage queued user prompts.
## Required operator contract
`tamq --mode pushy REPO...` opts the whole managed endpoint into pushy
delivery. The default remains `--mode output`; `--mode inbox` retains durable
inbox-only behavior, and `--no-display` remains a compatibility alias for
inbox mode.
Pushy delivery injects exactly one sanitized, single-line comment of the form
`#sender: body [message-id]` and then one Enter key. This is deliberately safe
as a no-op when an ordinary shell has an empty prompt, while coding-agent TUIs
can receive it as submitted user input. The message becomes `injected` after
tmux accepts both operations. Pushy mode may append to input already being
edited and is therefore experimental and explicitly opt-in.
## Add explicit endpoint modes
```task
id: TAMQ-WP-0010-T01
status: done
priority: high
state_hub_task_id: "ce704aaf-faf6-58d5-8a34-0e0a3c12f472"
```
Add `--mode output|inbox|pushy`, retain compatible `--no-display` behavior,
reject conflicting mode flags, register the selected endpoint mode, expose a
pushy service capability, and report the selected mode in startup status.
## Submit safely framed input
```task
id: TAMQ-WP-0010-T02
status: done
priority: high
state_hub_task_id: "6b03d6fa-78e5-5a72-ad4c-65a035fb16ab"
```
Sanitize all controls and collapse multiline messages into escaped text. Use
one checked tmux command list to send the literal comment and a distinct Enter
operation. Do not reuse the terminal-output path, and mark the durable record
`injected` only after tmux accepts both operations.
## Prove and document the experiment
```task
id: TAMQ-WP-0010-T03
status: done
priority: high
state_hub_task_id: "3957a42a-6151-5db2-af47-283789687eac"
```
Cover CLI conflicts and capability restart, store validation, exact framing,
one-time service delivery, and real tmux input submission. Update help, README,
and SCOPE with the risk boundary; run full checks, install, and exercise a
controlled live pushy session without altering user messages.
## Completion evidence
- `make check`: 117 tests passed, including a real isolated tmux shell proving
one submitted comment, one Enter, one durable transition to `injected`, and
no repeat delivery.
- Coverage: 77% overall; control handling is 86%, terminal framing is 85%, and
the service is 77%.
- `make install`: installed `tmux-amq==0.1.0`; `--mode pushy` forced a restart
of the older broker through the new `pushy_input` capability requirement.
- Live `flex-auth` to `audit-core`: `WP0010-live-smoke` appeared as submitted
shell input with its sender and message id, was treated as a comment, and the
record reached `injected`. Only that controlled record was acknowledged.
The live endpoint was restored to `--mode output`; user messages were not
modified.
- Bounded retry and acknowledgement-policy residuals remain owned by
`TAMQ-WP-0003`; this workplan creates no additional residual record.