Team File
A team, as read from its file: its name and ID, its members by ID, the
folder they share, the agents of other accounts it lets on, and the
opinions its members share beneath their own
(link_agent_team::Team).
Where it's kept
~/.lnk/teams/<team>.toml, named after the team, made and changed by
lnk agent team. Its file holds no name of an agent's, owner,
teams, [harness] or extends.
What it holds
Its id and name, its members, the folder they share and any of the
opinion sections of the agent spec,
which its members share.
id = "t4m9q2x7k1ab"
name = "research"
[member.scout]
id = "a1b2c3d4e5f6"
purpose = "finds sources"
[member.writer]
id = "g7h8j9k0m1n2"
purpose = "drafts the report"
[files]
shared = "~/Link/Teams/research/Shared"
[turns]
rounds = 12[member.<name>]
Each member by its name in the file, with its agent's id and a
purpose of one line: what it's for on the team, for people and its
teammates (link_agent_team::Member). An unknown key is refused.
[files] shared
The folder its members share, an absolute path or under ~, ~ made
the home folder; lnk agent team create makes
~/Link/Teams/<team>/Shared. Left out, the team has no folder.
What each member reaches
What each own member reaches of the folder is in its own sandbox file (Configuration).
Another account's agent
On a cloud that hosts agents of many accounts, the team's owner names
another account's agent twice, each checked against the other: in
[access] member and in its [member.<name>].
id = "t4m9q2x7k1ab"
name = "design"
[member.lead]
id = "a1b2c3d4e5f6"
[member.reviewer]
id = "k3m4n5p6q7r8"
owner = "acct-0b7c5e2d4f6a8b9c0d1e2f3a4b5c6d7e"
purpose = "reviews drafts"
read = ["."]
[access]
member = ["agent:acct-0b7c5e2d4f6a8b9c0d1e2f3a4b5c6d7e/k3m4n5p6q7r8"][access] member
It holds agent:<account>/<agent id>, IAM's one list of who outside
may be on it (Who May Talk to It).
Its [member.<name>]
The same agent's id and owner (the account), its purpose, and
what of the folder it reaches at most, write and read as
[teams.<team>] names them. The team's owner decides that, since the
files are theirs.
What's refused
A member with an owner that [access] member doesn't name, an entry
there that no member has, and write or read on the owner's own
agent are each refused.
Its own account's yes
It's on the team only once its own account joins as well: that yes is the other account's, never in this file.
Checked reference
The field names below come from link_agent_spec::parse_team (TeamHead). Optional values remain unset
until the feature resolves its environment or inherited settings. The list covers the team head; shared opinion tables use the Agent Spec.
root: access, files, id, member, name, version
access: member, message
files: shared
member.*: id, owner, purpose, read, write