export type UpgradeMode = "direct" | "probe" | "shadow"; export type UpgradePreset = "raw" | "default-candidate"; export type EvidenceHarness = "single" | "multi"; /** * Benchmark/CI-only preset wiring for fanout parent-upgrade evidence. * * Do not import this module from runtime code. The production default remains * `parentUpgradeIntervalMs: 0`; this helper only keeps evaluator, prepush, and * default-readiness runner defaults reproducible. */ export type ParentUpgradePresetConfig = { parentUpgradePreset: UpgradePreset; parentUpgradeIntervalMs: number; parentUpgradeLeafOnly: boolean; parentUpgradeMinLevelGain: number; parentUpgradeRootMinLevelGain: number; parentUpgradeRootMinSubtreeGain: number; parentUpgradeNonRootMinLevelGain: number; parentUpgradeMinFreeSlots: number; parentUpgradeRootMinFreeSlots: number; parentUpgradeMaxChildLoadRatio: number; parentUpgradeRootMaxChildLoadRatio: number; parentUpgradeCooldownMs: number; parentUpgradeFailedBackoffMinMs: number; parentUpgradeFailedBackoffMaxMs: number; parentUpgradeQuietMs: number; parentUpgradeRepairQuietMs: number; parentUpgradeMaxPerPeer: number; parentUpgradeRepairGuard: boolean; parentUpgradeDataGuard: boolean; parentUpgradeMode: UpgradeMode; parentUpgradeVerifyStaleRootCapacity: boolean; parentUpgradeStaleRootProbeProbability: number; parentProbeTimeoutMs: number; parentProbeMaxPerRound: number; parentProbeMaxLagMessages: number; parentProbeRejectCooldownMs: number; parentProbeRejectCooldownMaxMs: number; parentShadowObserveMs: number; parentShadowMinObservations: number; parentShadowDualPathMs: number; parentShadowDualPathMinMessages: number; }; export type ParentUpgradeRuntimeOptions = Omit; export type EvidenceFailure = { metric: string; baseline: number; upgrade: number; limit: number; }; export declare const DEFAULT_CANDIDATE_PRESET: "default-candidate"; export declare const DEFAULT_PARENT_UPGRADE_SEEDS: readonly [1, 2, 3]; export declare const DEFAULT_PARENT_UPGRADE_SEED_CSV: string; export declare const DEFAULT_PARENT_UPGRADE_FAST_SEED_CSV = "1"; export declare const PARENT_UPGRADE_FRONTIER_ROOT_CAPS: readonly ["0.2", "0.225", "0.25", "0.4"]; export declare const PARENT_UPGRADE_HELP_TEXT: readonly [" --parentUpgradePreset NAME preset to evaluate (raw|default-candidate, default: raw)", " --parentUpgradeIntervalMs MS upgrade check interval for treatment run (default: 1000)", " --parentUpgradeLeafOnly 0|1 restrict treatment upgrades to leaves (default: 1)", " --parentUpgradeMinLevelGain N min tree-level gain for treatment upgrades (default: 2)", " --parentUpgradeRootMinLevelGain N min tree-level gain for root treatment targets (default: 3)", " --parentUpgradeRootMinSubtreeGain N min level-gain times local branch size for root treatment targets (default: parentUpgradeRootMinLevelGain)", " --parentUpgradeNonRootMinLevelGain N min tree-level gain for non-root treatment targets (default: 2)", " --parentUpgradeMinFreeSlots N min free slots for treatment upgrade targets (default: 8)", " --parentUpgradeRootMinFreeSlots N min free slots for root treatment targets (default: parentUpgradeMinFreeSlots)", " --parentUpgradeMaxChildLoadRatio R max child load ratio after accepting treatment child (default: 0.5)", " --parentUpgradeRootMaxChildLoadRatio R max root child load ratio after accepting treatment child (default: min(parentUpgradeMaxChildLoadRatio, 0.4))", " --parentUpgradeCooldownMs MS cooldown after successful treatment upgrades (default: 5000)", " --parentUpgradeFailedBackoffMinMs MS initial backoff after failed probe/shadow rounds (default: 5000)", " --parentUpgradeFailedBackoffMaxMs MS max backoff after failed probe/shadow rounds (default: 60000)", " --parentUpgradeQuietMs MS min quiet time since parent data before upgrades (default: 5000)", " --parentUpgradeRepairQuietMs MS min quiet time since repair before upgrades (default: parentUpgradeQuietMs)", " --parentUpgradeMaxPerPeer N max successful treatment upgrades per peer, 0 = unlimited (default: 2)", " --parentUpgradeRepairGuard 0|1 skip treatment upgrades while missing data (default: 1)", " --parentUpgradeDataGuard 0|1 wait for finite channel completion before treatment upgrades (default: 1)", " --parentUpgradeMode MODE treatment upgrade mode (direct|probe|shadow, default: preset-dependent)", " --parentUpgradeVerifyStaleRootCapacity 0|1 allow shadow probes against tracker-full root (default: 1 for default-candidate, otherwise 0)", " --parentUpgradeStaleRootProbeProbability R base sample for tracker-full root probes per peer (default: 0.015625, default-candidate: 0.00390625)", " --parentProbeTimeoutMs MS timeout for probe-mode parent checks (default: 500)", " --parentProbeMaxPerRound N max probe-mode candidates per upgrade check (default: 2)", " --parentProbeMaxLagMessages N max sequence lag for probe-mode candidates (default: 0)", " --parentProbeRejectCooldownMs MS cooldown after rejected parent probes (default: 10000)", " --parentProbeRejectCooldownMaxMs MS max adaptive cooldown after rejected parent probes (default: 60000)", " --parentShadowObserveMs MS min healthy shadow observation window before promotion (default: 2000)", " --parentShadowMinObservations N min successful shadow observations before promotion (default: 2)", " --parentShadowDualPathMs MS keep old parent during active-flow shadow cutover until candidate data is observed (default: 5000 for default-candidate, otherwise 0)", " --parentShadowDualPathMinMessages N min candidate data messages before active-flow cutover (default: 32 for default-candidate, otherwise 1)"]; export declare const defaultCandidateArgs: (...args: string[]) => string[]; export declare const parentUpgradeRuntimeOptions: (config: ParentUpgradeRuntimeOptions, enabled?: boolean) => ParentUpgradeRuntimeOptions; export declare const parseBool01: (value: string | undefined, fallback: boolean) => boolean; export declare const parseCsvNumbers: (value: string | undefined, fallback: readonly number[]) => number[]; export declare const ratioLimit: (baseline: number, ratio: number, absoluteSlack?: number) => number; export declare const avgFinite: (values: number[]) => number; export declare const maxFinite: (values: number[]) => number; export declare const fmt: (value: number, digits?: number) => string; export declare const parseParentUpgradePreset: (value: string | undefined) => UpgradePreset; export declare const isDefaultCandidatePreset: (preset: UpgradePreset) => preset is "default-candidate"; export declare const defaultEvidenceLimitsForPreset: (preset: UpgradePreset, harness: EvidenceHarness) => { maxProbePerUpgrade: number; maxRootChildrenDelta: number; maxRootUploadPctDelta: number; }; export declare const parseParentUpgradePresetConfig: (get: (name: string) => string | undefined) => ParentUpgradePresetConfig; //# sourceMappingURL=fanout-tree-parent-upgrade-preset.d.ts.map