/** * Compliance checking - ported from lib/validation/compliance-check.sh * * Validates subagent outputs against protocol requirements, checks manifest * entries, research links, return format, and generates compliance metrics. * * @task T4524 * @epic T4454 */ export type ManifestIntegrity = 'valid' | 'partial' | 'invalid' | 'missing'; export type Severity = 'low' | 'medium' | 'high' | 'critical'; export interface ComplianceMetrics { timestamp: string; category: string; source: string; sourceId: string; period: string; compliance: { compliancePassRate: number; ruleAdherenceScore: number; violationCount: number; violationSeverity: Severity; manifestIntegrity: ManifestIntegrity; }; tags: string[]; context: { taskId: string; researchLinked: boolean; returnFormatValid: boolean; }; } export interface ManifestEntry { id?: string; research_id?: string; title?: string; status?: string; key_findings?: string[]; findings_summary?: string; linked_tasks?: string[]; task_ids?: string[]; agent_type?: string; [key: string]: unknown; } export interface TokenMetrics { inputTokens: number; outputTokens: number; totalTokens: number; maxTokens: number; percentage: number; status: string; } export interface TokenEfficiency { tokensUsed: number; maxTokens: number; tasksCompleted: number; contextUtilization: number; tokenUtilizationRate: number; contextEfficiency: number; inputTokens: number; outputTokens: number; } export interface OrchestrationOverhead { orchestratorTokens: number; totalSubagentTokens: number; numSubagents: number; overheadRatio: number; tokensPerSubagent: number; } /** * Verify a manifest entry for a task has valid required fields. * @task T4524 */ export declare function checkManifestEntry(entry: ManifestEntry | null): ManifestIntegrity; /** * Check if a response matches the expected return format. * ADR-027: manifest is pipeline_manifest (SQLite table), not the retired flat-file. * @task T4524 */ export declare function checkReturnFormat(response: string): boolean; /** * Calculate comprehensive compliance score for a subagent. * @task T4524 */ export declare function scoreSubagentCompliance(taskId: string, agentId: string, manifestEntry: ManifestEntry | null, researchLinked: boolean, response: string): ComplianceMetrics; /** * Calculate token efficiency metrics. * @task T4524 */ export declare function calculateTokenEfficiency(tokensUsed: number, maxTokens?: number, tasksCompleted?: number, inputTokens?: number, outputTokens?: number): TokenEfficiency; /** * Calculate orchestration overhead metrics. * @task T4524 */ export declare function calculateOrchestrationOverhead(orchestratorTokens: number, totalSubagentTokens: number, numSubagents?: number): OrchestrationOverhead; //# sourceMappingURL=compliance.d.ts.map