BID · Console
Baseline · Intelligence · Decision
src/agents/baseline/resolution/schema.ts 1,344 bytes · typescript
/**
 * Resolution — input and output schemas (Std 2 + Std 11).
 *
 * Input: Normalization's records + the cumulative unresolved-issues
 * list (propagated by the orchestrator).
 * Output: resolved dataset OR escalation package.
 */

import { z } from 'zod';
import { normalizedRecordSchema } from '../normalization/schema.js';
import { unresolvedIssueSchema } from '../../../types.js';

export const resolutionInputSchema = z.object({
  records: z.array(normalizedRecordSchema),
  unresolvedIssues: z.array(unresolvedIssueSchema),
});
export type ResolutionInput = z.infer<typeof resolutionInputSchema>;

export const resolvedRecordSchema = normalizedRecordSchema.extend({
  resolutionAction: z.enum([
    'pass-through',
    'rule-applied',
    'duplicate-merged',
    'contradiction-resolved',
    'escalated',
  ]),
  resolutionNotes: z.array(z.string()),
});
export type ResolvedRecord = z.infer<typeof resolvedRecordSchema>;

export const learnedRuleSchema = z.object({
  key: z.string(),
  value: z.string(),
});
export type LearnedRule = z.infer<typeof learnedRuleSchema>;

export const resolutionOutputSchema = z.object({
  records: z.array(resolvedRecordSchema),
  stillUnresolved: z.array(unresolvedIssueSchema),
  learnedRules: z.array(learnedRuleSchema),
});
export type ResolutionOutput = z.infer<typeof resolutionOutputSchema>;