docs: plan reply shorthand and stable output
Some checks failed
tamq-ci / test (push) Failing after 6s
Some checks failed
tamq-ci / test (push) Failing after 6s
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a03397-4d51-7fd1-8ff2-946eb22ea2bc
This commit is contained in:
parent
7d07d8f14e
commit
db21e61ce5
2 changed files with 97 additions and 0 deletions
|
|
@ -16,6 +16,7 @@
|
|||
| workplan | TAMQ-WP-0005 | finished | — | workplans/TAMQ-WP-0005-terminal-neutral-manual-messaging.md |
|
||||
| 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 | active | — | workplans/TAMQ-WP-0008-reply-shorthand-stable-output.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 |
|
||||
|
|
@ -46,3 +47,7 @@
|
|||
| task | TAMQ-WP-0007-T03 | done | — | workplans/TAMQ-WP-0007-terminal-output-notifications.md |
|
||||
| task | TAMQ-WP-0007-T04 | done | — | workplans/TAMQ-WP-0007-terminal-output-notifications.md |
|
||||
| task | TAMQ-WP-0007-T05 | done | — | workplans/TAMQ-WP-0007-terminal-output-notifications.md |
|
||||
| task | TAMQ-WP-0008-T01 | progress | — | workplans/TAMQ-WP-0008-reply-shorthand-stable-output.md |
|
||||
| task | TAMQ-WP-0008-T02 | todo | — | workplans/TAMQ-WP-0008-reply-shorthand-stable-output.md |
|
||||
| task | TAMQ-WP-0008-T03 | todo | — | workplans/TAMQ-WP-0008-reply-shorthand-stable-output.md |
|
||||
| task | TAMQ-WP-0008-T04 | todo | — | workplans/TAMQ-WP-0008-reply-shorthand-stable-output.md |
|
||||
|
|
|
|||
92
workplans/TAMQ-WP-0008-reply-shorthand-stable-output.md
Normal file
92
workplans/TAMQ-WP-0008-reply-shorthand-stable-output.md
Normal file
|
|
@ -0,0 +1,92 @@
|
|||
---
|
||||
id: TAMQ-WP-0008
|
||||
type: workplan
|
||||
title: "Counterparty reply shorthand and stable terminal output"
|
||||
domain: communication
|
||||
repo: tmux-amq
|
||||
status: active
|
||||
owner: codex
|
||||
topic_slug: coulomb-social
|
||||
planning_priority: P0
|
||||
planning_order: 13
|
||||
created: "2026-08-24"
|
||||
updated: "2026-08-24"
|
||||
---
|
||||
|
||||
# Counterparty reply shorthand and stable terminal output
|
||||
|
||||
Add a conversation-oriented reply convention and keep asynchronous message
|
||||
output above the current input row instead of visually breaking the prompt.
|
||||
|
||||
## Required operator contract
|
||||
|
||||
If `audit-core` most recently received a message from `flex-auth`, this sends a
|
||||
reply to `flex-auth`:
|
||||
|
||||
```bash
|
||||
@ Thanks, I will take a look.
|
||||
```
|
||||
|
||||
The generic `@` command resolves the latest durable inbound message for the
|
||||
current `TAMQ_REPO`, regardless of acknowledgement state. It excludes
|
||||
self-addressed messages. If there is no counterparty, it fails visibly and
|
||||
queues nothing.
|
||||
|
||||
When a message arrives, tamq uses tmux's current pane cursor position and
|
||||
VT100-compatible scroll margins to scroll only the rows above the input cursor,
|
||||
write the comment immediately above it, restore the full scroll region, and
|
||||
restore the cursor. The current input row and cursor position remain stable.
|
||||
|
||||
## Add durable latest-counterparty resolution
|
||||
|
||||
```task
|
||||
id: TAMQ-WP-0008-T01
|
||||
status: progress
|
||||
priority: high
|
||||
```
|
||||
|
||||
Query the latest inbound message by creation order for the current repository,
|
||||
excluding self-addressed rows. Add `tamq reply MESSAGE...` and a tamq-owned
|
||||
generic `@` executable alongside the repository-specific shims. Preserve
|
||||
argument boundaries, require `TAMQ_REPO`, reuse target validation and send
|
||||
transport, and refuse collision with an unrelated existing `@` command.
|
||||
|
||||
## Keep input position stable during output
|
||||
|
||||
```task
|
||||
id: TAMQ-WP-0008-T02
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Resolve `cursor_y`, `pane_height`, and the pane PTY atomically through tmux.
|
||||
For a cursor with rows above it, generate a bounded DECSTBM scroll-region frame
|
||||
that saves/restores the cursor and resets the full scrolling region. Sanitize
|
||||
message content before framing and retain the simple output fallback when no
|
||||
row exists above the cursor. Never emit input bytes.
|
||||
|
||||
## Prove conversation and screen behavior
|
||||
|
||||
```task
|
||||
id: TAMQ-WP-0008-T03
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Test latest inbound selection across pending/acknowledged and self-addressed
|
||||
messages, missing identity/counterparty errors, generic shim arguments and
|
||||
ownership collision, cursor-aware frames, and real tmux behavior with a partial
|
||||
input line. Prove the input text and cursor coordinates are unchanged while the
|
||||
message becomes visible immediately above them.
|
||||
|
||||
## Install and document the interaction convention
|
||||
|
||||
```task
|
||||
id: TAMQ-WP-0008-T04
|
||||
status: todo
|
||||
priority: high
|
||||
```
|
||||
|
||||
Update help, README, and SCOPE; run complete checks; install the build; exercise
|
||||
`@ MESSAGE` in both directions in a live two-window session; and retain only
|
||||
user messages pending after acknowledging controlled smoke records.
|
||||
Loading…
Add table
Add a link
Reference in a new issue