/** * The `.adversarial-review/` evidence packet that bridges clean-context * reviewers: parent context is written to files on disk so critics with no * chat history can read it. Critics read these files before producing * findings; missing/empty mandatory files => fail closed. */ export interface EvidencePacket { userIntent: string; forbiddenFindings?: string; planAccepted?: string; diff: string; filesToReadWhole?: string[]; tests?: string; decidedTradeoffs?: string; runtime?: string; } export declare const MANDATORY_EVIDENCE_FILES: string[]; /** One sealed packet contract shared by the cumulative Tier-1 and Tier-2 reviewers. */ export declare const FROZEN_REVIEW_EVIDENCE_FILES: readonly ["USER_INTENT.md", "USER_DIALOGUE.md", "FORBIDDEN_FINDINGS.md", "PLAN_ACCEPTED.md", "DECIDED_TRADEOFFS.md", "AUTHORIZATION.json", "FREEZE.json", "DIFF.patch", "DIFF_SUMMARY.md", "PHASE_DELTA.md", "COMMITS.tsv", "TRACEABILITY.md", "TESTS.txt", "TEST_RESULTS.json", "FINGERPRINTS.json", "RUNTIME.md", "FILES_TO_READ_WHOLE.txt", "RELEASE_PREFLIGHT.md", "DECISION_REGISTRY.md", "DECLINED_FINDINGS.md", "BLOCKER_FILTER.md"]; export interface PacketManifestFile { path: string; sha256: string; } export interface PacketManifestValidation { ok: boolean; reasons: string[]; files: string[]; } export interface SealedEvidencePacketInput { evidenceDir: string; candidateSha: string; candidateTree: string; expectedManifestSha256?: string; } export interface SealedEvidencePacket { evidenceDir: string; baseSha: string; candidateSha: string; candidateTree: string; diff: string; manifestSha256: string; files: string[]; } export interface DiffEvidence { diffPath: string; summaryPath: string; diffSha256: string; summary: string; } export declare function writeEvidencePacket(dir: string, packet: EvidencePacket): void; export declare function writeDiffEvidence(dir: string, diff: string): DiffEvidence; export interface PreflightResult { ok: boolean; missing: string[]; empty: string[]; } /** Fail-closed pre-flight: all mandatory evidence files must exist and be non-empty. */ export declare function preflightEvidence(dir: string): PreflightResult; /** Validate the relative-path SHA-256 manifest against the exact packet file set. */ export declare function validatePacketManifest(manifestText: string, actualFiles: readonly PacketManifestFile[]): PacketManifestValidation; /** * Verify an immutable cumulative-review packet before any reviewer sees it. * Live git SHA/tree/cleanliness and base..candidate diff checks remain caller * responsibilities because this module owns evidence bytes, not repositories. */ export declare function verifySealedEvidencePacket(input: SealedEvidencePacketInput): SealedEvidencePacket; //# sourceMappingURL=evidence.d.ts.map