Complete Step 498: phase 25a integration
This commit is contained in:
49
editor/src/SelfHostingPhase25aIntegration.h
Normal file
49
editor/src/SelfHostingPhase25aIntegration.h
Normal file
@@ -0,0 +1,49 @@
|
||||
#pragma once
|
||||
|
||||
// Step 498: Phase 25a Integration
|
||||
// Full self-hosting pipeline: parse -> annotate -> transpile -> workflow -> metrics.
|
||||
|
||||
#include "SelfHostAnnotationAudit.h"
|
||||
#include "SelfHostCodebaseAudit.h"
|
||||
#include "SelfHostTranspileAudit.h"
|
||||
#include "SelfHostingMetricsReport.h"
|
||||
#include "SelfModernizationWorkflow.h"
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
struct Phase25aIntegrationResult {
|
||||
CodebaseParseAudit parseAudit;
|
||||
SelfAnnotationAuditReport annotationAudit;
|
||||
SelfTranspileAuditReport transpileAudit;
|
||||
ModernizationWorkflowReport workflowAudit;
|
||||
SelfHostingMetrics metrics;
|
||||
bool parseCoverageGate = false; // >=95%
|
||||
bool transpileGate = false; // >=3 translated modules
|
||||
bool workflowGate = false; // deterministic modernization viable
|
||||
bool phasePass = false;
|
||||
std::vector<std::string> notes;
|
||||
};
|
||||
|
||||
class SelfHostingPhase25aIntegration {
|
||||
public:
|
||||
static Phase25aIntegrationResult runCurrentState() {
|
||||
Phase25aIntegrationResult out;
|
||||
out.parseAudit = SelfHostCodebaseAudit::auditDirectories({"editor/src", "editor/src/ast"});
|
||||
out.annotationAudit = SelfHostAnnotationAudit::auditDirectories({"editor/src", "editor/src/ast"});
|
||||
out.transpileAudit = SelfHostTranspileAudit::runDefault();
|
||||
out.workflowAudit = SelfModernizationWorkflow::createAndRun("editor/src/AnnotationValidator.h");
|
||||
out.metrics = SelfHostingMetricsReport::generate(
|
||||
out.parseAudit, out.annotationAudit, out.transpileAudit, out.workflowAudit);
|
||||
|
||||
out.parseCoverageGate = out.parseAudit.meetsTarget(0.95);
|
||||
out.transpileGate = static_cast<int>(out.transpileAudit.files.size()) >= 3;
|
||||
out.workflowGate = out.workflowAudit.deterministicCount == out.workflowAudit.deterministicValidCount;
|
||||
out.phasePass = out.parseCoverageGate && out.transpileGate && out.workflowGate;
|
||||
|
||||
out.notes.push_back("Phase 25a pipeline executed");
|
||||
out.notes.push_back(out.phasePass ? "Self-hosting thesis gate passed"
|
||||
: "Self-hosting thesis gate has outstanding gaps");
|
||||
return out;
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user