/** * The tddMode = true variant of the implement-feature algorithm: strict * outside-in ATDD/TDD. Every layer is built test-FIRST — the test is * written alone, executed, and must be observed RED before any production * code is written; then the implementation is written and the same test * must be observed GREEN. The outer acceptance test opens each slice by * failing for the right reason before anything else happens. * * Overrides (TddModeOverrides) can swap individual test levels to * tests-with-code — per participant (every inner loop of a client or * the backend) or per single loop, down to the acceptance level: * "mobile-app-acceptance": false replaces that platform's red-check * with the basic variant's driver dry-run at slice end. A participant * key never reaches the acceptance level — outer discipline changes * only when named explicitly (resolveTestFirst in types.ts). * Remote-tested clients run their loops BATCHED (see feature-loops.ts). * * Read this file top-to-bottom as one algorithm; the loop shapes live in * feature-loops.ts and the mode-independent machinery in shared.ts. */ import { type FeatureRunReport, type RunDeps } from "./shared.js"; import { type TddModeOverrides } from "./types.js"; export declare function implementFeatureTdd(deps: RunDeps, featureFilePath: string, report: FeatureRunReport, extraInstructions?: string, overrides?: TddModeOverrides, runSmoke?: boolean): Promise;