diff --git a/WORK-RECORDS.md b/WORK-RECORDS.md index 76c55b7..93ce8ce 100644 --- a/WORK-RECORDS.md +++ b/WORK-RECORDS.md @@ -19,6 +19,7 @@ | workplan | TAMQ-WP-0008 | finished | — | workplans/TAMQ-WP-0008-reply-shorthand-stable-output.md | | workplan | TAMQ-WP-0009 | finished | — | workplans/TAMQ-WP-0009-interactive-recipient-composer.md | | workplan | TAMQ-WP-0010 | finished | — | workplans/TAMQ-WP-0010-experimental-pushy-delivery.md | +| workplan | TAMQ-WP-0011 | active | — | workplans/TAMQ-WP-0011-hash-routing-for-pushy-agents.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 | @@ -59,3 +60,6 @@ | task | TAMQ-WP-0010-T01 | done | — | workplans/TAMQ-WP-0010-experimental-pushy-delivery.md | | task | TAMQ-WP-0010-T02 | done | — | workplans/TAMQ-WP-0010-experimental-pushy-delivery.md | | task | TAMQ-WP-0010-T03 | done | — | workplans/TAMQ-WP-0010-experimental-pushy-delivery.md | +| task | TAMQ-WP-0011-T01 | progress | — | workplans/TAMQ-WP-0011-hash-routing-for-pushy-agents.md | +| task | TAMQ-WP-0011-T02 | todo | — | workplans/TAMQ-WP-0011-hash-routing-for-pushy-agents.md | +| task | TAMQ-WP-0011-T03 | todo | — | workplans/TAMQ-WP-0011-hash-routing-for-pushy-agents.md | diff --git a/workplans/TAMQ-WP-0011-hash-routing-for-pushy-agents.md b/workplans/TAMQ-WP-0011-hash-routing-for-pushy-agents.md new file mode 100644 index 0000000..0d9be3c --- /dev/null +++ b/workplans/TAMQ-WP-0011-hash-routing-for-pushy-agents.md @@ -0,0 +1,69 @@ +--- +id: TAMQ-WP-0011 +type: workplan +title: "Hash-prefixed routing for pushy agent sessions" +domain: communication +repo: tmux-amq +status: active +owner: codex +topic_slug: coulomb-social +planning_priority: P0 +planning_order: 16 +created: "2026-08-24" +updated: "2026-08-24" +--- + +# Hash-prefixed routing for pushy agent sessions + +Avoid coding-agent `@` completion/template behavior by accepting `#repo:` as a +direct-address alias and make commanded pushy sessions observe it end to end. + +## Required operator contract + +Within a coding-agent session launched by +`tamq --mode pushy --command COMMAND REPO...`, typing +`#activity-core: Hello!` queues the same durable message as +`@activity-core: Hello!`. Tamq observes but does not rewrite the source input. + +Pushy input delivered to the target must not itself match the routing grammar, +or the target tap would route it back and create a feedback loop. The inbound +envelope is therefore `# from sender: body [message-id]`, still a safe shell +comment and a clear coding-agent prompt. + +## Add the hash routing alias + +```task +id: TAMQ-WP-0011-T01 +status: progress +priority: high +``` + +Accept exactly one leading `#` or `@` before a validated repository slug and +colon. Preserve strict start-of-line matching, non-empty bodies, registry +validation, sender identity, and ordinary-input pass-through. + +## Connect pushy mode to PTY observation + +```task +id: TAMQ-WP-0011-T02 +status: todo +priority: high +``` + +Automatically wrap explicit commands in `tamq tap` when pushy mode creates new +windows, using the endpoint instance identity. Preserve neutral shells when no +command is supplied and keep legacy `--tap` behavior distinct. + +## Prevent feedback and prove the full path + +```task +id: TAMQ-WP-0011-T03 +status: todo +priority: high +``` + +Change pushy input to the non-routable `# from` envelope. Add routing, broker, +CLI, PTY, and real two-window tmux coverage proving one `#repo:` source line +creates one durable message, one target submission, and no bounced message. +Document the interaction, run full checks, install, and exercise a controlled +live commanded pushy session if it can be isolated from user input.