/** * plumb (CUT A2) — the plumb-completeness gate as a finite, structured command * (migrated from `scripts/plumb-gate.ts`). It fails when the repo would ship * incomplete work green: ANY `*.skip` placeholder in `tests/generated/` (a * skipped generated test is unwired work shipping green — a LIE about coverage), * or any published package missing a `PACKAGE_PLUMB` classification. * * The scan engine (`node:fs` directory walk + the `PACKAGE_PLUMB` ledger) is * INJECTED via `context.runPlumb`, never imported here, so `@czap/command` stays * free of `node:fs`. Unlike `audit` (whose `@czap/audit` engine is heavy and * CLI-only), `runPlumb` is provisioned in the shared host factory * (`createNodeCommandContext`), so the MCP host has it too — the command is * `mcpExposed` because it returns a STRUCTURED verdict (skip-list + unclassified * list + ok), which is exactly the work-list an agent should be able to read. * * @module */ import { Schema } from 'effect'; import { type HandledCommand } from '../registry.js'; /** * Structured payload returned by `plumb` — ONE Effect Schema is the source of * both {@link PlumbPayload} and the descriptor's `outputSchema`. */ export declare const PlumbPayloadSchema: Schema.Struct<{ /** Whether the gate passed (no skips, no unclassified packages). */ readonly ok: Schema.Boolean; /** Every `*.skip(...)` placeholder in `tests/generated/` — each one is blocking. */ readonly skips: Schema.$Array>; /** Published packages with no PACKAGE_PLUMB classification. */ readonly unclassified: Schema.$Array; /** Whether the generated test corpus was present to scan (false ⇒ run capsule:compile). */ readonly generatedPresent: Schema.Boolean; /** Human-readable reason when the generated test corpus is missing or empty. */ readonly generatedCorpusMessage: Schema.NullOr; }>; /** Structured payload returned by `plumb`. */ export type PlumbPayload = Schema.Schema.Type; /** `plumb` — scan for placeholder skips + unclassified packages; emit a structured pass/fail verdict. */ export declare const plumbCommand: HandledCommand; //# sourceMappingURL=plumb.d.ts.map