/** * Cross-system scan-result types shared by the CLI's `scanLocalRepository` * (filesystem) and the webapp's `scanInfrastructureFiles` (GitHub tree API). * * Both producers MUST emit the same `{ paths }` shape so the helpers are * consumer-substitutable. See * the cross-system parity pattern. * * `ScanPath` carries path information only — no name, no kind. The linker * is solely responsible for mapping paths to applications and tier kinds. */ export interface ScanPath { /** Folder containing `infrastructure.ts` relative to the repo root. */ configPath: string; /** Path to the nearest `fjall/` ancestor (the boundary). */ boundaryPath: string; }