Step 533: add sprint 27 integration summary and closure gate
This commit is contained in:
71
editor/src/Sprint27IntegrationSummary.h
Normal file
71
editor/src/Sprint27IntegrationSummary.h
Normal file
@@ -0,0 +1,71 @@
|
||||
#pragma once
|
||||
// Step 533: Sprint 27 Integration + Summary
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
struct Sprint27Signals {
|
||||
bool taskitemContractSchema = false; // Step 524
|
||||
bool legalOperationGraph = false; // Step 525
|
||||
bool symbolScopeExtractor = false; // Step 526
|
||||
bool constraintDiagnostics = false; // Step 527
|
||||
bool phase27aIntegrationGate = false; // Step 528
|
||||
bool preApplyValidationGate = false; // Step 529
|
||||
bool postApplyStructuralGate = false; // Step 530
|
||||
bool contractDeltaChecker = false; // Step 531
|
||||
bool retryEscalationProtocol = false; // Step 532
|
||||
};
|
||||
|
||||
struct Sprint27IntegrationResult {
|
||||
bool phase27aPass = false;
|
||||
bool phase27bPass = false;
|
||||
bool sprint27Pass = false;
|
||||
std::vector<std::string> notes;
|
||||
};
|
||||
|
||||
class Sprint27IntegrationSummary {
|
||||
public:
|
||||
static Sprint27IntegrationResult summarize(const Sprint27Signals& s) {
|
||||
Sprint27IntegrationResult r;
|
||||
|
||||
r.phase27aPass = s.taskitemContractSchema &&
|
||||
s.legalOperationGraph &&
|
||||
s.symbolScopeExtractor &&
|
||||
s.constraintDiagnostics &&
|
||||
s.phase27aIntegrationGate;
|
||||
|
||||
r.phase27bPass = s.preApplyValidationGate &&
|
||||
s.postApplyStructuralGate &&
|
||||
s.contractDeltaChecker &&
|
||||
s.retryEscalationProtocol;
|
||||
|
||||
r.sprint27Pass = r.phase27aPass && r.phase27bPass;
|
||||
r.notes = buildNotes(s, r);
|
||||
return r;
|
||||
}
|
||||
|
||||
private:
|
||||
static std::vector<std::string> buildNotes(const Sprint27Signals& s,
|
||||
const Sprint27IntegrationResult& r) {
|
||||
std::vector<std::string> notes;
|
||||
if (!s.taskitemContractSchema) notes.push_back("fail:step524_taskitem_contract_schema");
|
||||
if (!s.legalOperationGraph) notes.push_back("fail:step525_legal_operation_graph");
|
||||
if (!s.symbolScopeExtractor) notes.push_back("fail:step526_symbol_scope_extractor");
|
||||
if (!s.constraintDiagnostics) notes.push_back("fail:step527_constraint_diagnostics");
|
||||
if (!s.phase27aIntegrationGate) notes.push_back("fail:step528_phase27a_integration");
|
||||
if (!s.preApplyValidationGate) notes.push_back("fail:step529_pre_apply_validation");
|
||||
if (!s.postApplyStructuralGate) notes.push_back("fail:step530_post_apply_structural_gate");
|
||||
if (!s.contractDeltaChecker) notes.push_back("fail:step531_contract_delta_checker");
|
||||
if (!s.retryEscalationProtocol) notes.push_back("fail:step532_retry_escalation_protocol");
|
||||
|
||||
if (r.sprint27Pass) {
|
||||
notes.push_back("sprint27:constrained_pipeline_pass");
|
||||
notes.push_back("sprint27:out_of_scope_edits_prevented_by_construction");
|
||||
notes.push_back("sprint27:hallucinated_symbol_calls_fail_fast");
|
||||
} else {
|
||||
if (!r.phase27aPass) notes.push_back("phase27a:blocked");
|
||||
if (!r.phase27bPass) notes.push_back("phase27b:blocked");
|
||||
}
|
||||
return notes;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user