links: link workspaces into one project, sharing memory and work items

/link adds or removes peers in a workspace_links group. each member keeps writing its own memory and work items; reads cover the group (memory snapshot, grep and search; every work ledger read and change), so a gone member loses nothing and unlinking undoes nothing. a member's folder is checked where it is: a remote one with one exists gather over the shared ControlMaster, every member at once. a host that doesn't answer reads as connecting, sign in or unreachable, never gone, and opening a session never waits on a host. a link or unlink queues a note in every open session of the workspaces it touches; a link note carries the new members' memory snapshot, so an open session sees it without rebuilding its prompt. memory moves daemon-side: the kernel's memory object calls the memory host route through a new blocking host_now, so a remote session's notes land in the daemon's ALBEDO_HOME instead of the host's. Signed-off-by: dawn <90008@klbr.net>

2f43cb2d parent fbcd4e8c +1205 −139
browse files