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-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-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-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-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-T01 | done | — | workplans/TAMQ-WP-0001-statehub-bootstrap.md |
|
||||||
| task | TAMQ-WP-0001-T02 | 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-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-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-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