{
  "tool_id": "art-710-tsv-stoppage-concurrency",
  "tool_version": "1.0.0",
  "display_name": "TSV Stoppage Concurrency",
  "mcp_name": "check_tsv_stoppage_concurrency",
  "mandate_type": "compliance_control",
  "wave": 129,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-710-tsv-stoppage-concurrency.html",
  "description": "Checks a tokenized-stock venue (TSV) against condition H of the SEC TSV Exemption (FR 2026-19388, 91 Fed. Reg. 60176, Sept. 22, 2026): a TSV must stop trading in a Tokenized NMS Stock concurrently with any stoppage of trading in the underlying NMS stock on the primary listing exchange, which includes a halt or a suspension, and must immediately notify its TSV Participants. Replays caller-supplied TSV trades against caller-declared listing-exchange stoppage intervals under a declared half-open boundary rule (start-inclusive, end-exclusive), flags every trade inside an interval beyond the caller-declared concurrency tolerance, checks that the TSV's own halt record spans each stoppage (an open-ended stoppage is covered only by an open-ended record), and reports participant-notice presence with the notice latency as a MEASURED value in milliseconds from stoppage start to the earliest notice at or after it, never graded pass/fail because the order says \"immediately\" without a number. Per stoppage: covered, trades_during, trades_flagged, trades_within_tolerance, notice_latency_ms; violations carry TRADE_DURING_STOPPAGE, HALT_RECORD_NOT_COVERING and NO_PARTICIPANT_NOTICE. Evidence only: it states no opinion on whether any latency, gap or trade is lawful. Zero network: the node never reads a chain and checks only what the caller supplies.",
  "input_schema_ref": "chaingraph/art-710-tsv-stoppage-concurrency.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [{"system":"sha256-source","image_id":"sha256:50b06c5208854d0622f2454f8578b75ca6ec066405ff1afe74d0d529b30e7e8b","valid_from":"2026-10-13"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-09-12"}],
  "export_capability": ["json"],
  "standards_basis": "implements_standard",
  "cited_clause_digest": [
    {
      "digest": "sha256:3ee0022fb377c2d8958b9f0294a496bb7e6df25676175d491dd76c2e783a89d5",
      "source_url": "https://www.govinfo.gov/content/pkg/FR-2026-09-22/html/2026-19388.htm",
      "retrieved_at": "2026-10-13",
      "clause_path": "II.H Stoppage of Trading (incl. fn.84, fn.85)",
      "scheme": "fr",
      "id": "FR 2026-19388 condition H"
    }
  ],
  "compute_proof_ready": "ready",
  "cycle_preflight": "FAST - 6,291,017 user_cycles max across all 12 fixture vectors, measured exec-only 2026-10-22 (DEFERRED-EXEC-MEASURE-3).",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "BdE6lXDB1+7W5FUugjhbFQGOmPSbpqSQBsHgtym2TRodXnqoZDQzdN0Pv7y3MFCCT+BBo6dK5gF4gbNjr4pVnB9+NWJIp6BDj8mrGf/x1r5ZkHNg423E8wXkR+v5qD8II+yN4cDQw/AGb99Y5nvQSBA9XbSAFlLlS8KddW+KvUUF14AmD++69FEsIr860hW7JvAsMisHKiGHb6/Y6MHWswmITwET+e/cGFH+5gb8nHBueIytEM6tJPhiox/ants/LV21PjY5SJK3ynCnGKv8nUNe6n9HJsDlfTlY1hOXHkYwUiLOq+bJAhS52UWF4owSlyv854gMCwYm4VmHU5TMJg==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:50b06c5208854d0622f2454f8578b75ca6ec066405ff1afe74d0d529b30e7e8b",
      "output": {
        "assumptions": [
          "Condition H of the SEC TSV Exemption (FR 2026-19388, 91 Fed. Reg. 60176, Sept. 22, 2026): a TSV must stop trading in a Tokenized NMS Stock concurrently with any stoppage of trading in the underlying NMS stock on the primary listing exchange, which includes a halt or a suspension, and must immediately notify its TSV Participants of any stoppage.",
          "Stoppage intervals are HALF-OPEN: start-inclusive, end-exclusive, [start_ts, end_ts). A trade at exactly end_ts is outside the stoppage.",
          "concurrency_tolerance_ms (caller-declared, echoed) widens the tolerated window around the interval edges: a trade with ts < start_ts + tolerance or ts >= end_ts - tolerance sits inside the interval but inside the declared tolerance and is counted without being flagged.",
          "The order says \"immediately\" without a number: notice latency is reported as a measured value in milliseconds and is never graded pass/fail.",
          "Notice latency is measured from the stoppage start to the earliest participant notice for the symbol at or after that start; an open-ended stoppage (end_ts null) is covered only by an open-ended TSV halt record.",
          "Evidence only: this node states no opinion on whether any latency, gap or trade is lawful; it reports what the caller-supplied records show.",
          "Zero network: the node never reads a chain and checks only the caller-supplied stoppages, trades, halt records and notices."
        ],
        "concurrency_tolerance_ms": 0,
        "counts": {
          "halt_records": 1,
          "participant_notices": 1,
          "stoppages": 1,
          "stoppages_without_notice": 0,
          "trades": 1,
          "trades_during_stoppages": 1,
          "trades_flagged": 1,
          "uncovered_stoppages": 0,
          "violations": 1
        },
        "per_stoppage": [
          {
            "covered": true,
            "covering_halt_record": {
              "end_ts": 2000,
              "start_ts": 1000
            },
            "end_ts": 2000,
            "kind": "halt",
            "notice_latency_ms": 0,
            "start_ts": 1000,
            "symbol": "AAPL",
            "trades_during": 1,
            "trades_flagged": 1,
            "trades_within_tolerance": 0
          }
        ],
        "violations": [
          {
            "kind": "halt",
            "stoppage_end_ts": 2000,
            "stoppage_start_ts": 1000,
            "symbol": "AAPL",
            "trade_id": "T-1",
            "trade_ts": 1001,
            "type": "TRADE_DURING_STOPPAGE"
          }
        ]
      }
    }
  }
}
