mark_mece
Validate hierarchical splits for MECE compliance by verifying children completely cover parent space without overlaps in research idea organization.
Instructions
Mark a split as validated for MECE (Mutually Exclusive, Collectively Exhaustive) properties. Verify that the children completely cover the parent space with no overlaps.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| tileId | Yes | ID of the tile whose split to validate | |
| isMECE | Yes | Whether the split is truly MECE | |
| coverageNotes | No | Notes on the completeness and exclusivity of the split |
Implementation Reference
- src/research-tree.ts:230-248 (handler)Core implementation of mark_mece tool: updates the tile's isMECE flag and coverage notes, confirming the split is Mutually Exclusive and Collectively Exhaustive./** * Mark a split as MECE validated */ markMECE( tileId: string, isMECE: boolean, coverageNotes?: string ): Tile { const tile = this.tiles.get(tileId); if (!tile) { throw new Error(`Tile ${tileId} not found`); } tile.isMECE = isMECE; tile.coverageNotes = coverageNotes; tile.updatedAt = new Date(); return tile; }
- src/index.ts:114-135 (registration)Registration of the 'mark_mece' tool in the TOOLS array, including name, description, and input schema.{ name: "mark_mece", description: "Mark a split as validated for MECE (Mutually Exclusive, Collectively Exhaustive) properties. Verify that the children completely cover the parent space with no overlaps.", inputSchema: { type: "object", properties: { tileId: { type: "string", description: "ID of the tile whose split to validate", }, isMECE: { type: "boolean", description: "Whether the split is truly MECE", }, coverageNotes: { type: "string", description: "Notes on the completeness and exclusivity of the split", }, }, required: ["tileId", "isMECE"], }, },
- src/index.ts:117-134 (schema)Input schema for mark_mece tool defining parameters: tileId (required), isMECE (required), coverageNotes (optional).inputSchema: { type: "object", properties: { tileId: { type: "string", description: "ID of the tile whose split to validate", }, isMECE: { type: "boolean", description: "Whether the split is truly MECE", }, coverageNotes: { type: "string", description: "Notes on the completeness and exclusivity of the split", }, }, required: ["tileId", "isMECE"], },
- src/index.ts:454-468 (handler)MCP CallToolRequestSchema handler for 'mark_mece': extracts arguments and calls treeManager.markMECE, returns JSON result.case "mark_mece": { const result = treeManager.markMECE( args.tileId as string, args.isMECE as boolean, args.coverageNotes as string | undefined ); return { content: [ { type: "text", text: JSON.stringify(result, null, 2), }, ], }; }