Complete sprint 141-145 scaffolding, tooling, and tests

This commit is contained in:
Bill
2026-02-24 15:34:10 -07:00
parent 1c0645b2f9
commit 61e3f6ca32
94 changed files with 2878 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
#pragma once
// Step 1681: Merge policy engine model.
#include <string>
#include <nlohmann/json.hpp>
struct MergePolicyEngineModel {
std::string id;
std::string detail;
int score = 0;
bool enabled = false;
bool valid = false;
};
class MergePolicyEngineModelFactory {
public:
static MergePolicyEngineModel make(const std::string& id,
const std::string& detail,
int score,
bool enabled) {
bool valid = !id.empty() && !detail.empty() && score >= 0;
return {id, detail, score, enabled, valid};
}
static nlohmann::json toJson(const MergePolicyEngineModel& v) {
return {{"id", v.id},
{"detail", v.detail},
{"score", v.score},
{"enabled", v.enabled},
{"valid", v.valid}};
}
};