import type { ContractPipelineArtifactName } from "../contractPipeline/artifactStore.js"; import type { AdversarialDepth } from "../riskSignal.js"; interface ContractPipelineRole { /** Display title for the role step heading. */ title: string; /** * Artifact path key that this role produces as output. * * This is also, transitively, its INPUT declaration: the required inputs are * read off `DEPENDENCY_MAP[outputKey]` at render time (see * `requiredInputKeysFor`), never re-listed here. One map decides both what * makes this artifact stale and what its prompt tells the worker to read, so a * hand-kept per-role list cannot drift out of agreement with the write map. */ outputKey: ContractPipelineArtifactName; /** JSON schema / contract shape description for the output. */ outputSchema: string; /** Short description of what this role does. */ description: string; /** Whether this phase requires independent review (not the author). Defaults to false. */ isIndependentCritic?: boolean; } export declare const ROLES: Record; export interface ContractPipelineRenderInput { /** The role to render a prompt for. */ role: string; /** Resolved file paths for all contract-pipeline artifacts. */ artifactPaths: Partial>; /** Sources available to the worker (remediation brief, conversation, etc.). */ sourcePaths?: string[]; /** Repository root path — passed to workers for cwd anchoring. */ repoRoot?: string; /** * Path to the Path-A seed file when the intake source is a structured * audit-findings report. When present, goal_normalization and * context_collection prompts reference the seed so every pipeline node * traces back to an auditor finding. */ pathASeedPath?: string; /** * Adversarial-depth dial (T1 slice 3), derived from the intake risk signal. * `light` (low-risk) renders critique/critic as an inline lightweight * self-check; `full` (the fail-safe default when omitted) renders the * independent-review mandate. Only affects the adversarial phases. */ adversarialDepth?: AdversarialDepth; } export interface ContractPipelineRenderResult { prompt: string; outputPath: string; role: ContractPipelineRole; } /** * Render a bounded prompt for the given contract-pipeline role. * Throws a descriptive error when any required artifact path is missing. */ export declare function renderContractPipelinePrompt(input: ContractPipelineRenderInput): ContractPipelineRenderResult; /** * Phase → artifact name mapping. SINGLE SOURCE OF TRUTH for both the phase set * and the phase progression order (object insertion order is the dependency * order). `CONTRACT_PIPELINE_PHASE_ORDER` and contractPipeline.ts's * `ARTIFACT_TO_PHASE` both derive from this — never re-list the phases. */ export declare const PHASE_TO_ARTIFACT: Record; /** * Dependency order for pipeline phase progression — derived from * PHASE_TO_ARTIFACT's insertion order so the phase list lives in exactly one * place (single-source; no drift between the mapping and the order). */ export declare const CONTRACT_PIPELINE_PHASE_ORDER: string[]; export interface ContractRepairRenderInput { /** The contract artifact the judge ordered regenerated. */ target: "finalized_module_contracts" | "obligation_ledger" | "contract_assessment_report"; /** The judge's bounded regeneration instruction. */ instruction: string; /** Resolved file paths for all contract-pipeline artifacts. */ artifactPaths: Partial>; /** Repository root path — passed to workers for cwd anchoring. */ repoRoot?: string; } /** * Render the bounded repair step for a failing judge verdict: regenerate the * named contract artifact in full, addressing the accepted counterexamples and * the judge's instruction. The next pipeline invocation re-validates and * re-derives everything downstream via the staleness DAG. */ export declare function renderContractRepairPrompt(input: ContractRepairRenderInput): { prompt: string; outputPath: string; }; export {}; //# sourceMappingURL=contractPipelinePrompts.d.ts.map