feat(team): org-scoped coordination — teammates finally share one board
The API resolves projects against the caller's org, but this server never sent one, so every call fell back to each user's PERSONAL org: two teammates on the same repo silently got two disjoint boards. Coordination 'across a team' only ever worked for one account. - project-identity: deriveOrgId (AXIS_ORG_ID env > committed .axis/axis.json "org" > none) carried on ProjectIdentity; the committed file is now the one-line way a team pins repo + org for every clone - nerve-center: sends X-Axis-Org on every coordination call; org re-derived on switch_project / workspace auto-rebind; kept in sync on ContextManager so search/embed calls carry it too - list_agents: merges teammates from GET /api/v1/agents (server-derived presence from live locks + claimed jobs) — the in-process roster only ever saw agents inside this one process - cli: passes AXIS_ORG_ID through to the spawned server - README: document the org pin; stop recommending PROJECT_NAME=default (it outranks repo detection and collapses every repo onto one board) - .axis/axis.json committed for this repo; 7 new bun tests (15 pass) - dist rebuilt, version 1.14.0 (global install already symlinks here — restart MCP clients to load)
V
Vir Sanghavi committed
8c85d63cae5354aea20c8dd65a811bad7c5b0978
Parent: d288a8b