/** * openspec-propose-from-doctor-service (Slice L3.3) — generates a draft * OpenSpec change record (proposal.md) from a doctor CRITICAL finding. * * Per L1+L2+L3 redesign §5.4: "CRITICAL → proposal 草稿生成". The doctor * scans the project for issues; when a CRITICAL finding is surfaced, * peaks-loop generates a draft `openspec/changes//proposal.md` so the * LLM doesn't have to start from scratch. * * The draft proposal is INFORMATIONAL — it requires the LLM to review + * edit before `peaks openspec validate` will accept it. */ export interface DoctorFinding { readonly id: string; readonly rule: string; readonly detail: string; readonly severity: 'pass' | 'warn' | 'fail'; } export interface ProposeFromDoctorInput { readonly projectRoot: string; readonly finding: DoctorFinding; /** Optional clock for testability. */ readonly clock?: () => string; } export interface ProposeFromDoctorResult { readonly changeId: string; readonly changeDir: string; readonly proposalPath: string; readonly created: boolean; } export declare function proposeFromDoctor(input: ProposeFromDoctorInput): ProposeFromDoctorResult;