create_nested_project
Starts a SUB-VIEW under a block: creates an INDEPENDENT (empty) project and links it immediately to the host block, in a single action. Double-clicking the host dives into it. This is the "inception" action: keep the block + its one-line summary on the main view, and push the detail (sub-components, internal mechanics, detailed process) one level down. primaryKind allows a sub-view of ANOTHER kind than its host (a BPMN process under an org chart block, an ERD under an architecture component). The new project is a project in its own right: it counts toward your project cap, and WRITING into it requires TARGETING it — over MCP, expectedProjectId on each write or set_active_project; in the in-app chat neither exists: nothing is written there during this turn, the interface dives into it at the end (otherwise, double-click the host) and it is built on the NEXT turn. The write tools never act on a linked project from the outside. Refuses if the block already carries a link (no project is created then). The sub-view INHERITS the rights of the host: the host's owner becomes a manager of it (unless they are already the creator), and the host's shares propagate to it with their role — the creator stays owner, and does not receive a share on their own project. A project that ALREADY EXISTS is linked with link_project_to_cell.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Name of the new project (visible in the project list and in the breadcrumb). | |
| label | No | AUTHORED label of the link, shown on the host card. If omitted, it takes `name`. This label is yours: the real name of the target project is resolved at display time, for each reader according to their rights. | |
| cellId | Yes | ID of the HOST block that will carry the link. It stays in THIS project; only a pointer to the new project is set there. | |
| primaryKind | No | Diagram kind of the new project (default: org). This is WHERE "cross-kind" inception happens: a BPMN process under an org chart block, an ERD under an architecture component. | |
| expectedProjectId | No | UUID of the project targeted by THIS call. ACTUALLY targets this project instead of the session project. Refused without changing anything if access is not granted. |