nexus-agents - v2.80.0
    Preparing search index...

    Interface ICorrelationTracker

    Interface for correlation tracking between agents.

    interface ICorrelationTracker {
        recordVote(
            agentId: string,
            vote: {
                decision: "approve" | "reject" | "abstain";
                reasoning: string;
                confidence: number;
                conditions?: string[];
                rejectionCategories?: (
                    | "YAGNI"
                    | "DRY_VIOLATION"
                    | "OVER_ENGINEERING"
                    | "SCOPE_CREEP"
                    | "SECURITY_RISK"
                    | "MISALIGNED"
                    | "INSUFFICIENT_EVIDENCE"
                )[];
                findings?: {
                    summary: string;
                    location: string;
                    severity: "low"
                    | "medium"
                    | "high"
                    | "critical";
                    gate: {
                        reread_cited_line: "failed" | "skipped" | "passed";
                        traced_call_path: "failed" | "skipped" | "passed";
                        named_assertion: string;
                        ruled_out_language_non_issue: "failed" | "skipped" | "passed";
                    };
                    claim: string;
                }[];
                timestamp?: string;
            },
            outcome: "rejected" | "approved",
        ): void;
        recordProposalVotes(
            proposalId: string,
            votes: ReadonlyMap<
                string,
                {
                    decision: "approve"
                    | "reject"
                    | "abstain";
                    reasoning: string;
                    confidence: number;
                    conditions?: string[];
                    rejectionCategories?: (
                        | "YAGNI"
                        | "DRY_VIOLATION"
                        | "OVER_ENGINEERING"
                        | "SCOPE_CREEP"
                        | "SECURITY_RISK"
                        | "MISALIGNED"
                        | "INSUFFICIENT_EVIDENCE"
                    )[];
                    findings?: {
                        summary: string;
                        location: string;
                        severity: "low"
                        | "medium"
                        | "high"
                        | "critical";
                        gate: {
                            reread_cited_line: "failed" | "skipped" | "passed";
                            traced_call_path: "failed" | "skipped" | "passed";
                            named_assertion: string;
                            ruled_out_language_non_issue: "failed" | "skipped" | "passed";
                        };
                        claim: string;
                    }[];
                    timestamp?: string;
                },
            >,
            outcome: "rejected" | "approved",
        ): void;
        computeCorrelationMatrix(): CorrelationMatrix;
        getCorrelation(agentA: string, agentB: string): number | undefined;
        identifyIndependentSubsets(): readonly IndependentSubset[];
        hasSufficientData(agentIds: readonly string[]): boolean;
        getStats(): CorrelationTrackerStats;
        clear(): void;
    }

    Implemented by

    Index

    Methods

    • Record a vote and its outcome for correlation tracking.

      Parameters

      • agentId: string
      • vote: {
            decision: "approve" | "reject" | "abstain";
            reasoning: string;
            confidence: number;
            conditions?: string[];
            rejectionCategories?: (
                | "YAGNI"
                | "DRY_VIOLATION"
                | "OVER_ENGINEERING"
                | "SCOPE_CREEP"
                | "SECURITY_RISK"
                | "MISALIGNED"
                | "INSUFFICIENT_EVIDENCE"
            )[];
            findings?: {
                summary: string;
                location: string;
                severity: "low"
                | "medium"
                | "high"
                | "critical";
                gate: {
                    reread_cited_line: "failed" | "skipped" | "passed";
                    traced_call_path: "failed" | "skipped" | "passed";
                    named_assertion: string;
                    ruled_out_language_non_issue: "failed" | "skipped" | "passed";
                };
                claim: string;
            }[];
            timestamp?: string;
        }
        • decision: "approve" | "reject" | "abstain"
        • reasoning: string
        • confidence: number
        • Optionalconditions?: string[]
        • OptionalrejectionCategories?: (
              | "YAGNI"
              | "DRY_VIOLATION"
              | "OVER_ENGINEERING"
              | "SCOPE_CREEP"
              | "SECURITY_RISK"
              | "MISALIGNED"
              | "INSUFFICIENT_EVIDENCE"
          )[]

          Structured rejection categories for reject→refine→re-vote loops (Issue #1213).

        • Optionalfindings?: {
              summary: string;
              location: string;
              severity: "low" | "medium" | "high" | "critical";
              gate: {
                  reread_cited_line: "failed" | "skipped" | "passed";
                  traced_call_path: "failed" | "skipped" | "passed";
                  named_assertion: string;
                  ruled_out_language_non_issue: "failed" | "skipped" | "passed";
              };
              claim: string;
          }[]

          Pre-verified PR-review findings (#2245 v4 follow-up). Optional; populated only when the voter emits the structured top-level array.

        • Optionaltimestamp?: string
      • outcome: "rejected" | "approved"

      Returns void

    • Record votes from multiple agents for the same proposal.

      Parameters

      • proposalId: string
      • votes: ReadonlyMap<
            string,
            {
                decision: "approve"
                | "reject"
                | "abstain";
                reasoning: string;
                confidence: number;
                conditions?: string[];
                rejectionCategories?: (
                    | "YAGNI"
                    | "DRY_VIOLATION"
                    | "OVER_ENGINEERING"
                    | "SCOPE_CREEP"
                    | "SECURITY_RISK"
                    | "MISALIGNED"
                    | "INSUFFICIENT_EVIDENCE"
                )[];
                findings?: {
                    summary: string;
                    location: string;
                    severity: "low"
                    | "medium"
                    | "high"
                    | "critical";
                    gate: {
                        reread_cited_line: "failed" | "skipped" | "passed";
                        traced_call_path: "failed" | "skipped" | "passed";
                        named_assertion: string;
                        ruled_out_language_non_issue: "failed" | "skipped" | "passed";
                    };
                    claim: string;
                }[];
                timestamp?: string;
            },
        >
      • outcome: "rejected" | "approved"

      Returns void