list_decisions
Returns the project's decision REGISTER in ONE call: what was decided, by whom, when, with what verbatim — and what is IN FORCE (inForce). Useful before proposing or re-debating a topic: a decision in force is not reopened without saying so. Two sources, PROJECTED (nothing is stored separately, no migration): (1) ARBITRATION tasks (an arbitration is a question with options posed to a human) — maturity derived from the step of the cycle (propose/conteste → a_trancher · arbitre → tranchee · en_cours → en_cours · clos → actee · caduc → caduque), with origin "panel" (approved in the panel) or "external" (decision made outside the panel and recorded with proof by record_external_decision: verbatim, source, real date); (2) ORDINARY tasks that carry the decision label (case and accents ignored), origin "task" — their stage comes from a stade:idee|cadrage|a_trancher|tranchee|en_cours|actee label, otherwise from the status (todo → a_trancher, doing → en_cours, done → actee; archived without a stage → caduque). inForce = tranchee, en_cours or actee. ⚠️ NO FALSE "IN FORCE": a badly set label (unknown stage, contradictory stages, blocked task) returns a_trancher and is COUNTED in unclassified with its reason. A CLOSED arbitration task whose cycle never recorded the answer is NOT a decision: it is listed separately in unrecorded (the decision may have been made elsewhere; the body, documents or comments may carry it). counts.byMaturity gives the full distribution (before the maturity filter). Sort: decision date descending, undated last. ⚠️ WHAT IT DOES NOT DO, stated in the response's notIncluded: the label convention IS a convention (fragile by nature); it does not see a decision made in a document, a comment or the chat without a task or arbitration; nor the tasks of linked projects; it returns only a truncated summary of a task body (long reasoning is read with list_tasks fields:['body']); it neither imports nor creates any decision — to record one: create_tasks with arbitrage, record_external_decision, or a task labeled decision. decidedBy is the identifier of the account that decided in the panel (it is never a name). Modifies nothing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of decisions returned (default: 50, max: 200). | |
| query | No | Search by WORDS: each word (at least 2 characters, separated by spaces; the words are never matched as an exact phrase) must appear AT THE START OF A WORD in one of the fields; case and accents ignored, "revalider" finds "re-valider". Fields read: title, labels, body, question, option labels, recommendation justification, decision note, challenge, clarification, closure summary, verbatim of an out-of-cycle decision; account and key identifiers are never searched. Without a word of at least 2 characters: refused. | |
| cellId | No | Limits to the decisions carried by THIS block AND its child blocks (this block is never returned alone). Omitted: the whole project. | |
| offset | No | Pagination — number of decisions to skip (default: 0). | |
| inForce | No | `true`: only the decisions IN FORCE (maturity tranchee, en_cours or actee — a human decided and it is not caduque). `false`: the COMPLEMENT (idee, cadrage, a_trancher, caduque). Omitted: all. | |
| maturity | No | One maturity or a list: idee · cadrage · a_trancher · tranchee · en_cours · actee · caduque. Combines with `inForce` (both must hold). | |
| 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. |