Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a03397-4d51-7fd1-8ff2-946eb22ea2bc
3.3 KiB
| id | type | title | domain | repo | status | owner | topic_slug | planning_priority | planning_order | created | updated | state_hub_workstream_id |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TAMQ-WP-0011 | workplan | Hash-prefixed routing for pushy agent sessions | communication | tmux-amq | finished | codex | coulomb-social | P0 | 16 | 2026-08-24 | 2026-08-25 | 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
id: TAMQ-WP-0011-T01
status: done
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
id: TAMQ-WP-0011-T02
status: done
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
id: TAMQ-WP-0011-T03
status: done
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.
Completion evidence
make check: 120 tests passed, including a real isolated two-window tmux test proving one#activity-core:source line creates one durable message, one submitted target prompt, aninjectedtransition, and no feedback or duplicate delivery on a second service pass.- Coverage: 77% overall; routing is 100%, tmux management is 82%, terminal framing is 85%, and the service is 77%.
make install: installedtmux-amq==0.1.0with hash routing and automatic PTY observation for newly created commanded pushy windows.- The inbound
# from sender:envelope is deliberately outside the outbound route grammar, preventing tapped targets from bouncing injected messages. - The operator's existing session was not recreated or modified. Existing windows must be recreated to gain PTY observation; this preserves live input.
- Bounded retry and acknowledgement-policy residuals remain owned by
TAMQ-WP-0003; this workplan creates no additional residual record.