diff --git a/PLAN.md b/PLAN.md index 6abb280..f65c677 100644 --- a/PLAN.md +++ b/PLAN.md @@ -13,6 +13,11 @@ Build an OpenClaw plugin that models organization hierarchy and agent identities ## 3) Storage Strategy - **Structure & identity data**: in-memory + JSON persistence (no memory_store) - **Shared memory**: memory_store keyed by scope (`org:{id}`, `dept:{id}`, `team:{id}`) +- **Filesystem resources** (plugin install dir `~/.openclaw/yonexus`): + - `yonexus/organizations//` contains: `teams/`, `docs/`, `notes/`, `knowledge/`, `rules/` + - On **create_organization**: create `` folder and its subfolders + - On **create_team**: create `organizations//teams//` with `agents/`, `docs/`, `notes/`, `knowledge/`, `rules/` + - On **assign_identity**: create `organizations//teams//agents//` with `docs/`, `notes/`, `knowledge/`, `rules/` ## 4) Permissions Model (B) Roles: @@ -46,11 +51,12 @@ Permission matrix (recommended): ``` ## 6) Tool/API Surface (MVP) +- `create_organization(name)` - `create_department(name, orgId)` - `create_team(name, deptId)` - `register_agent(agentId, name)` - `assign_identity(agentId, deptId, teamId, meta)` -- `set_supervisor(agentId, supervisorId)` +- `set_supervisor(actor, agentId, supervisorId)` - `whoami(agentId)` → identities + supervisor + roles - `query_agents(filters, options)` → list; supports `eq | contains | regex`