@meta
  v: 1
  route: /calc
  generated: 2026-06-10T07:02:36.365Z

@intent
  purpose:    Interactive calculator with shareable URL state. Tune GPU + context + concurrency + safety; copy a link.
  audience:   ai-engineer, self-hoster, hardware-shopper
  capability: compute_budget, share_via_url, find_compatible_models, find_compatible_gpus

@state
  url_schema{gpu,vram,ctx,conc,safety,tab,q,model}: "slug or alias (rtx-4090, 4090, m3-ultra, m5-max)","integer GB, 4-1024 (overrides stock VRAM)","token count or short form (8k, 32k, 128k)","integer concurrency, 1-64","integer percent, 0-50",curated | search | size,huggingface search query (search tab only),model slug to highlight in curated list
  defaults{gpu,ctx,conc,safety,tab}: rtx-4090,8192,1,15,curated
  example_urls[5]: /calc?gpu=4090&ctx=32k&conc=4, /calc?gpu=m3-ultra&ctx=128k&conc=1, /calc?gpu=h100&ctx=8k&conc=16&safety=10, /calc?tab=size, /calc?tab=search&q=llama
  gpu_catalog_size: 42
  model_catalog_size: 30
  quant_catalog_size: 9

@actions
  - id: load_default
    method: GET
    href: /calc
  - id: load_rtx_4090_32k
    method: GET
    href: /calc?ctx=32k
  - id: load_h100_128k
    method: GET
    href: /calc?gpu=h100&ctx=128k
  - id: view_math
    method: GET
    href: /the-math
  - id: browse_gpus
    method: GET
    href: /gpu/
  - id: browse_models
    method: GET
    href: /model/

@context
  > The calculator is interactive and stateful via URL query params. Defaults are stripped (so a default-state URL is just /calc). GPU short aliases supported: 4090, 3090, 5090, m5-max, m3-ultra, h100, etc. Context accepts short forms like 8k, 32k, 128k. Tab values: curated | search | size. The "↗ copy link" button in the calculator header copies the current URL to clipboard.

@nav
  self:      /calc
  parents:   [/]
  peers:     [/gpu/, /model/, /runtime/, /the-math]
