/** * README.md interrogation — extract slot content from semantic markdown anchors. * * Per faf-auto-no-guess-no-slop: * Each extractor looks for a specific anchor (heading, structural pattern). * If the anchor is missing or the content fails validation → return undefined. * No slot is synthesized from another slot's content. */ import { type ExtractedContext } from './types.js'; /** Extract `project.goal` — first prose paragraph or ## Use Case / ## Goal */ export declare function extractGoal(content: string): string | undefined; /** Extract `human_context.what` — ## About / ## Description / ## Overview */ export declare function extractWhat(content: string): string | undefined; /** Extract `human_context.who` — ## Audience / ## For Whom / ## Users */ export declare function extractWho(content: string): string | undefined; /** Extract `human_context.why` — ## Why / ## Motivation / ## Problem */ export declare function extractWhy(content: string): string | undefined; /** Extract `human_context.where` — ## Deployment / ## Where it runs / ## Install */ export declare function extractWhere(content: string): string | undefined; /** Extract `human_context.when` — ## Status / ## History / "Production since" */ export declare function extractWhen(content: string): string | undefined; /** Extract `human_context.how` — ## Architecture / ## How it works / ## Approach */ export declare function extractHow(content: string): string | undefined; /** Read README.md and extract per-slot content. Returns {} if no README. */ export declare function interrogateReadme(dir: string): ExtractedContext;