One socket takes one listener, so the watcher and the daemon could not run at
the same time: whichever bound first got every record and the other got
nothing. --forward makes the watcher sit in front of the daemon instead of
instead of it — it narrates each record, passes it on, and answers the hook
with whatever came back, untouched.
A relay rather than a tee. The hook is waiting for an answer and only the
daemon can produce one, so a copy going two directions would leave the hook
holding a reply that cannot name anybody. Trouble comes back the same way and
lands in the feed rather than being swallowed: a daemon that is down or
disagrees about the wire is exactly what somebody watching this needs to be
told. The pinned count gains named and refused alongside the call counts.
scripts/dev-feed.sh wires it up, and says what to start when nothing is
behind it yet. Also removes three __pycache__ files that should never have
been committed, and adds the .gitignore that keeps them out.
22:19:33 demo-1 spawned a-explor Explore [could not reach the server: …/bot.did.provisionAgent]
22:23:33 demo-2 session started [named did:web:demo-2.agents.localhost%3A3000]
22:23:34 demo-2 spawned a-explor Explore [named did:web:a-explore.agents.localhost%3A3000]
22:23:34 demo-2 a-explor Bash
22:23:34 demo-2 spawned a-plan Plan [named did:web:a-plan.agents.localhost%3A3000]
22:23:35 demo-2 finished a turn a-plan
The unmarked Bash line is the point: that context already had a name, so it
was not told again.
🤖 Generated with Claude Code