{
  "schema_version": 1,
  "identity": {
    "project": "JSPARK3",
    "name": "Tempo",
    "version": "v2",
    "candidate": "v2.0.0",
    "status": "experimental",
    "current_daily_driver": true,
    "model": "DeepSeek-V4.1 Flash",
    "hardware": "3 × NVIDIA DGX Spark (GB10, 128 GB each)"
  },
  "publication_status": "published",
  "limitations": [
    "Experimental serving recipe; historical measurements come from one three-Spark fleet.",
    "Functional code passed 2/4 tasks; this is not a broad quality ranking.",
    "A short request arriving two seconds into a 64K prefill waited 40.458 seconds.",
    "300,000 tokens is configured context, not certified usable context or C8 capacity.",
    "Uncached prompt measurements use warmed kernels; they are not cold machine starts.",
    "Work counts unfinished output and does not score quality. Mia active cap 4 differs from Tempo cap 8.",
    "Native vision and optional Pi desktop use are separate from the throughput cohort."
  ],
  "validation": {
    "fresh_source_build": {
      "status": "PASS",
      "evidence": "evidence/fresh-install-20260913.json",
      "evidence_sha256": "950a11f15d0bfd456bebcfff35dc61ca8be2d7316497538210cf3f25a1cdf373"
    },
    "fresh_install": {
      "status": "PASS",
      "evidence": "evidence/fresh-install-20260913.json",
      "evidence_sha256": "950a11f15d0bfd456bebcfff35dc61ca8be2d7316497538210cf3f25a1cdf373"
    },
    "fresh_runtime_smoke": {
      "status": "PASS",
      "evidence": "evidence/fresh-install-20260913.json",
      "evidence_sha256": "950a11f15d0bfd456bebcfff35dc61ca8be2d7316497538210cf3f25a1cdf373"
    }
  },
  "links": {
    "install": "https://github.com/jakejharris/jspark3-deepseek/blob/v2.0.0/docs/INSTALL.md",
    "source": "https://github.com/jakejharris/jspark3-deepseek/tree/v2.0.0",
    "release": "https://github.com/jakejharris/jspark3-deepseek/releases/tag/v2.0.0",
    "evidence": "https://github.com/jakejharris/jspark3-deepseek/blob/v2.0.0/docs/BENCHMARKS.md",
    "huggingface": "https://huggingface.co/jakejharris/jspark3-tempo",
    "website": "https://jakejh.com/jspark3/deepseek/"
  },
  "selected_metrics": [
    {
      "id": "ttft_cold_64k",
      "label": "64K cold TTFT",
      "value": 42.623,
      "unit": "s",
      "conditions": "Three trials; uncached salted prompt, warmed kernels.",
      "estimator": "median",
      "samples": 3,
      "cohort": "long-full",
      "cache_state": "uncached salted prompt, warmed kernels",
      "timing_boundary": "client request start to first nonempty SSE output",
      "concurrency": 1,
      "active_cap": 8
    },
    {
      "id": "ttft_repeat_64k",
      "label": "64K repeat TTFT",
      "value": 0.708,
      "unit": "s",
      "conditions": "Three trials; same-salt committed prefix; exact repeat.",
      "estimator": "median",
      "samples": 3,
      "cohort": "long-full",
      "cache_state": "same-salt committed prefix; exact repeat",
      "timing_boundary": "client request start to first nonempty SSE output",
      "concurrency": 1,
      "active_cap": 8
    },
    {
      "id": "ttft_suffix_64k",
      "label": "64K suffix TTFT",
      "value": 0.691,
      "unit": "s",
      "conditions": "Three trials; same-salt committed prefix; changed suffix.",
      "estimator": "median",
      "samples": 3,
      "cohort": "long-full",
      "cache_state": "same-salt committed prefix; changed suffix",
      "timing_boundary": "client request start to first nonempty SSE output",
      "concurrency": 1,
      "active_cap": 8
    },
    {
      "id": "ttft_cold_76k",
      "label": "76K cold TTFT",
      "value": 49.659,
      "unit": "s",
      "conditions": "Three trials; uncached salted prompt, warmed kernels.",
      "estimator": "median",
      "samples": 3,
      "cohort": "long-full",
      "cache_state": "uncached salted prompt, warmed kernels",
      "timing_boundary": "client request start to first nonempty SSE output",
      "concurrency": 1,
      "active_cap": 8
    },
    {
      "id": "ttft_repeat_76k",
      "label": "76K repeat TTFT",
      "value": 0.471,
      "unit": "s",
      "conditions": "Three trials; same-salt committed prefix; exact repeat.",
      "estimator": "median",
      "samples": 3,
      "cohort": "long-full",
      "cache_state": "same-salt committed prefix; exact repeat",
      "timing_boundary": "client request start to first nonempty SSE output",
      "concurrency": 1,
      "active_cap": 8
    },
    {
      "id": "ttft_suffix_76k",
      "label": "76K suffix TTFT",
      "value": 0.475,
      "unit": "s",
      "conditions": "Three trials; same-salt committed prefix; changed suffix.",
      "estimator": "median",
      "samples": 3,
      "cohort": "long-full",
      "cache_state": "same-salt committed prefix; changed suffix",
      "timing_boundary": "client request start to first nonempty SSE output",
      "concurrency": 1,
      "active_cap": 8
    },
    {
      "id": "generation_prose",
      "label": "Prose post-first-output rate",
      "value": [
        33.21,
        34.28
      ],
      "unit": "tok/s",
      "conditions": "One full streaming answer per task; includes transport/finalization and speculative chunks; not GPU-only decode.",
      "estimator": "range across task rates",
      "samples": 3,
      "cohort": "generation-stream-companion",
      "cache_state": "not controlled as uncached; separate streaming pass",
      "timing_boundary": "(completion_tokens - 1) / (HTTP seconds - TTFT)",
      "concurrency": 1,
      "active_cap": 8
    },
    {
      "id": "generation_code",
      "label": "Code post-first-output rate",
      "value": [
        67.31,
        75.64
      ],
      "unit": "tok/s",
      "conditions": "One full streaming answer per task; includes transport/finalization and speculative chunks; not GPU-only decode.",
      "estimator": "range across task rates",
      "samples": 4,
      "cohort": "generation-stream-companion",
      "cache_state": "not controlled as uncached; separate streaming pass",
      "timing_boundary": "(completion_tokens - 1) / (HTTP seconds - TTFT)",
      "concurrency": 1,
      "active_cap": 8
    },
    {
      "id": "short_c1",
      "label": "C1 short-answer aggregate",
      "value": 49.05,
      "unit": "tok/s",
      "conditions": "Eight categories, 150–256-token caps, one wave per category; transport fixtures, not answer-quality grades.",
      "estimator": "arithmetic mean of 8 category wave rates",
      "samples": 8,
      "cohort": "short-c1",
      "cache_state": "matrix warmup; one pass per category",
      "timing_boundary": "sum output tokens / (last HTTP end - first HTTP start)",
      "concurrency": 1,
      "active_cap": 8
    },
    {
      "id": "short_c2",
      "label": "C2 short-answer aggregate",
      "value": 73.55,
      "unit": "tok/s",
      "conditions": "Eight categories, 150–256-token caps, one wave per category; transport fixtures, not answer-quality grades.",
      "estimator": "arithmetic mean of 8 category wave rates",
      "samples": 8,
      "cohort": "short-c2",
      "cache_state": "matrix warmup; one pass per category",
      "timing_boundary": "sum output tokens / (last HTTP end - first HTTP start)",
      "concurrency": 2,
      "active_cap": 8
    },
    {
      "id": "short_c3",
      "label": "C3 short-answer aggregate",
      "value": 97.21,
      "unit": "tok/s",
      "conditions": "Eight categories, 150–256-token caps, one wave per category; transport fixtures, not answer-quality grades.",
      "estimator": "arithmetic mean of 8 category wave rates",
      "samples": 8,
      "cohort": "short-c3",
      "cache_state": "matrix warmup; one pass per category",
      "timing_boundary": "sum output tokens / (last HTTP end - first HTTP start)",
      "concurrency": 3,
      "active_cap": 8
    },
    {
      "id": "short_c4",
      "label": "C4 short-answer aggregate",
      "value": 114.16,
      "unit": "tok/s",
      "conditions": "Eight categories, 150–256-token caps, one wave per category; transport fixtures, not answer-quality grades.",
      "estimator": "arithmetic mean of 8 category wave rates",
      "samples": 8,
      "cohort": "short-c4",
      "cache_state": "matrix warmup; one pass per category",
      "timing_boundary": "sum output tokens / (last HTTP end - first HTTP start)",
      "concurrency": 4,
      "active_cap": 8
    },
    {
      "id": "short_c5",
      "label": "C5 short-answer aggregate",
      "value": 131.46,
      "unit": "tok/s",
      "conditions": "Eight categories, 150–256-token caps, one wave per category; transport fixtures, not answer-quality grades.",
      "estimator": "arithmetic mean of 8 category wave rates",
      "samples": 8,
      "cohort": "short-c5",
      "cache_state": "matrix warmup; one pass per category",
      "timing_boundary": "sum output tokens / (last HTTP end - first HTTP start)",
      "concurrency": 5,
      "active_cap": 8
    },
    {
      "id": "short_c6",
      "label": "C6 short-answer aggregate",
      "value": 146.12,
      "unit": "tok/s",
      "conditions": "Eight categories, 150–256-token caps, one wave per category; transport fixtures, not answer-quality grades.",
      "estimator": "arithmetic mean of 8 category wave rates",
      "samples": 8,
      "cohort": "short-c6",
      "cache_state": "matrix warmup; one pass per category",
      "timing_boundary": "sum output tokens / (last HTTP end - first HTTP start)",
      "concurrency": 6,
      "active_cap": 8
    },
    {
      "id": "work_c3_first",
      "label": "Work C3-FIRST",
      "value": 80.12,
      "unit": "tok/s",
      "conditions": "One three-minute task round; later tool trajectories diverge; no output-quality score.",
      "estimator": "accepted backend tokens / fixed 180-second window",
      "samples": 1,
      "cohort": "work-v0.1-c3-first",
      "cache_state": "first task round; not guaranteed cold cache",
      "timing_boundary": "backend counter difference over 180 seconds, including unfinished output after drain",
      "concurrency": 3,
      "active_cap": 8
    },
    {
      "id": "work_c3_repeat",
      "label": "Work C3-REPEAT",
      "value": 81.98,
      "unit": "tok/s",
      "conditions": "One three-minute task round; later tool trajectories diverge; no output-quality score.",
      "estimator": "accepted backend tokens / fixed 180-second window",
      "samples": 1,
      "cohort": "work-v0.1-c3-repeat",
      "cache_state": "same initial payload repeat",
      "timing_boundary": "backend counter difference over 180 seconds, including unfinished output after drain",
      "concurrency": 3,
      "active_cap": 8
    },
    {
      "id": "work_c6_first",
      "label": "Work C6-FIRST",
      "value": 102.79,
      "unit": "tok/s",
      "conditions": "One three-minute task round; later tool trajectories diverge; no output-quality score.",
      "estimator": "accepted backend tokens / fixed 180-second window",
      "samples": 1,
      "cohort": "work-v0.1-c6-first",
      "cache_state": "first task round; not guaranteed cold cache",
      "timing_boundary": "backend counter difference over 180 seconds, including unfinished output after drain",
      "concurrency": 6,
      "active_cap": 8
    },
    {
      "id": "work_c6_repeat",
      "label": "Work C6-REPEAT",
      "value": 110.49,
      "unit": "tok/s",
      "conditions": "One three-minute task round; later tool trajectories diverge; no output-quality score.",
      "estimator": "accepted backend tokens / fixed 180-second window",
      "samples": 1,
      "cohort": "work-v0.1-c6-repeat",
      "cache_state": "same initial payload repeat",
      "timing_boundary": "backend counter difference over 180 seconds, including unfinished output after drain",
      "concurrency": 6,
      "active_cap": 8
    },
    {
      "id": "code_correctness",
      "label": "Functional code correctness",
      "value": 2,
      "unit": "passed / 4",
      "conditions": "2/4 small code tasks passed; interval ordering and dependency topology failed.",
      "estimator": "count",
      "samples": 4,
      "cohort": "full-answer-quality",
      "cache_state": "single pass",
      "timing_boundary": "independent functional checks after full answer",
      "concurrency": 1,
      "active_cap": 8
    },
    {
      "id": "short_behind_long",
      "label": "Short behind long TTFT",
      "value": 40.458,
      "unit": "s",
      "conditions": "No matched historical inverse-arrival control; unresolved admission weakness.",
      "estimator": "single observation",
      "samples": 1,
      "cohort": "inverse-arrival",
      "cache_state": "short arrives 2 seconds into uncached 64K prefill",
      "timing_boundary": "short request HTTP start to first output",
      "concurrency": 2,
      "active_cap": 8
    }
  ],
  "benchmarks_sha256": "cbd5c88565cca540923a53282c007772b718a7b0187a2d80d68dca63a25e741d"
}
