/** * The `auden doctor` check that bundle-only delivery makes necessary * (`unified-item-sync-plan.md` → Approach: "`auden doctor` should flag a repo * with guide files on disk and zero subscriptions"). * * **Why this check has to exist before the deletions.** Once a repo receives * exactly the members of the bundles it subscribes to, a repo that subscribes to * nothing receives nothing — and the guide files already sitting in its * discovery roots become unmanaged: still read by every agent, no longer * reconciled, silently drifting from their canonical rows. Nothing else in the * CLI would say so. Slice 0's config migration subscribes every repo that syncs, * so the population this catches is precisely the repos that have *not* synced * since the cutover — which is the one group the migration cannot reach. * * Pure and free of citty/console so it unit-tests directly; the command renders. */ /** What `doctor` reports about this repo's ability to receive guidance. */ export type GuideDeliveryStatus = { /** False only for the state that will silently stop working. */ ok: boolean; /** One line for the check list. */ detail: string; }; export type GuideDeliveryInput = { /** How many bundles the committed `.auden/config.json` names. */ subscriptionCount: number; /** How many guide files are on disk in this repo's discovery roots. */ guideFileCount: number; /** True when the config exists but could not be parsed. */ malformedConfig: boolean; /** * True when guide discovery failed. Reported, never folded into a count of * zero: a diagnostic that cannot determine delivery health must say so, and * "no guide files" and "could not look" produce opposite advice * (`CLAUDE.md` → never swallow caught errors). Raised by Codex on PR #555. */ discoveryFailed?: boolean; /** * True when `doctor` is running in the home directory, where the "repo * config" path *is* the bearer-token store and `readRepoDocsConfig` * deliberately reports no subscriptions. Counting global guidance there and * calling it an unsubscribed repo is a false failure whose suggested remedy * cannot work — the repo-config writers refuse to write at `$HOME` too. */ homeDirectory?: boolean; }; /** * Classify a repo's delivery state. * * Four cases, and only one of them is a failure: * * - **Malformed config** — fails. The repo may well name bundles; we cannot tell, * and every sync is skipping its docs phase already. * - **Guide files, no subscriptions** — fails. This is the state the check exists * for: guidance on disk that nothing will keep current. * - **No guide files, no subscriptions** — passes, with a nudge. A fresh repo that * has not opted in is not broken; telling a new user their empty repo has * failed a check is how a diagnostic surface loses its meaning (the same * reasoning that removed the bun check above it). * - **Subscribed** — passes. */ export declare function describeGuideDelivery(input: GuideDeliveryInput): GuideDeliveryStatus; //# sourceMappingURL=delivery-check.d.ts.map