Decisions

Where Link's tools live, and how a team's tool runs once for the team.

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.