Goal
Make durable inbox usable across machines and agent sessions without turning the local core into a network service.
This is the near-term "more usable, not local-only forever" step that needs no daemon, accounts, or remote listener in core.
Context
- Local durable inbox (V5) + delivery notices (0.7.0) are shipped: pack → send → notice → pull/import → ack → status.
- Claude Code cross-session messaging validates multi-session coordination, but is Claude-only plain text. 3Notch owns the portable packet bus; vendor messengers carry the signal, not the archive.
- README already lists cross-machine transport recipes and honest sync guarantees as wanted help.
Scope
Docs / recipes
- Opinionated recipes for pointing two stores at one mailbox root via Tailscale, Syncthing, iCloud, git, scp/rsync (what works, what fails, permission model).
- Explicit honest limits: no distributed locks, no guaranteed delivery across sync products, SHA-256 is integrity not authorship,
local: is a label not identity.
- Clear guidance that anyone with FS access to the mailbox root can read/change it until encryption/signing land (see related issues).
Agent / notice signal paths
- Document forwarding the plain-text delivery notice through:
- Claude Code cross-session messaging (
SendMessage)
- Slack / email / GitHub comments / any text channel
- Agent prompt / onboard wording: notice is signal only; receiver still runs 3Notch under its own permissions.
- Optional small examples of "sender posts notice → receiver pulls by delivery_id".
Out of scope here
- Encryption, signing, remote HTTP transport, network listeners, hosted relay (tracked separately).
- Unblocking private/seed packets on the shared mailbox (intentionally blocked).
Acceptance ideas
Related
- Depends on nothing blocked; builds on shipped inbox + notices.
- Soft prerequisite for smoother adoption of encryption and remote transport.
Goal
Make durable inbox usable across machines and agent sessions without turning the local core into a network service.
This is the near-term "more usable, not local-only forever" step that needs no daemon, accounts, or remote listener in core.
Context
Scope
Docs / recipes
local:is a label not identity.Agent / notice signal paths
SendMessage)Out of scope here
Acceptance ideas
Related