export declare const RELEASE_INCLUSION_SCHEMA_VERSION = 1; export declare const RELEASE_INCLUSION_MANIFEST_PATH = ".agent-workflow/releases/release-inclusion.json"; export declare const RELEASE_INCLUSION_STATES: readonly ["included", "excluded", "deferred", "blocked", "already_released"]; export declare const RELEASE_INCLUSION_REVIEW_STATUSES: readonly ["pending", "approved", "changes_requested", "blocked"]; export declare const RELEASE_INCLUSION_RISK_STATUSES: readonly ["not_required", "required", "accepted"]; export declare const RELEASE_NOTE_CATEGORIES: readonly ["feature", "fix", "docs", "security", "performance", "internal"]; export type ReleaseInclusionState = (typeof RELEASE_INCLUSION_STATES)[number]; export type ReleaseInclusionReviewStatus = (typeof RELEASE_INCLUSION_REVIEW_STATUSES)[number]; export type ReleaseInclusionRiskStatus = (typeof RELEASE_INCLUSION_RISK_STATUSES)[number]; export type ReleaseNoteCategory = (typeof RELEASE_NOTE_CATEGORIES)[number]; export interface ReleaseInclusionManifest { schemaVersion: typeof RELEASE_INCLUSION_SCHEMA_VERSION; versionTarget: string; items: ReleaseInclusionItem[]; } export interface ReleaseInclusionItem { state: ReleaseInclusionState; taskId: string; issueUrl: string; commitReference: string; versionTarget: string; releaseNote: ReleaseInclusionReleaseNote; evidence: ReleaseInclusionEvidenceReference[]; review: ReleaseInclusionReview; risk: ReleaseInclusionRisk; rollback: ReleaseInclusionRollback; owner: ReleaseInclusionOwner; } export interface ReleaseInclusionReleaseNote { category: ReleaseNoteCategory; text: string; } export interface ReleaseInclusionEvidenceReference { type: "command" | "file" | "report" | "screenshot" | "trace" | "video"; summary: string; reference: string; } export interface ReleaseInclusionReview { status: ReleaseInclusionReviewStatus; reviewers: string[]; } export interface ReleaseInclusionRisk { status: ReleaseInclusionRiskStatus; rationale: string; acceptedBy?: string; } export interface ReleaseInclusionRollback { note: string; } export interface ReleaseInclusionOwner { role: string; name?: string; } export interface ReleaseInclusionValidationIssue { path: string; code: string; message: string; } export interface ReleaseInclusionValidationResult { valid: boolean; issues: ReleaseInclusionValidationIssue[]; } export interface ReleaseInclusionLoadResult { manifestPath: string; manifest?: ReleaseInclusionManifest; validation: ReleaseInclusionValidationResult; } export interface ReleaseInclusionCandidateReport { versionTarget: string; manifestPath: string; valid: boolean; issues: ReleaseInclusionValidationIssue[]; groups: ReleaseInclusionGroup[]; } export interface ReleaseInclusionGroup { state: ReleaseInclusionState; items: ReleaseInclusionItem[]; } export interface ReleaseInclusionNotesDraft { versionTarget: string; included: ReleaseInclusionItem[]; categories: ReleaseInclusionNotesCategory[]; nonReleaseScope: ReleaseInclusionGroup[]; } export interface ReleaseInclusionNotesCategory { category: ReleaseNoteCategory; items: ReleaseInclusionItem[]; } export interface ReleaseInclusionReadinessReport { versionTarget: string; passed: boolean; blockingItems: ReleaseInclusionReadinessBlocker[]; included: ReleaseInclusionItem[]; nonReleaseScope: ReleaseInclusionGroup[]; } export interface ReleaseInclusionReadinessBlocker { taskId: string; missing: string[]; } export declare function loadReleaseInclusionManifest({ root, manifestPath, }?: { root?: string | undefined; manifestPath?: string | undefined; }): Promise; export declare function buildReleaseInclusionCandidateReport({ manifest, manifestPath, versionTarget, validation, }: { manifest: ReleaseInclusionManifest | undefined; manifestPath: string; versionTarget: string; validation: ReleaseInclusionValidationResult; }): ReleaseInclusionCandidateReport; export declare function buildReleaseInclusionNotesDraft(manifest: ReleaseInclusionManifest, versionTarget: string): ReleaseInclusionNotesDraft; export declare function buildReleaseInclusionReadinessReport(manifest: ReleaseInclusionManifest, versionTarget: string): ReleaseInclusionReadinessReport; export declare function renderReleaseInclusionCandidateReport(report: ReleaseInclusionCandidateReport): string; export declare function renderReleaseInclusionNotesDraft(draft: ReleaseInclusionNotesDraft): string; export declare function renderReleaseInclusionReadinessReport(report: ReleaseInclusionReadinessReport): string; export declare function validateReleaseInclusionManifest(input: unknown): ReleaseInclusionValidationResult;