analyze_canvas
Analyzes the state of the canvas and automatically detects problems: missing positions, overlaps, invalid references, orphan blocks, broken dependencies. Serves when the user reports a visual problem or asks for a diagnostic. Returns a structured report with the problems detected and fix recommendations. Also returns cardsOverBudget: the PERMANENT list of the cards {cellId, cellName, used, budget} whose cumulated content, all content blocks combined, exceeds the cap of 12 entries per card — including an old overflow, not touched by the current turn (unlike the 'content.card-truncated' finding, which only flags what a turn has just introduced). Also returns duplicatedActionsEntries: the native tasks (create_tasks) of the WHOLE project whose normalized title matches an entry of an 'actions' content block of THE SAME block — a possible duplicate between the trackable register (task) and the documentary register (content block), which no creation finding can see if it was born before this turn (migration, another session, import). A FINDING, not a refusal: nothing is touched in the 'actions' content block. Also returns sharesOnNoCapitalNature: the assignments {cellId, cellName, personId, shares, cellType} that declare a numeric capital share on a block nature that has none (division, externe, infrastructure) — PERMANENT state, a legacy the tool never deletes. Fields absent = nothing to report, which does not mean "I did not look".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| includeAllDeps | No | Include the full list of all the dependencies in the JSON (`allDependencies`, default: true). No effect on `formattedReport`: that text report has never listed all the dependencies — only those with problems appear in it | |
| includeAllCells | No | Include the full list of all the blocks — in the JSON (`allCells`) AND in `formattedReport` (section "ALL BLOCKS"). false: both are limited to the blocks with problems, with a note saying how many were omitted (default: true) | |
| 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. |