From 782af1a77f6ecf6c0772d6f5c203b20214496af8 Mon Sep 17 00:00:00 2001 From: Bill Date: Tue, 17 Feb 2026 22:14:21 -0700 Subject: [PATCH] Step 660: inference job generator model --- editor/CMakeLists.txt | 9 +++++++++ editor/src/InferenceJobGenerator.h | 32 ++++++++++++++++++++++++++++++ editor/tests/step660_test.cpp | 24 ++++++++++++++++++++++ progress.md | 25 +++++++++++++++++++++++ 4 files changed, 90 insertions(+) create mode 100644 editor/src/InferenceJobGenerator.h create mode 100644 editor/tests/step660_test.cpp diff --git a/editor/CMakeLists.txt b/editor/CMakeLists.txt index 8cc5f2f..f8ca837 100644 --- a/editor/CMakeLists.txt +++ b/editor/CMakeLists.txt @@ -4819,4 +4819,13 @@ target_link_libraries(step659_test PRIVATE tree_sitter_javascript tree_sitter_typescript tree_sitter_java tree_sitter_rust tree_sitter_go) +add_executable(step660_test tests/step660_test.cpp) +target_include_directories(step660_test PRIVATE src) +target_link_libraries(step660_test PRIVATE + nlohmann_json::nlohmann_json + unofficial::tree-sitter::tree-sitter + tree_sitter_python tree_sitter_cpp tree_sitter_elisp + tree_sitter_javascript tree_sitter_typescript + tree_sitter_java tree_sitter_rust tree_sitter_go) + # Step 12: Dear ImGui shell scaffolding created (main.cpp exists but not built due to dependencies) diff --git a/editor/src/InferenceJobGenerator.h b/editor/src/InferenceJobGenerator.h new file mode 100644 index 0000000..354e28b --- /dev/null +++ b/editor/src/InferenceJobGenerator.h @@ -0,0 +1,32 @@ +#pragma once +// Step 660: whetstone_generate_inference_job MCP tool model + +#include + +#include +#include + +using json = nlohmann::json; + +class InferenceJobGenerator { +public: + static std::string toolName() { return "whetstone_generate_inference_job"; } + + static json generate(const std::string& goal, + int entropyScore, + const std::vector& files, + const std::string& bounty = "normal") { + if (goal.empty() || entropyScore < 0) { + return {{"success", false}, {"error", "invalid_input"}}; + } + return { + {"success", true}, + {"job", { + {"type", "refactor"}, + {"goal", goal}, + {"context", {{"files", files}, {"entropy_score", entropyScore}}}, + {"bounty", bounty} + }} + }; + } +}; diff --git a/editor/tests/step660_test.cpp b/editor/tests/step660_test.cpp new file mode 100644 index 0000000..13184c3 --- /dev/null +++ b/editor/tests/step660_test.cpp @@ -0,0 +1,24 @@ +// Step 660: whetstone_generate_inference_job MCP tool (12 tests) + +#include "InferenceJobGenerator.h" +#include +static int p=0,f=0; +#define T(n) { std::cout<<" "<<#n<<"... "; } +#define P() { std::cout<<"PASS\n"; ++p; } +#define F(m) { std::cout<<"FAIL: "<