poker_validateUnitIntegrity
Validate unit integrity by checking 4-key structure completeness, physical consistency, and system-wide usage analysis to ensure proper unit system implementation.
Instructions
単位系の4キー完全性と物理的整合性を包括検証します
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| generateReport | No | 詳細診断レポートを生成するか | |
| includeSystemAnalysis | No | システム全体での単位使用状況分析を含めるか |
Implementation Reference
- src/mcp/handlers/unitHandlers.js:218-242 (handler)MCP tool handler: extracts parameters from args, delegates to taskManager.validateUnitIntegrity, logs progress, wraps result in success structure.async validateUnitIntegrity(args) { try { const { includeSystemAnalysis = true, generateReport = true } = args; logger.info('単位完全性検証開始', { includeSystemAnalysis, generateReport }); // TaskManagerの包括的完全性検証を利用 const result = await taskManager.validateUnitIntegrity(includeSystemAnalysis, generateReport); logger.info('単位完全性検証完了', { fourKeyComplete: result.fourKeyComplete, overallHealth: result.summary.overallHealth }); return { success: true, message: `単位完全性検証完了 - 健全性: ${result.summary.overallHealth}`, integrity: result }; } catch (error) { logger.error('単位完全性検証エラー', { args, error: error.message }); throw error; } },
- src/mcp/tools/unitTools.js:85-106 (schema)Tool metadata including name, description, and inputSchema for validation parameters.{ name: 'poker_validateUnitIntegrity', description: '単位系の4キー完全性と物理的整合性を包括検証します', inputSchema: { type: 'object', properties: { includeSystemAnalysis: { type: 'boolean', description: 'システム全体での単位使用状況分析を含めるか', default: true }, generateReport: { type: 'boolean', description: '詳細診断レポートを生成するか', default: true } }, additionalProperties: false, title: '単位完全性検証', description: '4キー構造の完全性、物理的整合性、システム内使用状況を包括的に検証' } },
- src/mcp/server.js:43-58 (registration)Dynamic tool call registration: strips 'poker_' from tool name to find handler method in handlers object and executes it with arguments.this.server.setRequestHandler(CallToolRequestSchema, async (request) => { const { name, arguments: args } = request.params; logger.info(`MCP Tool実行: ${name}`, { args }); // ハンドラー名をツール名から生成(プレフィックス除去) const handlerName = name.replace('poker_', ''); const handler = this.handlers[handlerName]; if (!handler) { throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`); } return await safeExecute(async () => handler(args), { tool: name })(); });