"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.REVIEW_OUTPUT_REPAIR_BOUNDARY = exports.REVIEW_OUTPUT_MODE_AWARE_VERB_POLICY = exports.REVIEW_OUTPUT_VALIDATION_EXCEPTION_POLICY = exports.REVIEW_OUTPUT_RUNTIME_EVIDENCE_POLICY = exports.REVIEW_OUTPUT_NO_WRITE_BOUNDARY = void 0;
exports.getReviewOutputContract = getReviewOutputContract;
exports.renderReviewOutputContractLines = renderReviewOutputContractLines;
exports.REVIEW_OUTPUT_NO_WRITE_BOUNDARY = "Review commands are read-only evidence surfaces; they must not repair artifacts, mutate metadata or status, create planning artifacts, or infer runtime acceptance without a separate explicit write command.";
exports.REVIEW_OUTPUT_RUNTIME_EVIDENCE_POLICY = "Runtime and hybrid closeout require Runtime Delta targets, runtime changed paths, executable validation evidence, or a structured validation exception for a blocked validation command.";
exports.REVIEW_OUTPUT_VALIDATION_EXCEPTION_POLICY = "Runtime and hybrid validation exceptions must record planned command, blocker, substitute evidence, residual risk, and follow-up validation path; validation exceptions cannot substitute for missing runtime code changes.";
exports.REVIEW_OUTPUT_MODE_AWARE_VERB_POLICY = "Mode-aware runtime findings are blockers when runtime claims lack runtime changed paths or executable evidence, while contract-mode wording remains valid when it freezes contract evidence without runtime claims.";
exports.REVIEW_OUTPUT_REPAIR_BOUNDARY = "Repair, status mutation, metadata synchronization, artifact creation, and follow-up planning require a separate write-capable command selected by the operator.";
function getReviewOutputContract(surface) {
    return {
        surface,
        readOnly: true,
        writeCapable: false,
        noWriteBoundary: exports.REVIEW_OUTPUT_NO_WRITE_BOUNDARY,
        runtimeEvidencePolicy: exports.REVIEW_OUTPUT_RUNTIME_EVIDENCE_POLICY,
        validationExceptionPolicy: exports.REVIEW_OUTPUT_VALIDATION_EXCEPTION_POLICY,
        modeAwareVerbPolicy: exports.REVIEW_OUTPUT_MODE_AWARE_VERB_POLICY,
        repairBoundary: exports.REVIEW_OUTPUT_REPAIR_BOUNDARY
    };
}
function renderReviewOutputContractLines() {
    return [
        `No-write boundary: ${exports.REVIEW_OUTPUT_NO_WRITE_BOUNDARY}`,
        `Runtime evidence policy: ${exports.REVIEW_OUTPUT_RUNTIME_EVIDENCE_POLICY}`,
        `Validation exception policy: ${exports.REVIEW_OUTPUT_VALIDATION_EXCEPTION_POLICY}`,
        `Mode-aware blocker policy: ${exports.REVIEW_OUTPUT_MODE_AWARE_VERB_POLICY}`,
        `Repair boundary: ${exports.REVIEW_OUTPUT_REPAIR_BOUNDARY}`
    ];
}
