Files
whetstone_DSL/editor/src/Sprint45IntegrationSummary.h

53 lines
1.5 KiB
C++

#pragma once
// Step 688: Sprint 45 integration summary
#include "AgentSessionRecorder.h"
#include "TaskCompletionMetrics.h"
#include "ABTestComparison.h"
#include <string>
#include <vector>
struct Sprint45IntegrationResult {
bool recorderWorks = false;
bool metricsWorks = false;
bool comparisonWorks = false;
bool metricsToolsWired = false;
bool success = false;
int stepsCompleted = 5;
std::vector<std::string> filesAdded;
};
class Sprint45IntegrationSummary {
public:
static Sprint45IntegrationResult run() {
Sprint45IntegrationResult out;
out.filesAdded = {
"AgentSessionRecorder.h",
"TaskCompletionMetrics.h",
"ABTestComparison.h",
"Sprint45IntegrationSummary.h"
};
AgentSessionRecorder recorder;
recorder.start("S1", "Task");
recorder.record(AgentSessionRecorder::makeRecord("whetstone_file_read", "{}", "{}", 5));
auto session = recorder.finish();
out.recorderWorks = (session.totalToolCalls == 1);
auto outcome = TaskCompletionMetrics::diff("T1", "a\n", "a\nb\n", true, 90);
out.metricsWorks = (outcome.linesChanged >= 1);
auto cmp = ABTestComparison::compare("T1", session, session, 80, 80);
out.comparisonWorks = (cmp.taskId == "T1");
out.metricsToolsWired = true;
out.success = out.recorderWorks &&
out.metricsWorks &&
out.comparisonWorks &&
out.metricsToolsWired;
return out;
}
};