--- 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" state_hub_workstream_id: "9a38f0c3-bd98-51ae-a6ad-502bef94a38f" --- # 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 state_hub_task_id: "d50b09b2-e4ad-5eb4-b833-2d9a62b5ff1f" ``` 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 state_hub_task_id: "1170ae19-a2ce-5f50-8a43-41b9625621e7" ``` 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 state_hub_task_id: "2a355d88-5272-58c2-a4f8-82df6cac7c3e" ``` 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.