import type { GolfScorecard, NutritionCategory, SprintClaim, SlopeEvent, PRSignal } from './types.js'; import type { MetaphorDefinition } from './metaphor.js'; import type { RoleDefinition } from './roles.js'; import type { RoadmapDefinition } from './roadmap.js'; import type { SkillRegistryFile } from './skills.js'; /** A recurring pattern from common-issues.json */ export interface RecurringPattern { id: number; title: string; category: string; sprints_hit: number[]; gotcha_refs: string[]; description: string; prevention: string; /** Players who have reported this pattern */ reported_by?: string[]; } /** The top-level common-issues.json shape */ export interface CommonIssuesFile { recurring_patterns: RecurringPattern[]; } /** A session entry from sessions.json */ export interface SessionEntry { id: number; date: string; sprint: string; summary: string; where_left_off: string; } /** Briefing filter — what packages/categories the upcoming sprint touches */ export interface BriefingFilter { categories?: string[]; keywords?: string[]; } /** A single hazard extracted from scorecards */ export interface HazardEntry { sprint: number; ticket: string; type: string; description: string; } /** Nutrition trend for a single category */ export interface NutritionTrend { category: NutritionCategory; healthy: number; needs_attention: number; neglected: number; trend: 'healthy' | 'mixed' | 'neglected'; } export interface SkillBriefingRecommendation { id: string; name: string; reason: string; matched_terms: string[]; score: number; } export interface SkillGapRecommendation { topic: string; reason: string; evidence: string[]; } export interface SkillBriefingResult { recommendations: SkillBriefingRecommendation[]; gaps: SkillGapRecommendation[]; } /** * Filter common issues to only those relevant to the sprint's work. * Matches by category list and/or keyword search in title/description/prevention. * Returns at most 10 results, sorted by most-recently-hit sprint (descending). */ export declare function filterCommonIssues(issues: CommonIssuesFile, filter: BriefingFilter): RecurringPattern[]; /** * Extract all hazards from scorecards into a flat searchable index. * Optionally filter by keyword in the hazard description. */ export declare function extractHazardIndex(scorecards: GolfScorecard[], keyword?: string): { shot_hazards: HazardEntry[]; bunker_locations: { sprint: number; location: string; }[]; }; /** * Compute nutrition trends across scorecards. * Shows which dev health categories are consistently healthy vs neglected. */ export declare function computeNutritionTrend(scorecards: GolfScorecard[]): NutritionTrend[]; /** * Generate hazard warnings for specific areas, formatted for agent instruction injection. * * Filters extractHazardIndex() to only hazards in the target areas, * then formats as "WARNING: [area] — [description] (seen in S{N})". */ export declare function hazardBriefing(opts: { areas: string[]; scorecards: GolfScorecard[]; }): string[]; export declare function buildSkillBriefing(opts: { registry?: SkillRegistryFile | null; scorecards: GolfScorecard[]; commonIssues: CommonIssuesFile; filter?: BriefingFilter; roadmap?: RoadmapDefinition; currentSprint?: number; claims?: SprintClaim[]; changedFiles?: string[]; maxRecommendations?: number; maxGaps?: number; }): SkillBriefingResult; /** * Format the complete pre-round briefing. * Combines handicap card, filtered hazards, filtered common issues, * nutrition trends, and session continuity into a single compact output. * * Replaces reading ~15k tokens across 3-4 files with ~500 tokens of output. */ export declare function formatBriefing(opts: { scorecards: GolfScorecard[]; commonIssues: CommonIssuesFile; lastSession?: SessionEntry; filter?: BriefingFilter; includeTraining?: boolean; claims?: SprintClaim[]; roadmap?: RoadmapDefinition; currentSprint?: number; metaphor?: MetaphorDefinition; role?: RoleDefinition; recentEvents?: SlopeEvent[]; eventRecencyWindow?: number; prSignal?: PRSignal; skillRegistry?: SkillRegistryFile | null; }): string; //# sourceMappingURL=briefing.d.ts.map