import type { DiagnosisBundle, DiagnosisEvidenceRef, DiagnosisLifecycle } from './types.js'; export interface ObserveDiagnosisInput { generatedAt: string; skillChainAdvisories?: SkillChainAdvisorySource[]; runtimeChecks?: ObservationRuntimeCheckSource[]; problemPatterns?: ExperienceProblemPatternSource[]; reviewerFindings?: ExperienceReviewerReportFindingSource[]; derivedStandards?: SkillDerivedStandardSource[]; } export interface SkillChainAdvisorySource { skillName: string; code: 'hardrules_not_declared' | 'workflows_not_declared' | 'skill_md_not_found'; message?: string; exampleYaml?: string; commandTemplate?: string; sourceId?: string; } export interface ObservationRuntimeCheckSource { skillName: string; id: string; nodeKind: 'hardRule' | 'workflowNode'; status: 'passed' | 'attention' | 'manual_review'; title?: string; expectation?: string; reason?: string; evidenceRefs?: DiagnosisEvidenceRef[]; evidenceSnippets?: string[]; } export interface ExperienceProblemPatternSource { skillName: string; bucket: string; patternKey: string; signalTypes: string[]; count: number; sessionCount: number; recentSessionIds?: string[]; evidenceRefs?: DiagnosisEvidenceRef[]; lastSeen?: string; } export interface ExperienceReviewerReportFindingSource { skillName: string; id: string; judgmentId?: string; source: 'deterministic_rule' | 'llm_soft' | 'manual'; level: 'info' | 'low' | 'medium' | 'high' | 'attention' | 'sample' | 'normal' | 'warning' | 'critical'; title?: string; body?: string; ruleSource: string; ruleVersion?: string; targetKey?: string; evidenceRefs?: DiagnosisEvidenceRef[]; } export interface SkillDerivedStandardSource { skillName: string; id: string; standardKind: 'hard_rule_candidate' | 'workflow_candidate'; status: 'pending_review' | 'author_confirmed' | 'rejected' | 'stale'; title: string; body?: string; source?: 'llm_soft_standard' | 'manual'; confidence?: number; evidence?: string[]; model?: string; promptVersion?: string; } export declare function buildObserveDiagnostics(input: ObserveDiagnosisInput): DiagnosisBundle; export declare function maxLifecycle(a: DiagnosisLifecycle, b: DiagnosisLifecycle): DiagnosisLifecycle;