/**
* Conditional Resolution agent — matrix row.
*
* The 12 per-agent fill-ins for the universal standards in
* src/standards.ts. Domain-neutral.
*/
import {
type AgentRules,
type AgentStandardsContract,
BASELINE_FORBIDDEN,
type Capability,
type RunbookStep,
type TriggerCategory,
type WriteBackDeclaration,
} from '../../../standards.js';
export const AGENT_NAME = 'baseline.resolution';
export const AGENT_VERSION = '1.0.0';
export const resolutionMatrix = {
'1_objective':
'Resolve exceptions, ambiguity, failures, conflicts, and low-confidence outputs.',
'2_inputs':
'Validation flags, confidence scores, unresolved issues, exception context, metadata, lineage references.',
'3_decisionLogic':
'Determine issue severity, remediation path, whether automation can resolve it, whether HITL is required.',
'4_rulesConstraints':
'Preserve parent outputs, preserve audit trail, avoid destructive overwrite, prevent recursive loops.',
'5_methodsTools':
'Exact lookups, rule lookup, fuzzy matchers, AI with citation.',
'6_processing':
'Review issue, attempt remediation, resolve conflict, revalidate, rescore confidence, package outcome.',
'7_validation':
'Validate remediation success, confirm contradiction removal, rescore confidence, flag unresolved issues.',
'8_conditionalTriggers':
'Unresolved conflict, low confidence, duplicate conflict, ambiguity, failed remediation, recursion.',
'9_hitlEscalation':
'Unresolved issue, critical conflict, confidence below threshold, no approved rule.',
'10_repositoryWriteBack':
'Resolution outputs, updated confidence, remediation logs, learned rules, exception logs, human overrides.',
'11_handoff':
'Resolved dataset or escalation package.',
'12_failureHandling':
'Stop recursive remediation, preserve unresolved failure context, escalate critical issues safely.',
} as const;
const capabilities: readonly Capability[] = [
'exact-lookup', 'rule-lookup', 'fuzzy-match', 'ai-with-citation',
];
const runbook: readonly RunbookStep[] = [
{ n: 1, name: 'review-issue', description: 'Review each unresolved issue + flagged record (Std 2 + Std 8).' },
{ n: 2, name: 'attempt-remediation', description: 'Apply rule-based remediation; defer to LLM judgment when no rule matches (Std 3 + Std 5).' },
{ n: 3, name: 'resolve-conflict', description: 'Resolve contradictions, preferring stronger lineage; never destructively overwrite (Std 4).' },
{ n: 4, name: 'revalidate', description: 'Revalidate the resolved record against original validation checks (Std 7).' },
{ n: 5, name: 'rescore-confidence', description: 'Rescore confidence after remediation (Std 7).' },
{ n: 6, name: 'package-outcome', description: 'Package the resolved dataset + escalation package for residuals (Std 11).' },
];
const triggers: readonly TriggerCategory[] = [
'unresolved-conflict', 'low-confidence', 'duplicate-conflict', 'ambiguity', 'failed-remediation', 'recursion',
];
const writeBack: WriteBackDeclaration = {
structuredOutputs: true,
metadata: true,
lineage: true,
validation: true,
confidence: true,
exceptionLogs: true,
learnedRules: true,
humanOverrides: true,
};
const rules: AgentRules = {
preserveRawSource: true,
preserveLineage: true,
preserveAuditability: true,
forbidFabrication: true,
forbidDestructiveOverwrite: true,
approvedToolsOnly: true,
pillarSpecificForbidden: BASELINE_FORBIDDEN,
};
export const resolutionContract: AgentStandardsContract = {
agentName: AGENT_NAME,
agentVersion: AGENT_VERSION,
pillar: 'baseline',
objective: {
does: resolutionMatrix['1_objective'],
produces: 'A resolved dataset plus an escalation package for residual issues.',
doesNot: [
'destructively overwrite raw or validated upstream values',
'silently drop unresolved issues',
'generate strategic insight, benchmarks, or recommendations',
],
downstreamPurpose: 'Deliver a clean, comparable, traceable dataset to the Intelligence pillar.',
},
rules,
capabilities,
runbook,
triggers,
writeBack,
};