export type IdeationSource = | "uncovered_requirement" | "repeated_lesson" | "low_confidence_decision" | "escalation_pattern" | "compound_pattern" | "partial_requirement" | "gap_in_coverage" | "improvement_pattern" | "architecture_drift" | "verification_inversion" | "spec_ambiguity" | "spec_contradiction" | "spec_missing" | "external_signal" | "cross_project_lesson" | "chaos_scenario"; export type IdeationCategory = | "security" | "quality" | "architecture" | "coverage" | "improvement" | "spec" | "chaos"; export type IdeationAction = | "add_requirement" | "update_architecture" | "update_roadmap" | "fix_documentation" | "add_test" | "add_security_pattern" | "refactor" | "new_milestone_phase"; export type IdeationTier = "mechanical" | "backend-enriched" | "cross-project"; export interface Idea { id: string; source: IdeationSource; category: IdeationCategory; title: string; rationale: string; confidence: number; relatedReq?: string; actions: IdeationAction[]; tier: IdeationTier; } export interface IdeationResult { project: string; milestone: string; ideas: Idea[]; summary: IdeationSummary; } export interface IdeationSummary { total: number; accepted: number; skipped: number; by_category: Record; by_tier: Record; } export interface IdeationConfig { enabled: boolean; categories: IdeationCategory[]; confidence_threshold: number; max_ideas: number; external_signals: { npm_audit: boolean; osv_advisories: boolean; dependency_staleness: boolean; }; cross_project: { enabled: boolean; similarity_weight: number; }; chaos: { enabled: boolean; scenarios: string[]; }; } export const DEFAULT_IDEATION_CONFIG: IdeationConfig = { enabled: true, categories: ["security", "quality", "architecture", "coverage", "improvement"], confidence_threshold: 0.6, max_ideas: 20, external_signals: { npm_audit: true, osv_advisories: true, dependency_staleness: true, }, cross_project: { enabled: false, similarity_weight: 0.5, }, chaos: { enabled: true, scenarios: ["backend_unavailable", "requirement_change", "test_coverage_drop"], }, };