# Two-terminal AMQ demo transcript

Generated by `scripts/demo-two-terminal.sh` against the live AMQ binary. Absolute temporary queue paths and generated IDs are normalized below; the script prints the original values when rerun.

~~~text
demo_root=<temp>/mail
[terminal-a] publish status and send urgent/normal/low
{"schema":1,"handle":"terminal-a","status":"busy","note":"sending demo cohort"}
sent urgent=<urgent-id> normal=<normal-id> low=<low-id>

[terminal-b] inspect priority order, claim exact IDs, and reply
[
  {"id":"<urgent-id>","priority":"urgent","kind":"todo","subject":"urgent"},
  {"id":"<normal-id>","priority":"normal","kind":"question","subject":"normal"},
  {"id":"<low-id>","priority":"low","kind":"status","subject":"low"}
]
{"header":{"id":"<urgent-id>","priority":"urgent"},"body":"urgent demo"}
{"header":{"id":"<normal-id>","priority":"normal"},"body":"normal demo question"}
{"header":{"id":"<low-id>","priority":"low"},"body":"low demo status"}
reply=<reply-id>
{"schema":1,"handle":"terminal-b","status":"idle","note":"demo cohort drained"}

[terminal-a] claim reply, inspect receipts, and list status
{"header":{"id":"<reply-id>","kind":"answer","thread":"<normal-thread>","refs":["<normal-id>"]},"body":"normal demo answer"}
{"count":1,"receipts":[{"msg_id":"<urgent-id>","stage":"drained","consumer":"terminal-b"}]}
{"count":1,"receipts":[{"msg_id":"<normal-id>","stage":"drained","consumer":"terminal-b"}]}
{"count":1,"receipts":[{"msg_id":"<reply-id>","stage":"drained","consumer":"terminal-a"}]}
[
  {"handle":"terminal-a","status":"busy","note":"sending demo cohort"},
  {"handle":"terminal-b","status":"idle","note":"demo cohort drained"}
]
~~~

The transcript distinguishes transport evidence from application completion: the receipt rows prove exact-ID drain milestones, while the answer remains a separately correlated AMQ message.
