6. Verification Object Schema and Qualification Semantics

6.1 Verification Object Schema

A Verification Object is the atomic output of Baseline. It is a content-addressed, immutable record of a single claim evaluation.

{
  "voId":           "string           // Keccak-256 hash of canonically encoded contents",
  "lineStatus":     "LINE_STATUS      // 'ABOVE' | 'BELOW'",
  "claim":          "Claim            // Full claim definition (Section 2.1)",
  "engine": {
    "version":      "string           // Engine version used"
  },
  "predicate": {
    "predicateId":  "string           // Predicate identifier (Section 2.4)",
    "version":      "string           // Predicate version used (from engine's Predicate Manifest, Section 2.5)"
  },
  "methods": [{
    "name":         "string           // Method identifier",
    "version":      "string           // Method version"
  }],
  "result": {
    "qualification":  "QualificationType",
    "confidence":     "number         // 0-100 (100 = fully deterministic)",
    "bounds": {
      "low":          "number | null",
      "high":         "number | null"
    },
    "verdictText":    "string         // Human-readable summary",
    "reasons":        "string[]       // Supporting/undermining factors"
  },
  "evidence":       "EvidenceReference[]  // References to evidence units used",
  "evidenceGraph": {
    "graphId":      "string",
    "summary":      "string           // Textual summary of graph structure",
    "previewUrl":   "string | null    // URL to visual graph rendering"
  },
  "attestations": {
    "count":        "number",
    "validatorIds": "string[]",
    "signatures": [{
      "validatorId":  "string",
      "sig":          "string         // Ed25519 or secp256k1 signature"
    }]
  },
  "baselineChain": {
    "anchoringStatus":  "ANCHORING_STATUS // 'PRE_ANCHORING' | 'PENDING' | 'ANCHORED' | 'FAILED'",
    "txHash":           "string | null    // FirmaChain transaction hash",
    "anchoredAt":       "string | null    // ISO 8601 timestamp",
    "anchoringPhase":   "string | null    // Migration phase: 'SHADOW' | 'TESTNET' | 'MAINNET' | null (full production)"
  },
  "timestamps": {
    "createdAt":    "string           // ISO 8601",
    "updatedAt":    "string           // ISO 8601"
  }
}

Content-Addressing:

voId = Keccak-256(BCE_ENCODE(VerificationObject excluding voId, attestations, baselineChain, timestamps))

This ensures:

  • Any modification to the claim, result, evidence, or method produces a detectably different voId
  • Attestations and anchoring metadata are excluded from the hash (they are added after initial creation)
  • Timestamps are excluded to allow identical evaluations to produce identical voIds

Anchoring Status Semantics:

Status Meaning Independent Verification Possible?
PRE_ANCHORING No on-chain anchoring infrastructure is operational. The VO exists only in the operator's database. Corresponds to migration Phase 1-2 (Section 8.8). No. Consumer must trust the operator entirely.
PENDING On-chain anchoring infrastructure is operational but this VO has not yet been included in an anchored batch. Typically resolves to ANCHORED within the batch interval (60-300 seconds). No (but imminent).
ANCHORED VO content hash is committed to FirmaChain via a Merkle batch. A Merkle inclusion proof is available. Yes. Any party can verify voId membership in the anchored Merkle root.
FAILED Anchoring was attempted but the FirmaChain transaction failed. The VO will be retried in a subsequent batch. No.

The anchoringPhase field provides additional context during the migration period (Section 8.8):

Phase Description Attestations Available?
SHADOW Phase 1: Merkle batches are computed but not submitted on-chain. No
TESTNET Phase 2: Batches are anchored on FirmaChain testnet only. Testnet only
MAINNET Phase 3: Batches are anchored on FirmaChain mainnet with conservative intervals. Yes (limited validator set)
null Phase 4+: Full production. This field is omitted. Yes

Trust transparency rule: API responses MUST include anchoringStatus and anchoringPhase for every VO. Consumers SHOULD treat PRE_ANCHORING VOs as operator-asserted (not independently verifiable) and display this distinction in their UIs.

6.2 Qualification State Determination

Qualification is determined mechanically based on evaluation results.

VERIFIED

Entry Conditions:

  • evaluationClass = DETERMINISTIC for ALL predicates evaluated
  • ALL relevant predicates were evaluated (none skipped)
  • ALL results are conclusive and consistent
  • No inference was required
  • ALL evidence units are ONCHAIN class (independently re-fetchable). VOs that depend on any OFFCHAIN_DECLARED evidence cannot reach VERIFIED qualification, because the observational correctness of off-chain evidence cannot be independently confirmed (Section 3.3).

Confidence: 100

INFERRED

Entry Conditions:

  • At least one inference method was used, OR at least one evidence unit is OFFCHAIN_DECLARED class
  • Primary hypothesis confidence exceeds the method's reporting threshold (default: 50)
  • Alternative hypotheses are attached

Confidence: As reported by inference method. When OFFCHAIN_DECLARED evidence is present, a confidence ceiling applies (see below).

Off-chain evidence confidence ceiling:

When a VO depends on OFFCHAIN_DECLARED evidence, the reported confidence is capped:

effective_confidence = min(method_confidence, offchain_ceiling)
Off-chain evidence class Ceiling Rationale
OFFCHAIN_PINNED only 90 Source may have changed since snapshot; content hash verifiable
OFFCHAIN_EPHEMERAL present 75 Source may be deleted; replay relies entirely on stored snapshot

This ceiling reflects that off-chain evidence is replay-verified (computational correctness) but not observation-verified (the snapshot was actually correct at collection time). The ceiling is applied BEFORE the confidence is stored in the VO, so it affects voId computation.

OBSERVED

Entry Conditions:

  • Evidence graph was constructed successfully
  • Structural properties were described
  • The specific predicate could not be meaningfully evaluated within this context
  • Structure was found and recorded, but the claim itself remains unevaluated

Confidence: N/A (structure was observed but claim not evaluated)

INCONCLUSIVE

Entry Conditions:

  • Evidence supports multiple incompatible interpretations
  • No primary hypothesis has confidence above the reporting threshold
  • Scope was NOT exhausted (sufficient evidence was available, it was just ambiguous)

Confidence: Below threshold

UNQUALIFIED

Entry Conditions:

  • Evidence is insufficient to construct a meaningful evaluation
  • Evidence retrieval failed, subject was not found, or scope was entirely empty
  • This is distinct from a negative result

Confidence: N/A

CONSTRUCTION_FAILED

Entry Conditions:

  • Graph construction was aborted due to an operational timeout (Section 4.4) or infrastructure failure
  • No deterministic graph was produced — the evidence graph does not exist for this attempt
  • This is distinct from UNQUALIFIED: UNQUALIFIED means evidence was retrieved but insufficient; CONSTRUCTION_FAILED means the graph was never completed

Confidence: N/A (no evaluation was performed)

Replay: CONSTRUCTION_FAILED VOs are not submitted for attestation or replay. They are recorded for operational monitoring only and MUST NOT influence any deterministic output.

CONTESTED (extension)

Entry Conditions:

  • Multiple qualified evaluations exist for the same claim under the same context
  • These evaluations produce different qualifications or significantly different results
  • Used by products to surface dispute status

Confidence: Varies per evaluation

6.3 Memecoin Evaluation Output (Product View)

The Memecoin Intel Portal renders multiple Verification Objects as a composite evaluation:

{
  "coinId":           "string",
  "observedAt":       "string         // ISO 8601",
  "overallScore":     "number         // 0-100",
  "categoryScores": {
    "onchain":        "number         // 0-100",
    "social":         "number         // 0-100",
    "project":        "number         // 0-100"
  },
  "scoringModel": {
    "type":           "string         // 'SIMPLE_AVG' | 'WEIGHTED'",
    "version":        "string"
  },
  "supportingVOs":    "string[]       // voIds that back this evaluation",
  "detail": [{
    "metricKey":      "string",
    "status":         "METRIC_STATUS  // 'PASS' | 'WARN' | 'FAIL' | 'NA'",
    "score":          "number         // 0-100",
    "linkedVOs":      "string[]       // voIds"
  }]
}

Scoring Categories (12 categories, 100 max points):

Category Weight Max Points Evaluation Class
Liquidity 15% 15 DETERMINISTIC
Holdings 15% 15 DETERMINISTIC + INFERENTIAL
Trading Activity 15% 15 DETERMINISTIC + INFERENTIAL
Security & Contract 15% 15 DETERMINISTIC
Price Move 10% 10 DETERMINISTIC
Timing 5% 5 DETERMINISTIC
Manipulation (On-chain) 10% 10 INFERENTIAL
Social Channels 3% 3 DETERMINISTIC
Social Narrative 5% 5 INFERENTIAL
Community 4% 4 INFERENTIAL
Social Manipulation 3% 3 INFERENTIAL
Project Narrative 5% 5 INFERENTIAL

Score Tiers:

Range Tier Description
80-100 Gem Strong structural integrity
65-79 Solid Standard risks apply
50-64 Caution Flags present
35-49 Sketchy High probability of structural issues
0-34 Avoid Critical flags or insufficient data

Critical FAIL Overrides (instant red flags regardless of score):

  • Honeypot confirmed
  • Hidden mint function active
  • Single non-CEX holder > 20%
  • LP unlocked with concentrated holder
  • Known deployer rug history

results matching ""

    No results matching ""