docs: plan interactive recipient composer
Some checks failed
tamq-ci / test (push) Failing after 5s

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a03397-4d51-7fd1-8ff2-946eb22ea2bc
This commit is contained in:
tegwick 2026-08-24 23:17:13 +02:00
parent a4ba6e32e5
commit 71c6548945
2 changed files with 74 additions and 0 deletions

View file

@ -17,6 +17,7 @@
| workplan | TAMQ-WP-0006 | finished | — | workplans/TAMQ-WP-0006-shell-native-message-routing.md |
| workplan | TAMQ-WP-0007 | finished | — | workplans/TAMQ-WP-0007-terminal-output-notifications.md |
| workplan | TAMQ-WP-0008 | finished | — | workplans/TAMQ-WP-0008-reply-shorthand-stable-output.md |
| workplan | TAMQ-WP-0009 | active | — | workplans/TAMQ-WP-0009-interactive-recipient-composer.md |
| task | TAMQ-WP-ADHOC-2026-08-24-T01 | done | — | workplans/ADHOC-2026-08-24.md |
| task | TAMQ-WP-0001-T01 | done | — | workplans/TAMQ-WP-0001-statehub-bootstrap.md |
| task | TAMQ-WP-0001-T02 | done | — | workplans/TAMQ-WP-0001-statehub-bootstrap.md |
@ -51,3 +52,6 @@
| task | TAMQ-WP-0008-T02 | done | — | workplans/TAMQ-WP-0008-reply-shorthand-stable-output.md |
| task | TAMQ-WP-0008-T03 | done | — | workplans/TAMQ-WP-0008-reply-shorthand-stable-output.md |
| task | TAMQ-WP-0008-T04 | done | — | workplans/TAMQ-WP-0008-reply-shorthand-stable-output.md |
| task | TAMQ-WP-0009-T01 | progress | — | workplans/TAMQ-WP-0009-interactive-recipient-composer.md |
| task | TAMQ-WP-0009-T02 | todo | — | workplans/TAMQ-WP-0009-interactive-recipient-composer.md |
| task | TAMQ-WP-0009-T03 | todo | — | workplans/TAMQ-WP-0009-interactive-recipient-composer.md |

View file

@ -0,0 +1,70 @@
---
id: TAMQ-WP-0009
type: workplan
title: "Interactive recipient-aware message composer"
domain: communication
repo: tmux-amq
status: active
owner: codex
topic_slug: coulomb-social
planning_priority: P0
planning_order: 14
created: "2026-08-24"
updated: "2026-08-24"
---
# Interactive recipient-aware message composer
Make bare `@` safe for ordinary unquoted prose while keeping the selected
recipient visible and switchable.
## Required operator contract
Running `@` without arguments opens an inline composer whose prompt is the
selected repository, for example `@flex-auth: `. Plain text is read directly
from the terminal, so apostrophes and other shell punctuation do not require
quoting. Tab cycles through the other repository windows in the managed
session, preserving the draft. Enter queues the message and Ctrl-C cancels it.
The initial recipient is the latest durable inbound sender when available. If
there is no message history, use the first other repository in the session.
The existing `@ MESSAGE` shorthand remains a non-interactive fast path and
retains normal shell quoting rules.
## Expose session recipients to the generic command
```task
id: TAMQ-WP-0009-T01
status: progress
priority: high
```
Encode the addressable repository list in the tamq-owned generic `@` shim,
without changing shell configuration or trusting arbitrary repository names.
Exclude the current repository from the interactive recipient cycle.
## Implement the terminal composer
```task
id: TAMQ-WP-0009-T02
status: todo
priority: high
```
Add a small terminal-local editor that displays `@recipient: `, accepts literal
UTF-8 prose, handles backspace and Ctrl-U, cycles recipients on Tab without
losing the draft, submits on Enter, and restores terminal settings on every
exit path. Ctrl-C cancels without queuing a message.
## Prove and document the interaction
```task
id: TAMQ-WP-0009-T03
status: todo
priority: high
```
Cover recipient ordering, shim metadata, non-TTY rejection, punctuation,
editing and cancellation with pseudo-terminal tests. Run the full checks,
install the build, exercise the composer in the live two-window session, and
update README and SCOPE.