import { type DigestAction, type PlanContext } from "../internals/plan.js"; import type { SupportTemplate } from "../support/render.js"; /** * Canon drift — per-bootloader managed-block sync vs the freshly generated canonical * block (the same primitives the maturity scorecard's `bootloaders-in-sync` check * uses, surfaced per file so the dashboard can list which drifted). Off-canon → undefined. */ export declare function driftDigest(ctx: PlanContext): DigestAction | undefined; /** * MCP servers + egress — the repo's configured MCP servers (`.mcp.json`) mapped to the * curated catalog's egress classification (`src/mcp/servers.ts`). No runtime metering; * pure supply-chain truth (local / vendor / third-party). Undefined when no `.mcp.json`. */ export declare function mcpServersDigest(ctx: PlanContext): DigestAction | undefined; /** * Support pipeline summary — the report's own advisory findings, already routed and * (for escalations) redacted by the caller (`reportSupportTemplates`). Counts findings * by who acts (self-fix / improvement / escalation) and surfaces the first escalation * ticket for the copy-to-IT card. */ export declare function supportDigest(templates: SupportTemplate[]): DigestAction; /** * §1 ECC inventory — ECC is a SYSTEM-WIDE, rolling install, so the source of truth is what's * installed NOW at the machine level (~/.claude). ECC namespaces its content under `ecc/` * (`skills/ecc/`, `ecc/.agents/skills/`, `rules/ecc/`); we count there when present (else flat, * for older installs) so plugin skills sitting flat in `skills/` are never miscounted as ECC. * Agents are flat. The * version/commit come from ECC's install manifest (metadata only — its counts are a stale * snapshot). Repo `.claude/.kiro` content is reported as TEAM OVERRIDES (never relabelled "ECC"); * a repo item whose name is an ECC one is a fork to retire; packs = ECC packs for this stack * (impact). Machine-aware by design → not portable across machines. Undefined only when neither * machine nor repo carries anything. */ export declare function eccInventoryDigest(ctx: PlanContext): DigestAction | undefined; /** * §2 Cross-CLI coherence diff — do all targeted CLIs load the SAME canon? For each * targeted CLI, compare four dimensions against the canonical expectation: rules * (managed block in sync), router (points at RULE_ROUTER), mcp (wired) and loads * (loadable). Reuses the same primitives as drift + the maturity scorecard. Undefined * off-canon or with fewer than two targeted CLIs (no cross-CLI question to answer). */ export declare function coherenceDigest(ctx: PlanContext): DigestAction | undefined; /** * §3 Outcome deltas / MTTR — the honest "did productivity improve" measures. MTTR * (time a failing run stayed broken before a later success) comes from the run ledger; * rework rate + lead time come from the git seam. Gated on the ledger having ≥2 * samples (the capability's real signal); otherwise undefined → panel PREVIEW. */ export declare function outcomeDeltasDigest(ctx: PlanContext): Promise; /** * §4 Wins / remediation ledger — what `aih heal` unblocked, from the run ledger * (network-free: no inline heal probe). Cumulative (cleared / runs / since / * open-over-time) is real from the ledger; the per-item rows show the four known heal * scopes, marked fixed only when the latest heal run was a clean success (richer * per-check detail needs heal to persist its result). Undefined when heal never ran. */ export declare function winsDigest(ctx: PlanContext): DigestAction | undefined; /** * Skill governance — the read-only join over installed external skills and their * committed approvals (`skillInventory`), surfaced so the dashboard shows what is on * disk vs approved (richer than the lockfile alone: it also names unapproved and * pin-drifted skills). Also carries the v0.6 distribution/audit surfaces when they * exist on disk (marketplace artifact, evidence bundle, org policy — each absent one * stays absent, keeping the panel byte-identical). EMPTY only when there is nothing * to govern — no on-disk skills, no committed approvals, and no governance * artifacts; then the panel gates honestly instead of showing zeros. Pure fs * (nothing here spawns), so it is safe at digest time. */ export declare function skillGovernanceDigest(ctx: PlanContext): DigestAction | undefined; /** * The v9-only extra digests, appended to the report's digests on the `--v9` path. * Developer readiness (always-renders "can I start?" gate). Phase A: drift + MCP * servers/egress. Phase B: ECC inventory, coherence, outcome deltas/MTTR and the wins * ledger (support is built from the caller's already-rendered templates and appended * separately). Async because the outcome digest reads git. */ export declare function v9ExtraDigests(ctx: PlanContext): Promise;