analyze_tasks
Analyzes the HONESTY of the project's tracking (tasks and arbitrations): finds the places where the tracking announces OPEN what is closed, or leaves a question unanswered. Useful WHEN RESUMING a run, before relying on list_tasks. Rules run: arbitrage-sans-reponse (an arbitration that is done or archived whose cycle stayed stuck — the decision was made elsewhere and never recorded) · arbitrage-ouvert-ancien (question at the "propose" step unanswered for N days) · clarification-sans-reponse ("more explanation" request not served for N days) · epic-sous-tache-desaccord (done Epic with a live subtask that is not done, or open Epic whose live subtasks are all done, as a QUESTION) · doing-immobile ("doing" task untouched for 3 days: the status may have diverged from the real work; a missing or unreadable date stays SILENT; a task labeled a-valider or a-approuver waits for a human and is never reported) · plan-ouvert-sans-sous-tache-ouverte (root labeled plan, without a parent, still open although none of its subtasks is: warning if it has some and all are closed or archived, info as a QUESTION if it has none) · plan-remplace-ouvert (open task labeled plan-remplace: a superseded plan does not stay open) · done-non-archive-ancien (OPT-IN via doneNotArchivedDays). Each finding carries severity (warning = established defect; info = question), message in English and suggestion (the action that answers it). measures returns the distribution of ages (min/median/max, in days) of open arbitrations and pending explanation requests — the measurement behind the thresholds: re-measure before tightening them. ⚠️ WHAT IT DOES NOT DO, said in notChecked of the response: does not compare any task text to a repository (cited paths, migrations) or to a language (meeting-minutes titles) — those rules belong to the OrgGen tracking project, does not read the CONTENT of tasks beyond the arbitration cycle, and does not look at the tasks of linked projects. A finding is a SIGNAL TO VERIFY rather than a verdict: nothing is blocked, nothing is written, and doubt (unreadable date, corrupted cycle) stays silent. Modifies nothing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of findings returned (default: 50, max: 200). | |
| cellId | No | Limits the analysis to the tasks of THIS block AND of its child blocks (not this block alone). Omitted: the whole project. The Epic/subtask rule is relational: it looks at the whole project in every case and returns only the findings whose faulty task is within the scope. | |
| offset | No | Pagination — number of findings to skip (default: 0). | |
| includeInfo | No | Also returns the findings of `info` severity (questions asked, not established defects). Default: false — their COUNT is always returned in `infoHidden`. | |
| arbitrationDays | No | Threshold, in days, of `arbitrage-ouvert-ancien`: a question left unanswered at the "propose" step. Default: 7. `measures.openArbitrations` gives the actual count to compare with this threshold. | |
| clarificationDays | No | Threshold, in days, of `clarification-sans-reponse`: a "more explanation" request not served. Default: 3. | |
| 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. | |
| doneNotArchivedDays | No | OPT-IN. Turns on `done-non-archive-ancien`: a task done for more than N days without being archived. Omitted: the rule is OFF (archiving is tidying, not doctrine). |