/** * mock-placement enforcer — scans changed files for inline mock-data * patterns and fails the slice check if any changed file under `src/` or * `skills/` contains `mockData: { ... }`, `fixtures = { ... }`, or a * multi-line `const fooMock = { ... }` literal. * * Per L2 redesign §5.4. Mocks belong in `tests/fixtures/`, not inline. * Per `references/mock-data-placement.md` from peaks-rd: framework-aware * mock placement. peaks-loop has no UI framework, but the rule still * applies for non-fixture files. */ export interface MockPlacementCheckInput { readonly filePath: string; readonly content: string; } export interface MockPlacementViolation { readonly filePath: string; readonly pattern: string; readonly snippet: string; } export declare function hasInlineMock(content: string): MockPlacementViolation | null; export declare function findMockViolations(changedFiles: readonly { filePath: string; content: string; }[]): readonly MockPlacementViolation[];