import type { NativePortableAcceptanceState, NativePortablePhase, NativePortableState } from './native-portable-types.js'; import type { NativeProjectPaths } from './native-types.js'; export declare const NATIVE_CHILDREN_FILE = "children.yaml"; export declare const NATIVE_CHILDREN_SCHEMA: "comet.native.children.v1"; export declare const NATIVE_CHILDREN_V2_SCHEMA: "comet.native.children.v2"; export declare const NATIVE_CHILDREN_SCHEMA_V2: "comet.native.children.v2"; export interface NativeChildDefinition { name: string; summary: string | null; depends_on: string[]; covers: string[]; } export interface NativeChildAcceptanceIndexEntry { source: string; text: string; } export interface NativeChildrenContract { schema: typeof NATIVE_CHILDREN_SCHEMA | typeof NATIVE_CHILDREN_SCHEMA_V2; acceptance_index?: Record; children: NativeChildDefinition[]; } export interface NativeChildrenDocument { contract: NativeChildrenContract; hash: string; size: number; drift: NativeChildrenIndexDrift | null; } export type NativeChildDerivedStatus = 'pending' | 'ready' | 'active' | 'verified' | 'integrated' | 'archived' | 'needs-reverify' | 'done' | 'blocked'; export interface NativeChildStatusProjection { name: string; summary: string | null; dependsOn: string[]; covers: string[]; status: NativeChildDerivedStatus; phase: NativePortablePhase | null; projectRoot: string | null; message: string | null; } export interface NativeChildrenInspection { schema?: NativeChildrenContract['schema']; coordinationChoiceRequired?: boolean; contractHash: string | null; confirmed: boolean; parentBranch: string | null; children: NativeChildStatusProjection[]; readyChildren: string[]; allDone: boolean; } export interface NativeV1SupervisorParentCandidate { paths: NativeProjectPaths; state: NativePortableState; inspection: NativeChildrenInspection; } export declare function nativeChildrenIndexDrift(contract: NativeChildrenContract, acceptanceIds: readonly string[] | undefined, options: NativeChildrenValidationOptions): NativeChildrenIndexDrift | null; export interface NativeChildrenValidationOptions { acceptanceCatalog?: readonly Pick[]; requiredAcceptanceIds?: readonly string[]; allowedAcceptanceIds?: readonly string[]; /** * Advisory parsing keeps the same structural checks but reports acceptance-index * drift through NativeChildrenDocument.drift instead of throwing, so read-only * projections can render a stale contract as "confirmation required". */ policy?: 'strict' | 'advisory'; } export interface NativeChildrenIndexDrift { missing: string[]; extra: string[]; mismatched: string[]; uncovered: string[]; unknownCovers: string[]; } type NativeChildrenAcceptanceState = Pick & { acceptance: readonly Pick[]; }; export declare function nativeChildrenAcceptanceValidation(state: NativeChildrenAcceptanceState): NativeChildrenValidationOptions; export declare function parseNativeChildrenContract(source: string, acceptanceIds?: readonly string[], options?: NativeChildrenValidationOptions): NativeChildrenContract; export declare function readNativeChildrenContract(options: { changeDir: string; acceptanceIds?: readonly string[]; validation?: NativeChildrenValidationOptions; policy?: 'strict' | 'advisory'; }): Promise; /** * Detect an explicitly recorded Supervisor Shape before children.yaml exists. * * This intentionally requires the formal Decisions section, an explicit Supervisor Change * declaration, and at least two child declarations. It does not infer coordination from brief * length, acceptance count, or ordinary task wording. */ export declare function hasNativeSupervisorShapeIntent(source: string): boolean; export declare function readNativeSupervisorShapeIntent(changeDir: string): Promise; export declare function hashNativeParentContract(options: { acceptance: readonly Pick[]; children: NativeChildrenContract; }): string; /** * Locate the unique active v1 Supervisor parent for a Child archive. v1 is * intentionally discovered from its declared children contract and current * Git binding; v2 Supervisor state is never inferred from this compatibility * path. */ export declare function findNativeV1SupervisorParents(options: { paths: NativeProjectPaths; childName: string; targetBranch: string | null; }): Promise<{ candidate: NativeV1SupervisorParentCandidate | null; blockers: string[]; }>; export declare function inspectNativeChildren(options: { paths: NativeProjectPaths; state: NativePortableState; }): Promise; export {}; //# sourceMappingURL=native-children.d.ts.map