/** * Env-var decisions for post-sync tail work. * * These three toggles are personal, machine-local opt-outs — an operator sets * one on their OWN box to skip a tail step for themselves — so they are read * straight from their environment variables, NOT a rollout registry. Removing * the registry lookup keeps every existing opt-out exactly as it was and stops a * future registration from silently revoking it. The runner evaluates them * synchronously: post-sync work must stay usable offline and before auth settles. * * The value match is load-bearing and asymmetric on purpose: ONLY the exact * value "0" opts a step out; unset, "false", and every other value keep it ON. * Do not "tidy" this into a normal boolean parse — that would silently disable * everyone who wrote "false". */ /** * Stable identifiers for the three post-sync toggles, mapped to the operator * env var that turns each off. These keys are never sent to any registry. */ export declare const POST_SYNC_FLAG_KEYS: { readonly qmdReindex: "sync.qmd-reindex"; readonly conflictPrune: "sync.conflict-prune"; readonly codexMaterialize: "agents.codex-materialize"; }; export type PostSyncFlagKey = (typeof POST_SYNC_FLAG_KEYS)[keyof typeof POST_SYNC_FLAG_KEYS]; export interface PostSyncFlagEvaluator { isEnabled(flagKey: PostSyncFlagKey): boolean; } export interface CreatePostSyncFlagEvaluatorOptions { /** Environment source; defaults to `process.env`. */ env?: Readonly>; } /** * Build an evaluator that resolves each toggle from its own environment * variable. Fully synchronous — no endpoint, token, or network I/O. */ export declare function createPostSyncFlagEvaluator(options?: CreatePostSyncFlagEvaluatorOptions): PostSyncFlagEvaluator; //# sourceMappingURL=sync-runner-post-sync-flags.d.ts.map