Class: RosettAi::Mcp::Tools::CompileStatusTool
- Inherits:
-
Object
- Object
- RosettAi::Mcp::Tools::CompileStatusTool
- Defined in:
- lib/rosett_ai/mcp/tools/compile_status_tool.rb
Overview
MCP tool: show compilation staleness status.
Compares source behaviour/design YAML files against their compiled output, reporting per-file checksums and staleness. Read-only.
Constant Summary collapse
- TOOL_NAME =
'rai_compile_status'- DESCRIPTION =
'Show compiled rules staleness — source vs compiled checksums'- ANNOTATIONS =
{ 'readOnlyHint' => true, 'destructiveHint' => false, 'idempotentHint' => true, 'openWorldHint' => false }.freeze
Instance Method Summary collapse
-
#call(scope: nil) ⇒ Hash
Checks staleness of compiled output files.
Instance Method Details
#call(scope: nil) ⇒ Hash
Checks staleness of compiled output files.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/rosett_ai/mcp/tools/compile_status_tool.rb', line 34 def call(scope: nil) compiled_dir = RosettAi.paths.rules_dir source_dir = resolve_source_dir files = collect_source_files(source_dir, scope) report = files.map { |src| build_file_report(src, compiled_dir) } stale_count = report.count { |r| r[:stale] } { files: report, total: report.size, stale: stale_count, up_to_date: report.size - stale_count, compiled_dir: compiled_dir.to_s, source_dir: source_dir.to_s } rescue StandardError => e ResponseHelper.error("Compile status failed: #{e.}") end |