I had the honor of testing HUMAIN inference serving: an independent benchmark of
humain-m3-research-preview on the
HUMAIN Node gateway
(api.node.humain.com/v1).
This report is a serving assessment — throughput, latency, scaling, reliability,
and cost — not a base-model capability comparison.
Headline results: 21.6 req/s max sustained throughput, 11.5k output tok/s peak, sub-second first-token latency, and a 7/10 conditional production readiness verdict at capped concurrency with 429-aware clients. At list pricing ($0.30 in / $1.20 out per 1M tokens), that is roughly $0.32–$0.88 per 1,000 requests depending on shape. Full method, curves, and pricing math below — plus my personal feedback and why in-Kingdom inference matters for AI sovereignty.
Scope: inference serving assessment as deployed on the HUMAIN Node gateway (OpenAI-compatible /v1/chat/completions, streaming) — not a base-model capability comparison. 30 s per benchmark (~38 min total incl. rerun); max concurrency tested 512 (deliberate overload probe), max sustained 115. Errors are dominated by the deliberate overload probes.
Executive Summary
- Fast generator, moderate first-token latency. Inter-token latency is 3.6–7.3 ms p50 (≈140–280 tok/s per stream — very fast streaming); TTFT p50 is 559–867 ms across shapes. Users see the first token in well under a second, then a rapid stream.
- Throughput plateaus at ~21–22 req/s regardless of prompt/output shape; output-token throughput scales with output length (peak ≈3.0k tok/s chat, 5.9k long-ctx, 11.5k balanced; ≈30k total tok/s).
- Scaling is near-linear up to a clear knee, then fail-fast 429s. The gateway sheds load with HTTP 429 (31,188 of 31,218 errors) instead of letting latency explode — good overload behavior, but clients must implement backoff.
- Sweet spots (measured): chat 256/128 → concurrency ~16–24; long-ctx 1024/256 → ~24–40; balanced 512/512 → ~40–78. Each holds 15–20 req/s with zero errors.
- Steady 17 RPS (1024 RPM budget) is sustainable for all three shapes: 16.3 / 16.0 / 15.1 req/s with zero errors on the rerun; TTFT p50 591 / 756 / 804 ms.
- End-to-end is output-dominated: E2E p50 ≈1.1 s (128 out) → 1.8 s (256 out) → 3.5 s (512 out). TTFT is roughly constant; generation time drives E2E.
- Caution — first 512/512 attempt collapsed entirely (0/510 and 0/2610 successful) after the suite had saturated the endpoint; a rerun ~30 min later succeeded fully. Treat 512-token outputs as the capacity-sensitive shape: cap concurrency, keep headroom, retry with backoff.
- Verdict: conditionally production-ready for chat, copilot, and agentic workloads at capped concurrency with 429-aware clients; strong fit for batch. Not approved for uncapped autoscaling or burst traffic without further testing.
Key results
What is HUMAIN Node
HUMAIN Node is HUMAIN’s gateway to frontier and sovereign AI models: one account, one API key, and one bill across many providers, with OpenAI-compatible endpoints, team budgets, and a choice of Global, in-Kingdom, or sovereign hosting per workload — without changing client code.
The model under test, humain-m3-research-preview, was commissioned by HUMAIN and delivered by MiniMax: a 428-billion-parameter mixture-of-experts with 23B active parameters per token. It launched in research preview in September 2026, with open weights planned to follow under the MiniMax Community License. Access is a controlled, territory-by-territory preview — exactly the kind of early window I was grateful to be given.
Benchmark Configuration
| Item | Value |
|---|---|
| Endpoint | https://api.node.humain.com/v1 — POST /v1/chat/completions (streaming, usage stats) |
| Model | humain-m3-research-preview (MiniMax M3) |
| Auth | Bearer HUMAIN_NODE_API_KEY |
| Shapes | Run 1 chat 256 prompt / 128 out · Run 2 long-ctx 1024 / 256 · Run 3 balanced 512 / 512 (synthetic text, gpt2 tokenizer for sizing) |
| Profiles | sweep (10 steps: 1× synchronous, 1× throughput probe @512, 8× ramp) · constant @17 RPS · concurrent @16 streams |
| Constraint | max_duration 30 s per benchmark (incomplete = in-flight at window end, not failures) |
| Client notes | Endpoint health-check validation disabled by the load harness (gateway exposes /healthz, not /health); per-request timeout Not Available |
Sweep step 1 in every run is a deliberate throughput overload probe (max_concurrency 512) that intentionally triggers thousands of 429s. It is marked OVERLOAD PROBE below and excluded from scaling curves.
Performance Overview
Across 16,126 successful requests the endpoint behaves like a well-batched streaming server behind a strict rate limiter. Throughput rises near-linearly with concurrency until a per-shape knee, flattens at ~21–22 req/s, and then sheds excess load with HTTP 429 rather than queueing indefinitely. TTFT is dominated by prompt processing (≈560 ms at 256 tokens → ≈750–870 ms at 512–1024 tokens) and stays flat across the efficient zone. Generation cadence (ITL 3.6–7 ms) is excellent and only degrades past saturation. End-to-end latency is therefore a near-linear function of requested output tokens — a customer-visible property worth documenting in any SLA.
Concurrency Analysis
Chat 256/128 — sweep steps
| Conc | Req/s | Out tok/s | E2E p50 | E2E p95 | TTFT p50 | ITL p50 | Error rate | Assessment |
|---|---|---|---|---|---|---|---|---|
| 1 | 0.9 | 125 | 1015 | 1277 | 559 | 3.6 | 0.0% (27/27) | Stable |
| 1 | 32.8 | 4480 | 3500 | 4908 | 2000 | 9.5 | 94.7% (983/18475) | Overload Probe |
| 5 | 2.9 | 382 | 1259 | 1607 | 785 | 3.8 | 39.0% (86/141) | Saturated |
| 10 | 8.6 | 1131 | 1132 | 1438 | 563 | 3.7 | 0.0% (258/258) | Stable |
| 14 | 12.4 | 1631 | 1133 | 1447 | 567 | 3.6 | 0.0% (372/372) | Stable |
| 19 | 16.3 | 2144 | 1105 | 1421 | 569 | 3.6 | 0.0% (489/489) | Efficient |
| 24 | 20.0 | 2639 | 1138 | 1443 | 607 | 3.7 | 0.0% (601/601) | Efficient |
| 29 | 21.7 | 2847 | 1264 | 1574 | 777 | 3.8 | 9.5% (651/719) | Degrading |
| 33 | 21.4 | 2821 | 1287 | 1903 | 792 | 3.8 | 22.6% (643/831) | Degrading |
| 41 | 21.6 | 2981 | 1356 | 1910 | 805 | 3.9 | 33.8% (647/978) | Saturated |
Long-context 1024/256 — sweep steps
| Conc | Req/s | Out tok/s | E2E p50 | E2E p95 | TTFT p50 | ITL p50 | Error rate | Assessment |
|---|---|---|---|---|---|---|---|---|
| 1 | 0.5 | 148 | 1767 | 2044 | 721 | 3.5 | 0.0% (16/16) | Stable |
| 1 | 33.0 | 9276 | 4724 | 5588 | 1928 | 10.3 | 84.5% (990/6400) | Overload Probe |
| 5 | 2.3 | 616 | 1726 | 2069 | 757 | 3.9 | 46.6% (70/131) | Saturated |
| 15 | 8.2 | 2169 | 1741 | 2304 | 756 | 3.7 | 0.0% (246/246) | Stable |
| 22 | 12.0 | 3201 | 1677 | 2059 | 723 | 3.5 | 0.0% (361/361) | Stable |
| 30 | 15.8 | 4178 | 1778 | 2157 | 749 | 4.0 | 0.0% (475/475) | Efficient |
| 40 | 19.5 | 5153 | 1883 | 2339 | 761 | 4.4 | 0.0% (584/584) | Efficient |
| 47 | 21.2 | 5595 | 2067 | 2722 | 784 | 4.9 | 9.9% (635/705) | Degrading |
| 51 | 21.3 | 5629 | 2132 | 2653 | 776 | 5.1 | 22.0% (638/818) | Degrading |
| 65 | 21.1 | 5896 | 2349 | 2908 | 803 | 5.9 | 35.6% (634/985) | Saturated |
Balanced 512/512 — sweep steps (rerun)
| Conc | Req/s | Out tok/s | E2E p50 | E2E p95 | TTFT p50 | ITL p50 | Error rate | Assessment |
|---|---|---|---|---|---|---|---|---|
| 1 | 0.3 | 181 | 2862 | 4451 | 717 | 3.7 | 0.0% (10/10) | Stable |
| 405 | 33.2 | 17489 | 7921 | 11846 | 1825 | 11.2 | 86.4% (995/7337) | Overload Probe |
| 4 | 2.0 | 1097 | 2582 | 3219 | 574 | 3.7 | 49.6% (61/121) | Saturated |
| 24 | 7.8 | 4128 | 2744 | 3587 | 736 | 3.9 | 0.0% (235/235) | Stable |
| 37 | 11.3 | 6006 | 2924 | 3565 | 756 | 4.2 | 0.0% (340/340) | Stable |
| 56 | 15.0 | 7881 | 3334 | 4144 | 782 | 5.0 | 0.0% (449/449) | Stable |
| 78 | 18.3 | 9652 | 3802 | 5012 | 830 | 5.7 | 0.0% (548/548) | Efficient |
| 94 | 20.3 | 10677 | 4111 | 5354 | 837 | 6.3 | 8.4% (610/666) | Degrading |
| 99 | 19.0 | 10099 | 4363 | 5923 | 854 | 6.7 | 26.0% (571/772) | Degrading |
| 115 | 21.2 | 11507 | 4596 | 6170 | 867 | 7.3 | 35.7% (635/988) | Saturated |
Steady-load checks (30 s each)
| Profile | Req/s | Conc | TTFT p50/p95/p99 (ms) | ITL p50/p99 (ms) | E2E p50/p95/p99 (ms) | In/Out/Total tok/s | Result |
|---|---|---|---|---|---|---|---|
| constant | 16.3 | 20 | 591 / 904 / 1712 | 3.6 / 6.3 | 1142 / 1492 / 2158 | 8492 / 2158 / 10565 | 489 ok, 0 err, 21 inc (0.0%) |
| concurrent | 13.1 | 16 | 604 / 922 / 1968 | 3.7 / 5.8 | 1141 / 1483 / 2000 | 6897 / 1738 / 8512 | 393 ok, 0 err, 16 inc (0.0%) |
| constant | 16.0 | 31 | 756 / 862 / 1006 | 4.0 / 6.2 | 1802 / 2218 / 2366 | 20620 / 4198 / 24102 | 479 ok, 0 err, 31 inc (0.0%) |
| concurrent | 9.3 | 16 | 706 / 818 / 1153 | 3.8 / 6.0 | 1641 / 2096 / 2511 | 11934 / 2441 / 14015 | 280 ok, 0 err, 15 inc (0.0%) |
| constant | 15.1 | 60 | 804 / 1032 / 1158 | 5.1 / 8.6 | 3474 / 4431 / 5203 | 12395 / 7940 / 19369 | 453 ok, 0 err, 58 inc (0.0%) |
| concurrent | 5.7 | 16 | 717 / 827 / 1012 | 3.8 / 6.1 | 2635 / 3361 / 3880 | 4669 / 3009 / 7338 | 172 ok, 0 err, 15 inc (0.0%) |
Throughput Scaling
Concurrency vs requests/sec
Near-linear to each shape's knee, then a hard plateau at ~21–22 req/s. The plateau is identical across shapes — consistent with a gateway/request-rate ceiling rather than GPU exhaustion (which would plateau token throughput, not request rate). Hypothesis only; server telemetry would be needed to confirm.
Concurrency vs output tokens/sec
Token throughput keeps climbing with output length long after request rate plateaus: the server converts the same ~21 req/s into far more tokens for 512-output workloads (peak 11.5k out tok/s, ~30k total tok/s).
Latency Analysis
End-to-end p95 vs concurrency (ms)
E2E is output-dominated: ~1.4 s (128 out) → ~2.2 s (256 out) → ~5.0 s (512 out) inside the efficient zone. Past the knee it grows steadily rather than exploding — because excess load is rejected (429) instead of queued.
TTFT Analysis
TTFT p50 vs concurrency (ms)
TTFT p99 vs concurrency, log scale (ms)
What TTFT means: time from sending a request to the first visible token — the "did it hear me?" delay users feel. p50 559–867 ms is acceptable for chat/copilots (feels responsive, especially with a typing indicator); p99 1–2.5 s under load means occasional slow starts. TTFT scales with prompt length (prefill cost) and is flat across concurrency until saturation — good scheduler behavior. Only the overload probe (excluded) and post-knee steps show TTFT p99 degradation.
Token Generation Performance
Inter-token latency p50 vs concurrency (ms)
Perceived streaming speed: 3.6–5 ms ITL ≈ 200–280 tok/s per stream in the efficient zone — text visibly pours out. Even at conc 115 (balanced) ITL p50 is 7.3 ms (~140 tok/s), still faster than reading speed. TPOT p50 (includes TTFT amortized) is ~9 ms chat, ~7 ms long-ctx, ~9 ms balanced — consistent with E2E ÷ output tokens. Generation consistency is high: ITL p99 stays under 12 ms everywhere except the deliberate overload probe (22 ms).
Scalability Curve
Efficient zone (conc ≲ 30): linear gains, flat TTFT, zero errors for chat/long-ctx. Watch zone (30–80): shape-dependent — long-ctx and balanced still scale cleanly here while chat starts shedding (first 429s at conc 29). Saturated zone (>80): request rate flat at ~21 req/s, rising 429 share, TTFT p99 creeping up. Recommended production concurrency sits inside the efficient zone with headroom (see below).
Reliability
- Error mix (measured): 31,188 × HTTP 429 Too Many Requests, 30 × HTTP 503 (one cluster in balanced-sweep step 9 rerun). No timeouts, no malformed responses, no partial streams in the sampled data.
- In-operating-range success rate: 100% — zero errors on all constant @17 RPS and concurrent @16 runs (rerun), and zero errors on every sweep step below each shape's knee.
- Incomplete requests (e.g. 21–100 per 30 s window) are in-flight requests cut off by the max_duration constraint — a benchmark artifact, not a server signal.
- Anomaly — first balanced attempt: constant (0/510) and concurrent (0/2610) returned zero successes when run immediately after two full suites; the rerun ~30 min later succeeded fully (453 ok / 172 ok). Consistent with lingering server-side throttling after sustained saturation, though the exact mechanism is unknown. Lesson: 512-output workloads need headroom and backoff; do not size capacity from a single post-saturation sample.
Measured failure evidence
Failed request — HTTP 429 (run-3 sweep step 7, conc 94)
request_id : 801b8b86-7fc6-4c40-841d-904da132dccc
status : errored
targeted : +0.000s (t0)
queued : -11.088s
dequeued : +0.001s
req_start : +0.001s
first_tok : —
last_tok : —
req_end : —
resolved : +0.165s
req_iters : 0 tok_iters : 0
error : HTTPStatusError("Client error '429 Too Many Requests' for url 'https://api.node.humain.com/v1/chat/completions'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429")Measured: the request waited ~11.1 s in the client queue (queued → dequeued), was sent, and was rejected in ~0.16 s with 429. Zero token iterations — pure shed load. This is the fail-fast pattern behind the 31,188 measured 429s.
Failed request — HTTP 503 (run-3 sweep step 8, conc 99)
request_id : dcf3000f-c84c-4fc3-9973-5868e15f0a18
status : errored
targeted : +0.000s (t0)
queued : -9.515s
dequeued : +0.000s
req_start : +0.000s
first_tok : —
last_tok : —
req_end : —
resolved : +0.163s
req_iters : 0 tok_iters : 0
error : HTTPStatusError("Server error '503 Service Unavailable' for url 'https://api.node.humain.com/v1/chat/completions'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503")Measured: same ~9.5 s queue wait, then a 503 Service Unavailable in ~0.16 s — the only server-side error signature in the dataset (30 occurrences, one cluster). Retry policy must cover 503 as well as 429.
Successful request — same shape, clean step (run-3 sweep step 6, conc 78)
request_id : f0c8805d-fc0f-4317-984f-ae92fe7391f2 status : completed targeted : +0.000s (t0) queued : -1.139s dequeued : +0.013s req_start : +0.013s first_tok : +0.843s last_tok : +2.483s req_end : +2.497s resolved : +2.497s req_iters : 204 tok_iters : 198 error : none
Measured contrast: ~1.2 s queue wait, first token at +0.843 s (TTFT), 198 token iterations, request completed in ~2.50 s. What "good" looks like inside the operating range.
Source: measured per-request entries in benchmarks/run-3-balanced/sweep/benchmarks.json (request/response bodies omitted; errored entries carry no request payload). Response headers (Retry-After, X-Request-ID) are Not Available — the load harness does not capture response headers; see Additional Testing Required.
Workload Suitability
TTFT p50 ~590 ms and ~270 tok/s streaming feel snappy for chat, copilots, and assistants. E2E p95 1.4 s at 128 outputs fits turn-taking UX. Caveats: keep concurrency ≤24 per replica; p99 TTFT ~1.7–2.0 s means a small share of slow starts — mask with typing indicators and a client timeout ≥10 s.
Sequential tool-calling loops compound ~1.1 s per step (chat shape): a 10-step agent ≈ 11–15 s — acceptable for research/coding agents, tight for real-time ones. Longer generations (512 out ≈ 3.5 s E2E) multiply quickly. Caveats: enforce per-step timeouts, parallelize independent calls up to the concurrency cap, and add 429 retry with jitter since agents burst.
Highest value: ~30k total tok/s and 11.5k out tok/s on 512-output work. Throughput is predictable and errors are clean 429s that a queue-with-backoff absorbs. Caveats: pace submissions under the observed ~21 req/s ceiling per endpoint, and re-test 512-output at higher concurrency before committing to deadlines (first-attempt collapse).
Long context (1024 prompt, measured)
4× prompt length adds only ~165 ms to TTFT p50 (591 → 756 ms) and E2E grows 1.14 → 1.80 s — sub-linear, indicating efficient prefill. Tightest tail of all shapes at steady load (TTFT p99 1,006 ms). Larger windows (8k+) were Not Available in this dataset and must be tested before advertising long-context support.
Production Recommendation
| Item | Value |
|---|---|
| Recommended concurrency (per endpoint) | 16–24 chat · 24–40 long-ctx · 40–60 balanced (stay below first-error knee with headroom) |
| Maximum tested concurrency | 512 (overload probe) · 115 sustained |
| Observed saturation point | ~21–22 req/s request-rate plateau; first 429s at conc ≈29 / 47 / 94 per shape |
| Recommended operating range | ≤17 RPS with ≤60 concurrent; target ≤70% of knee concurrency per shape |
- Traffic management: client-side concurrency limiter per shape + exponential backoff with jitter on 429; never retry 429s immediately (the probe shows immediate retries amplify the storm: 17k errors in 30 s).
- Timeouts: client timeout ≥30 s for 512-output workloads (E2E p99 ~5–7 s, plus queueing); ≥10 s for chat.
- Autoscaling: scale on p95 TTFT and 429 rate, not on RPS alone — RPS plateaus while user experience degrades. Keep one replica's headroom above the knee.
- Load balancing: route by expected output length (short vs long generations) since E2E differs 3–4×; isolate 512-output traffic so it cannot starve interactive chat.
- Capacity planning: budget ~21 req/s and ~10k/24k/19k total tok/s per endpoint for chat/long-ctx/balanced respectively at 17 RPS; derate 30% for p99 headroom.
Pricing and what it costs to run
HUMAIN Node prices humain-m3 at $0.30 per 1M input tokens and $1.20 per 1M output tokens — output costs 4× input, so the bill follows generation, exactly like end-to-end latency does. Applied to the measured steady-load token rates:
| Shape | Input tok/req | Output tok/req | Cost / 1k req | Cost / hour at ~17 RPS |
|---|---|---|---|---|
| Chat 256/128 | 521 | 132 | $0.32 | ~$19 |
| Long-ctx 1024/256 | 1,289 | 262 | $0.70 | ~$40 |
| Balanced 512/512 | 821 | 526 | $0.88 | ~$48 |
- Output dominates the bill: roughly 50% of cost on chat shapes, ~45% on long-context, ~72% on 512-output workloads. Prompt caching (priced separately on Node) would move the input share further down.
- FinOps takeaway: cap output length first, concurrency second. A 512-output workload costs ~3× a chat workload per request at the same request rate — route long generations to isolated pools so they cannot starve (or bill like) interactive chat.
- Budgeting rule of thumb: ~$20/hour per saturated chat endpoint, ~$40–48/hour for long-generation shapes at ~17 RPS. Derate 30% for p99 headroom, same as capacity.
Risks / Concerns
| Severity | Concern |
|---|---|
| High | Post-saturation throttling: the first 512/512 steady-load attempt failed 100% after sustained overload; recovery took tens of minutes. A traffic spike could degrade the endpoint well beyond the spike itself. |
| Medium | Strict ~21 req/s ceiling shared across shapes — a single 1024-RPM-style budget. Bursty multi-tenant traffic will hit 429s; clients without backoff will see cascading failures. |
| Medium | TTFT p99 1–2.5 s under load (vs 559–867 ms p50): tail-sensitive UX (voice, real-time copilots) needs mitigation. |
| Medium | 30 s 503 cluster (balanced sweep rerun): rare server-side errors exist — retry policy must cover 503 as well as 429. |
| Low | Concurrent-16-fixed underperforms rate-based load for long E2E shapes (5.7 vs 15.1 RPS balanced) — expected via Little's Law, but worth knowing when sizing worker pools. |
| Low | No data on >1024-token prompts, multi-turn, tool-calling, or multi-replica behavior — do not extrapolate. |
Additional Testing Required
- Longer sustained load (15–60 min soak) at recommended concurrency to check for drift, KV-cache pressure, or slow throttling onset.
- Larger context windows (4k/8k/32k prompts) — prefill scaling is currently only measured to 1024 tokens.
- Burst test: idle → 2× recommended concurrency step jump; measure recovery time (the observed ~30 min recovery needs quantification).
- Multi-turn conversations and tool-calling schemas (agentic realism) instead of single-turn synthetic prompts.
- Failure testing: behavior at 2× ceiling, retry-storm resilience, 503 handling.
- Multi-replica and autoscaling behavior; per-key RPM accounting under parallel clients.
- Repeated 512-output runs to confirm the first-attempt collapse root cause and rule out residue effects.
Scorecard
Expert Assessment
If I were approving this endpoint for production today: approve chat/copilot/assistant traffic at ≤24 concurrent (≈16 RPS) with 429-aware retries and ≥10 s timeouts; approve offline batch at paced ≤17 RPS with a queue; conditionally approve agentic workloads with per-step budgets and burst caps. Limit: no uncapped autoscaling, no 512-output traffic sharing a pool with interactive chat, no reliance on >21 req/s per endpoint. Test next: a 60-minute soak at recommended concurrency, a quantified burst-recovery test, and 4k+ context — in that order. The single biggest open question is the post-saturation throttling episode: until its trigger and recovery time are characterized, keep 30% headroom below the knee.
Evidence class: all numeric claims above are measured from the 9 benchmark runs; knees, zones, and sweet spots are observed patterns; infrastructure causes (gateway ceiling, GPU/scheduler saturation) are inferred hypotheses — server-side telemetry was Not Available.
Why this matters for AI sovereignty
Performance numbers are only half the story for a Saudi bank, government entity, or regulated enterprise. The other half is where the tokens are processed. HUMAIN runs inference on sovereign data centers inside the Kingdom — AMD Instinct systems went live in 2026 with a 1 GW buildout target by 2030 — so workloads stay aligned with NCA, SAMA, and PDPL expectations without data crossing borders. That is the same compliance-by-design argument I make in my AI adoption work: sovereignty is not a deployment detail, it is architecture.
The direction of travel is unmistakable: frontier open models hosted on in-Kingdom inference platforms, and partnerships bringing global model builders onto Saudi infrastructure. For regulated buyers, the question is shifting from “can we use AI and stay compliant?” to “which in-Kingdom endpoint serves each workload best?” — and that is exactly what benchmarks like this one answer.
My feedback
Testing HUMAIN inference first-hand was a privilege, and the platform made a strong impression: the OpenAI-compatible API was a genuine drop-in (existing SDKs, streaming with usage stats, no client rewrite), and the gateway’s fail-fast 429 behavior under overload is how I wish every inference provider behaved — shed load loudly instead of queueing silently.
My honest notes back: the post-saturation throttling episode (a full 100% failure
window on 512-output workloads after sustained overload, recovering ~30 min later)
is the one thing I would want characterized before committing production traffic;
the small 503 cluster deserves the same retry coverage as 429s; and preview rough
edges like the /healthz vs /health mismatch are worth
sanding down for enterprise load-harness integrations. None of these change the
verdict — conditionally production-ready at capped concurrency — and
I’m looking forward to re-running this suite against the open weights and
larger context windows next.
Benchmarks run 8 September 2026 against the HUMAIN Node gateway. All numeric claims are measured from the 9 benchmark runs; infrastructure causes are inferred hypotheses — server-side telemetry was not available. See also the AI adoption case study.