#pragma once // Step 1388: Sprint 115 integration summary. #include struct Sprint115IntegrationSummary { static constexpr int sprintNumber = 115; static constexpr int stepsCompleted = 10; static constexpr const char* theme = "Sprint 115 Plan: Requirements Derivation from AST"; static bool verify() { return sprintNumber == 115 && stepsCompleted == 10; } static nlohmann::json toJson() { nlohmann::json j = nlohmann::json::object(); j["sprint"] = sprintNumber; j["steps"] = stepsCompleted; j["theme"] = theme; j["status"] = "complete"; nlohmann::json tools = nlohmann::json::array(); tools.push_back("whetstone_derive_requirements"); tools.push_back("whetstone_generate_setup_script"); tools.push_back("whetstone_verify_requirements"); j["tools_added"] = tools; nlohmann::json comps = nlohmann::json::array(); comps.push_back("RequirementsManifestSchema"); comps.push_back("ImportIncludeDependencyWalker"); comps.push_back("RuntimeVersionInferrer"); comps.push_back("ServiceDependencyDetector"); comps.push_back("SetupScriptGenerator"); comps.push_back("RequirementsGapReport"); j["components"] = comps; return j; } };