koala73/worldmonitor · error · ConvexError

COMPANY_MONITORING_CLASSIFICATION_REPLAY_CONFLICT

Error message

COMPANY_MONITORING_CLASSIFICATION_REPLAY_CONFLICT

What it means

Error "COMPANY_MONITORING_CLASSIFICATION_REPLAY_CONFLICT" thrown in koala73/worldmonitor.

Source

Thrown at convex/companyMonitoring/admission.ts:438

  const replay = await ctx.db
    .query("companyMonitoringAdmissionDecisions")
    .withIndex("by_replay_fence", (q) =>
      q
        .eq("ownerAccountId", args.ownerAccountId)
        .eq("companyId", args.companyId)
        .eq("occurrenceDedupeKey", args.occurrenceDedupeKey)
        .eq("evidenceRevision", args.expectedEvidenceRevision)
        .eq("classificationRunId", classificationRunId),
    )
    .unique();
  if (replay) {
    const submissionDigest = await fingerprint(canonicalValue({
      requestedModelVersion,
      modelVersion,
      modelOutput: args.modelOutput,
    }));
    if (replay.submissionDigest !== submissionDigest) {
      throw new ConvexError("COMPANY_MONITORING_CLASSIFICATION_REPLAY_CONFLICT");
    }
    return { status: "replayed" as const, decision: replay.decision };
  }
  const candidate = await ctx.db
    .query("companyMonitoringCandidates")
    .withIndex("by_account_company_occurrence", (q) =>
      q
        .eq("ownerAccountId", args.ownerAccountId)
        .eq("companyId", args.companyId)
        .eq("occurrenceDedupeKey", args.occurrenceDedupeKey),
    )
    .unique();
  const now = Date.now();
  if (
    !candidate ||
    candidate.state !== "pending_classification" ||
    candidate.evidenceRevision !== args.expectedEvidenceRevision ||
    candidate.classificationWorkerId !== workerId ||

View on GitHub (pinned to ffec79ac33)

When it happens

Trigger: Thrown at convex/companyMonitoring/admission.ts:438 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of koala73/worldmonitor@ffec79ac33 (2026-08-12). Data as JSON: /api/errors/9636e9fbba27a823. Report an issue: GitHub.