### char-rp-fast seat verification — ana-ml2 :8021, 2026-09-10
### model: G4-MeroMero-26B-A4B-it-uncensored-heretic-NVFP4A16 (MoE-recipe re-quant)

$ docker logs vllm-erp-seat | grep 'GPU KV cache size'
(EngineCore pid=663) INFO 09-10 18:30:39 [kv_cache_utils.py:1869] GPU KV cache size: 534,649 tokens, Maximum concurrency for 262,144 tokens per request: 2.04x

$ python3 seat_verify.py http://127.0.0.1:8021/v1 <served-name>
== 1. served name + context
   served: ['G4-MeroMero-26B-A4B-it-uncensored-heretic-NVFP4A16']
   max_model_len: {'G4-MeroMero-26B-A4B-it-uncensored-heretic-NVFP4A16': 262144}
   OK  'G4-MeroMero-26B-A4B-it-uncensored-heretic-NVFP4A16' is served

== 3. prose, non-thinking (the <|channel>thought leak)
   content (277 chars): 'Oil-slicked puddles mirror the fractured glow of a flickering neon sign, casting distorted crimson light across the uneven cobblestones. The sharp, metallic tang of wet iron clings to the air as water cascades rhythmical'
   reasoning_content: None
   OK  clean prose in content, no reasoning, no channel prefix

== 4. vision (towers preserved, tested not inferred)
   answer: 'Blue'   (image was solid RGB(30,60,200) = blue)
   OK  image was decoded and read correctly

== 5. tool call (auto)
   tool_calls: [{"id": "chatcmpl-tool-ba6a1874968381f1", "type": "function", "function": {"name": "get_weather", "arguments": "{\"city\": \"Anaheim\"}"}}]
   content: ''
   OK  parsed a get_weather call, arguments='{"city": "Anaheim"}'

== 6. logprobs (NaN logits, the router-quant tell)
   text: '</b></b></b></b></b></b></b><b>'
   token_logprobs: [-1.3935617208480835, -0.1289057433605194, -0.006735478527843952, -0.006430173758417368, -0.005962086841464043]
   OK  finite logprobs, non-empty raw text

============================================================
ALL CHECKS PASSED

### ignore-list diff vs Pfish-6 (the known-good MoE quant of the SAME architecture class)
Pfish-6 (known good)  : 252 ignore entries
A4B re-quant (live)   : 252 ignore entries  identical to Pfish-6: True
A4B FIRST quant (bad) : 222 ignore entries  missing vs good: 30
  the missing ones    : ['model.language_model.layers.0.router.proj', 'model.language_model.layers.1.router.proj', 'model.language_model.layers.10.router.proj'] ... (all 30 are layers.N.router.proj)
