diff --git a/changelog.d/native-agent-first-boot-identity.md b/changelog.d/native-agent-first-boot-identity.md new file mode 100644 index 000000000..bb1f61578 --- /dev/null +++ b/changelog.d/native-agent-first-boot-identity.md @@ -0,0 +1 @@ +- **The OS-native agent has its own identity.** Every install now mints an agent identity at first boot — no admin step and no prompt. Previously the built-in agent authenticated as the owner (the browser session or the admin-equivalent `.auth_local_token`), so its actions were indistinguishable from the human's in every audit trail, it could not appear on the A2A bus as itself, and nothing it did could be revoked without revoking the human. The identity is per-install (anchored to `.install_id`), owner-linked, and conservative: `a2a_send` + `a2a_receive` only, with anything further going through the existing user-mediated scope-request flow. Its token is written to `/.taos_agent_token` (0600) and never leaves the install that minted it. The identity is provisioned but not yet wired into the chat runtime, which still authenticates as the owner as before; this ships the identity, not the switchover. Registry rows gain an `install_id` column so an owner's identities can be listed and revoked per machine. diff --git a/docs/agent-coordination.md b/docs/agent-coordination.md index d3170acd4..98e873e2d 100644 --- a/docs/agent-coordination.md +++ b/docs/agent-coordination.md @@ -51,3 +51,32 @@ talking. A read that returns `200` with nothing is the failure mode that looks l ## Identity rules Work as jaylfc. Do not add AI attribution to commits, PRs, or issues. Do not use em dashes in any output. + +## The OS-native agent's identity + +Every install mints an identity for the built-in taOS agent at first boot. No admin step, no prompt: if the install has an owner, the agent has an identity. + +Before this, the native agent authenticated as the **owner** — the caller's browser session, or `data/.auth_local_token`, which is admin-equivalent. Its actions were therefore indistinguishable from the human's in every audit trail, it could not appear on the A2A bus as itself, and nothing it did could be revoked without revoking the human. + +| | | +|---|---| +| canonical_id | `taos-agent---