Decisions
Where Link's tools live, and how a team's tool runs once for the team.
Where do Link's tools live?
In a folder of their own, so any harness uses them and none can reach
into a tool: a tool there knows no harness, and reads what it reads of
an agent through a documented format, such as the conversation folder's.
Each is a program of its own (lnk-link-<tool>), as each plugin is,
rather than one program for all of them. Link's release builds them and
Link Harness from their folders at the core's version and signs them
with Link's key, as it does the adapters.
Team tools
How a team's tool runs once for the team.
How does a team's tool run once for the team?
As a shared tool (lnk sandbox tool add --shared): one server for every
session of every sandbox that names it, where any other tool starts a
server for each. The first member's proxy to need it starts its hub,
outside every sandbox, which runs the server once, answers each session
from it, and stops once none has been open for a while.
A team's memory
A team's memory is the first: Link Memory over the team's folder, its
index with the team's, its opinions the team's spec's over Link's,
offered only to members granted all of the team's folder, as team-<team id>-memory: it searches all of it, so a member granted only drafts
would otherwise read the rest through it. A dozen members run one
memory, not a dozen. The mechanism is the sandbox's, so any tool meant
for many sessions can be shared, and members still ask their own proxy's
rules before a call reaches it.