hanzoai 8.5.730 → 8.5.742

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/dist/api/benchmark-api.d.ts +44 -44
  2. package/dist/api/benchmark-api.js +36 -36
  3. package/dist/api/eval-api.d.ts +12 -12
  4. package/dist/api/eval-api.js +8 -8
  5. package/dist/api/o11y-api.d.ts +12 -12
  6. package/dist/api/o11y-api.js +8 -8
  7. package/dist/esm/api/benchmark-api.d.ts +44 -44
  8. package/dist/esm/api/benchmark-api.js +36 -36
  9. package/dist/esm/api/eval-api.d.ts +12 -12
  10. package/dist/esm/api/eval-api.js +8 -8
  11. package/dist/esm/api/o11y-api.d.ts +12 -12
  12. package/dist/esm/api/o11y-api.js +8 -8
  13. package/dist/esm/models/agent-agent-detail.d.ts +21 -21
  14. package/dist/esm/models/agent-session-detail.d.ts +35 -35
  15. package/dist/esm/models/approval.d.ts +3 -3
  16. package/dist/esm/models/benchmark-benchmark.d.ts +6 -0
  17. package/dist/esm/models/benchmark-claim-row.d.ts +6 -0
  18. package/dist/esm/models/benchmark-leader-row.d.ts +6 -0
  19. package/dist/esm/models/benchmark-leaderboard.d.ts +7 -1
  20. package/dist/esm/models/benchmark-measurement.d.ts +43 -0
  21. package/dist/esm/models/benchmark-measurements.d.ts +43 -0
  22. package/dist/esm/models/benchmark-preset-list.d.ts +1 -1
  23. package/dist/esm/models/benchmark-preset-stored.d.ts +37 -0
  24. package/dist/esm/models/benchmark-preset-stored.js +14 -0
  25. package/dist/esm/models/benchmark-preset.d.ts +13 -1
  26. package/dist/esm/models/benchmark-suite.d.ts +2 -14
  27. package/dist/esm/models/billing-accounts.d.ts +4 -4
  28. package/dist/esm/models/campaign-campaign-update.d.ts +6 -6
  29. package/dist/esm/models/compute-cluster-detail-view.d.ts +12 -12
  30. package/dist/esm/models/deploy-argo-node.d.ts +6 -6
  31. package/dist/esm/models/function-function-detail.d.ts +16 -16
  32. package/dist/esm/models/iam-answer.d.ts +1 -1
  33. package/dist/esm/models/iam-application.d.ts +1 -1
  34. package/dist/esm/models/iam-audit-log.d.ts +1 -1
  35. package/dist/esm/models/iam-cert.d.ts +1 -1
  36. package/dist/esm/models/iam-create-organization-input.d.ts +6 -6
  37. package/dist/esm/models/iam-invitation.d.ts +1 -1
  38. package/dist/esm/models/iam-key.d.ts +1 -1
  39. package/dist/esm/models/iam-organization.d.ts +1 -1
  40. package/dist/esm/models/iam-permission.d.ts +1 -1
  41. package/dist/esm/models/iam-project.d.ts +1 -1
  42. package/dist/esm/models/iam-provider.d.ts +1 -1
  43. package/dist/esm/models/iam-role.d.ts +1 -1
  44. package/dist/esm/models/iam-session.d.ts +1 -1
  45. package/dist/esm/models/iam-team.d.ts +1 -1
  46. package/dist/esm/models/iam-token.d.ts +1 -1
  47. package/dist/esm/models/iam-tombstone.d.ts +1 -1
  48. package/dist/esm/models/iam-update-organization-input.d.ts +6 -6
  49. package/dist/esm/models/iam-webauthn-credential.d.ts +1 -1
  50. package/dist/esm/models/iam-workspace.d.ts +1 -1
  51. package/dist/esm/models/index.d.ts +3 -2
  52. package/dist/esm/models/index.js +3 -2
  53. package/dist/esm/models/legal-document-view.d.ts +10 -10
  54. package/dist/esm/models/legal-legal-filing.d.ts +9 -9
  55. package/dist/esm/models/legal-legal-signer.d.ts +2 -2
  56. package/dist/esm/models/legal-legal-template.d.ts +8 -8
  57. package/dist/esm/models/link-ingest-req.d.ts +21 -21
  58. package/dist/esm/models/marketplace-market-item.d.ts +6 -6
  59. package/dist/esm/models/mq-make-in.d.ts +11 -11
  60. package/dist/esm/models/o11y-httpclient-config.d.ts +3 -3
  61. package/dist/esm/models/o11y-integration.d.ts +2 -2
  62. package/dist/esm/models/o11y-integrations-list-item.d.ts +1 -1
  63. package/dist/esm/models/o11y-o11y-agent-check-in-in.d.ts +2 -2
  64. package/dist/esm/models/o11y-o11y-dashboard-list-item-for-user.d.ts +13 -13
  65. package/dist/esm/models/o11y-o11y-dashboard-update-in.d.ts +4 -4
  66. package/dist/esm/models/o11y-o11y-dashboard-view-update-in.d.ts +2 -2
  67. package/dist/esm/models/o11y-o11y-public-dashboard-write-in.d.ts +2 -2
  68. package/dist/esm/models/o11y-o11y-query-range-preview-in.d.ts +6 -6
  69. package/dist/esm/models/o11y-o11y-saved-view-update-in.d.ts +1 -1
  70. package/dist/esm/models/o11y-oauth2.d.ts +3 -3
  71. package/dist/esm/models/platform-declared.d.ts +14 -14
  72. package/dist/esm/models/platform-project-app.d.ts +14 -14
  73. package/dist/esm/models/platform-project-view.d.ts +7 -7
  74. package/dist/esm/models/principal-clearance.d.ts +8 -8
  75. package/dist/esm/models/train-download.d.ts +7 -7
  76. package/dist/esm/models/train-job.d.ts +10 -10
  77. package/dist/esm/models/wallet-wallet.d.ts +4 -4
  78. package/dist/esm/models/web3-chain-status.d.ts +3 -3
  79. package/dist/models/agent-agent-detail.d.ts +21 -21
  80. package/dist/models/agent-session-detail.d.ts +35 -35
  81. package/dist/models/approval.d.ts +3 -3
  82. package/dist/models/benchmark-benchmark.d.ts +6 -0
  83. package/dist/models/benchmark-claim-row.d.ts +6 -0
  84. package/dist/models/benchmark-leader-row.d.ts +6 -0
  85. package/dist/models/benchmark-leaderboard.d.ts +7 -1
  86. package/dist/models/benchmark-measurement.d.ts +43 -0
  87. package/dist/models/benchmark-measurements.d.ts +43 -0
  88. package/dist/models/benchmark-preset-list.d.ts +1 -1
  89. package/dist/models/benchmark-preset-stored.d.ts +37 -0
  90. package/dist/models/benchmark-preset-stored.js +15 -0
  91. package/dist/models/benchmark-preset.d.ts +13 -1
  92. package/dist/models/benchmark-suite.d.ts +2 -14
  93. package/dist/models/billing-accounts.d.ts +4 -4
  94. package/dist/models/campaign-campaign-update.d.ts +6 -6
  95. package/dist/models/compute-cluster-detail-view.d.ts +12 -12
  96. package/dist/models/deploy-argo-node.d.ts +6 -6
  97. package/dist/models/function-function-detail.d.ts +16 -16
  98. package/dist/models/iam-answer.d.ts +1 -1
  99. package/dist/models/iam-application.d.ts +1 -1
  100. package/dist/models/iam-audit-log.d.ts +1 -1
  101. package/dist/models/iam-cert.d.ts +1 -1
  102. package/dist/models/iam-create-organization-input.d.ts +6 -6
  103. package/dist/models/iam-invitation.d.ts +1 -1
  104. package/dist/models/iam-key.d.ts +1 -1
  105. package/dist/models/iam-organization.d.ts +1 -1
  106. package/dist/models/iam-permission.d.ts +1 -1
  107. package/dist/models/iam-project.d.ts +1 -1
  108. package/dist/models/iam-provider.d.ts +1 -1
  109. package/dist/models/iam-role.d.ts +1 -1
  110. package/dist/models/iam-session.d.ts +1 -1
  111. package/dist/models/iam-team.d.ts +1 -1
  112. package/dist/models/iam-token.d.ts +1 -1
  113. package/dist/models/iam-tombstone.d.ts +1 -1
  114. package/dist/models/iam-update-organization-input.d.ts +6 -6
  115. package/dist/models/iam-webauthn-credential.d.ts +1 -1
  116. package/dist/models/iam-workspace.d.ts +1 -1
  117. package/dist/models/index.d.ts +3 -2
  118. package/dist/models/index.js +3 -2
  119. package/dist/models/legal-document-view.d.ts +10 -10
  120. package/dist/models/legal-legal-filing.d.ts +9 -9
  121. package/dist/models/legal-legal-signer.d.ts +2 -2
  122. package/dist/models/legal-legal-template.d.ts +8 -8
  123. package/dist/models/link-ingest-req.d.ts +21 -21
  124. package/dist/models/marketplace-market-item.d.ts +6 -6
  125. package/dist/models/mq-make-in.d.ts +11 -11
  126. package/dist/models/o11y-httpclient-config.d.ts +3 -3
  127. package/dist/models/o11y-integration.d.ts +2 -2
  128. package/dist/models/o11y-integrations-list-item.d.ts +1 -1
  129. package/dist/models/o11y-o11y-agent-check-in-in.d.ts +2 -2
  130. package/dist/models/o11y-o11y-dashboard-list-item-for-user.d.ts +13 -13
  131. package/dist/models/o11y-o11y-dashboard-update-in.d.ts +4 -4
  132. package/dist/models/o11y-o11y-dashboard-view-update-in.d.ts +2 -2
  133. package/dist/models/o11y-o11y-public-dashboard-write-in.d.ts +2 -2
  134. package/dist/models/o11y-o11y-query-range-preview-in.d.ts +6 -6
  135. package/dist/models/o11y-o11y-saved-view-update-in.d.ts +1 -1
  136. package/dist/models/o11y-oauth2.d.ts +3 -3
  137. package/dist/models/platform-declared.d.ts +14 -14
  138. package/dist/models/platform-project-app.d.ts +14 -14
  139. package/dist/models/platform-project-view.d.ts +7 -7
  140. package/dist/models/principal-clearance.d.ts +8 -8
  141. package/dist/models/train-download.d.ts +7 -7
  142. package/dist/models/train-job.d.ts +10 -10
  143. package/dist/models/wallet-wallet.d.ts +4 -4
  144. package/dist/models/web3-chain-status.d.ts +3 -3
  145. package/package.json +1 -1
  146. package/src/api/benchmark-api.ts +44 -44
  147. package/src/api/eval-api.ts +12 -12
  148. package/src/api/o11y-api.ts +12 -12
  149. package/src/models/agent-agent-detail.ts +21 -21
  150. package/src/models/agent-session-detail.ts +35 -35
  151. package/src/models/approval.ts +3 -3
  152. package/src/models/benchmark-benchmark.ts +6 -0
  153. package/src/models/benchmark-claim-row.ts +6 -0
  154. package/src/models/benchmark-leader-row.ts +6 -0
  155. package/src/models/benchmark-leaderboard.ts +7 -1
  156. package/src/models/benchmark-measurement.ts +51 -0
  157. package/src/models/benchmark-measurements.ts +51 -0
  158. package/src/models/benchmark-preset-list.ts +1 -1
  159. package/src/models/{benchmark-preset-accepted.ts → benchmark-preset-stored.ts} +8 -20
  160. package/src/models/benchmark-preset.ts +13 -1
  161. package/src/models/benchmark-suite.ts +2 -14
  162. package/src/models/billing-accounts.ts +4 -4
  163. package/src/models/campaign-campaign-update.ts +6 -6
  164. package/src/models/compute-cluster-detail-view.ts +12 -12
  165. package/src/models/deploy-argo-node.ts +6 -6
  166. package/src/models/function-function-detail.ts +16 -16
  167. package/src/models/iam-answer.ts +1 -1
  168. package/src/models/iam-application.ts +1 -1
  169. package/src/models/iam-audit-log.ts +1 -1
  170. package/src/models/iam-cert.ts +1 -1
  171. package/src/models/iam-create-organization-input.ts +6 -6
  172. package/src/models/iam-invitation.ts +1 -1
  173. package/src/models/iam-key.ts +1 -1
  174. package/src/models/iam-organization.ts +1 -1
  175. package/src/models/iam-permission.ts +1 -1
  176. package/src/models/iam-project.ts +1 -1
  177. package/src/models/iam-provider.ts +1 -1
  178. package/src/models/iam-role.ts +1 -1
  179. package/src/models/iam-session.ts +1 -1
  180. package/src/models/iam-team.ts +1 -1
  181. package/src/models/iam-token.ts +1 -1
  182. package/src/models/iam-tombstone.ts +1 -1
  183. package/src/models/iam-update-organization-input.ts +6 -6
  184. package/src/models/iam-webauthn-credential.ts +1 -1
  185. package/src/models/iam-workspace.ts +1 -1
  186. package/src/models/index.ts +3 -2
  187. package/src/models/legal-document-view.ts +10 -10
  188. package/src/models/legal-legal-filing.ts +9 -9
  189. package/src/models/legal-legal-signer.ts +2 -2
  190. package/src/models/legal-legal-template.ts +8 -8
  191. package/src/models/link-ingest-req.ts +21 -21
  192. package/src/models/marketplace-market-item.ts +6 -6
  193. package/src/models/mq-make-in.ts +11 -11
  194. package/src/models/o11y-httpclient-config.ts +3 -3
  195. package/src/models/o11y-integration.ts +2 -2
  196. package/src/models/o11y-integrations-list-item.ts +1 -1
  197. package/src/models/o11y-o11y-agent-check-in-in.ts +2 -2
  198. package/src/models/o11y-o11y-dashboard-list-item-for-user.ts +13 -13
  199. package/src/models/o11y-o11y-dashboard-update-in.ts +4 -4
  200. package/src/models/o11y-o11y-dashboard-view-update-in.ts +2 -2
  201. package/src/models/o11y-o11y-public-dashboard-write-in.ts +2 -2
  202. package/src/models/o11y-o11y-query-range-preview-in.ts +6 -6
  203. package/src/models/o11y-o11y-saved-view-update-in.ts +1 -1
  204. package/src/models/o11y-oauth2.ts +3 -3
  205. package/src/models/platform-declared.ts +14 -14
  206. package/src/models/platform-project-app.ts +14 -14
  207. package/src/models/platform-project-view.ts +7 -7
  208. package/src/models/principal-clearance.ts +8 -8
  209. package/src/models/train-download.ts +7 -7
  210. package/src/models/train-job.ts +10 -10
  211. package/src/models/wallet-wallet.ts +4 -4
  212. package/src/models/web3-chain-status.ts +3 -3
  213. package/dist/esm/models/benchmark-admission.d.ts +0 -60
  214. package/dist/esm/models/benchmark-preset-accepted.d.ts +0 -49
  215. package/dist/models/benchmark-admission.d.ts +0 -60
  216. package/dist/models/benchmark-preset-accepted.d.ts +0 -49
  217. package/src/models/benchmark-admission.ts +0 -66
  218. /package/dist/esm/models/{benchmark-admission.js → benchmark-measurement.js} +0 -0
  219. /package/dist/esm/models/{benchmark-preset-accepted.js → benchmark-measurements.js} +0 -0
  220. /package/dist/models/{benchmark-admission.js → benchmark-measurement.js} +0 -0
  221. /package/dist/models/{benchmark-preset-accepted.js → benchmark-measurements.js} +0 -0
@@ -13,15 +13,15 @@ import type { Configuration } from '../configuration';
13
13
  import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
14
14
  import globalAxios from 'axios';
15
15
  import { type RequestArgs, BaseAPI } from '../base';
16
- import type { BenchmarkAdmission } from '../models';
17
16
  import type { BenchmarkBenchmarkCatalog } from '../models';
18
17
  import type { BenchmarkClaimsOut } from '../models';
19
18
  import type { BenchmarkHistoryOut } from '../models';
20
19
  import type { BenchmarkLeaderboard } from '../models';
20
+ import type { BenchmarkMeasurements } from '../models';
21
21
  import type { BenchmarkPairing } from '../models';
22
22
  import type { BenchmarkPreset } from '../models';
23
- import type { BenchmarkPresetAccepted } from '../models';
24
23
  import type { BenchmarkPresetList } from '../models';
24
+ import type { BenchmarkPresetStored } from '../models';
25
25
  import type { BenchmarkPutClaimsIn } from '../models';
26
26
  import type { BenchmarkPutClaimsOut } from '../models';
27
27
  import type { BenchmarkSuite } from '../models';
@@ -31,8 +31,8 @@ import type { BenchmarkSuite } from '../models';
31
31
  */
32
32
  export declare const BenchmarkApiAxiosParamCreator: (configuration?: Configuration) => {
33
33
  /**
34
- * Is the canonical public benchmarks this arena runs — the id, title, axis, item count and upstream source of each, with native marking the ones the standardized harness runs today; the rest are registered and adapter-pending. These ids are the vocabulary the rest of the surface takes: a run names them, and the leaderboard and compare read them from ?benchmark=. The catalog is deployment-wide and identical for every caller — there is no tenant in it.
35
- * @summary Is the canonical public benchmarks this arena runs — the id, title, axis, item count and upstream source of each, with native marking the ones the standardized harness runs today; the rest are registered and adapter-pending.
34
+ * Is the canonical benchmarks this arena reads — the id, title, axis, item count, upstream source and direction of each, with native marking the ones the standardized harness runs today. The first 14 are the public set every major provider reports; the next 4 are the tests coding agents are judged on — DeepSWE, Terminal-Bench 4.0, SWE-Atlas QnA and SWE-Bench Pro v2 — published as claims; the rest are the Decision Suite, scored by Kai\'s own harness and published as claims citing the research run each number came from. direction is \"higher\" or \"lower\": which way a score improves, and so which way the leaderboard orders its rows. Every score is a percentage; a latency is a fact about serving and lives in the research plane\'s runs, not here. These ids are the vocabulary the rest of the surface takes: a run and a claim name them, and the leaderboard and compare read them from ?benchmark=. The catalog is deployment-wide and identical for every caller — there is no tenant in it.
35
+ * @summary Is the canonical benchmarks this arena reads — the id, title, axis, item count, upstream source and direction of each, with native marking the ones the standardized harness runs today.
36
36
  * @param {*} [options] Override http request option.
37
37
  * @throws {RequiredError}
38
38
  */
@@ -70,7 +70,7 @@ export declare const BenchmarkApiAxiosParamCreator: (configuration?: Configurati
70
70
  */
71
71
  getBenchmarkHistory: (benchmark?: string, model?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
72
72
  /**
73
- * Answers one row per model for the benchmark named — what our own harness measured, beside what the vendor claims, and the gap between them. The gap is the point of the arena; provider-reported claims have run materially hot against one standardized harness. The two planes are NEVER blended, and that is the rule to read the rows by: a model we have measured but no vendor has claimed for shows published null, a model with only a claim shows measured null, and gap exists only where both do. Published, Claims, Spread and Mean read the platform\'s own public claims (org \"admin\") and nothing else, whoever asks. Other orgs\' claims are at /v1/benchmark/claims, labelled, and never on this board. n is coverage and is not decoration: two measured numbers taken over different item counts are not comparable, so read the row\'s n before reading its accuracy.
73
+ * Answers one row per model for the benchmark named — what our own harness measured, beside what the vendor claims, and the gap between them. The gap is the point of the arena; provider-reported claims have run materially hot against one standardized harness. The two planes are NEVER blended, and that is the rule to read the rows by: a model we have measured but no vendor has claimed for shows published null, a model with only a claim shows measured null, and gap exists only where both do. Published, Claims, Spread and Mean read the platform\'s own public claims (org \"admin\") and nothing else, whoever asks. Other orgs\' claims are at /v1/benchmark/claims, labelled, and reach this board only when a SuperAdmin publishes them: writing under org admin, or promoting an org\'s public claims with POST /v1/benchmark/claims/promote, which keeps the org they came from in the row\'s from. Rows are best first. A benchmark whose score improves downward — a false-alarm rate, a share of answers that moved — is ordered lowest first, and the answer says which with direction. n is coverage and is not decoration: two measured numbers taken over different item counts are not comparable, so read the row\'s n before reading its accuracy.
74
74
  * @summary Answers one row per model for the benchmark named — what our own harness measured, beside what the vendor claims, and the gap between them.
75
75
  * @param {string} [benchmark] Benchmark is the catalog id to read, defaulting to gpqa_diamond.
76
76
  * @param {*} [options] Override http request option.
@@ -78,8 +78,8 @@ export declare const BenchmarkApiAxiosParamCreator: (configuration?: Configurati
78
78
  */
79
79
  getBenchmarkLeaderboard: (benchmark?: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
80
80
  /**
81
- * Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each served by the model layer as enso-<name>. Today it answers exactly one row, the reference blend: a worked example written in models we name, published as an example of the FORM. It is deliberately not the composition of a Hanzo-served tier — the tier name exists to abstract that — so fork it and swap arms by what the leaderboard measures on your own tasks rather than reading it as a disclosure.
82
- * @summary Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each served by the model layer as enso-<name>.
81
+ * Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each named for the model layer as enso-<name>. The first row is the reference blend: a worked example written in models we name, published as an example of the FORM. It is deliberately not the composition of a Hanzo-served tier — the tier name exists to abstract that — so fork it and swap arms by what the leaderboard measures on your own tasks rather than reading it as a disclosure. The rows after it are the caller\'s org\'s stored blends, by name, the latest version of each. Anyone reads the reference; only a member of the org reads the org\'s own, and a SuperAdmin acting in an org it does not belong to reads what a stranger reads.
82
+ * @summary Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each named for the model layer as enso-<name>.
83
83
  * @param {*} [options] Override http request option.
84
84
  * @throws {RequiredError}
85
85
  */
@@ -93,16 +93,16 @@ export declare const BenchmarkApiAxiosParamCreator: (configuration?: Configurati
93
93
  */
94
94
  postBenchmarkClaims: (benchmarkPutClaimsIn: BenchmarkPutClaimsIn, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
95
95
  /**
96
- * Validates a router blend — its name, its arms, the rank they escalate through and the panel fan-out width — and answers 202 with the preset and the enso-<name> it would be served as. It VALIDATES AND ECHOES: the definition is not persisted yet, so a preset accepted here is not one the model layer will resolve. Treat the response as a check on the blend, not a promise to serve it. Any signed-in caller may compose; a caller with no verified principal is refused 401. Owner is the caller\'s verified org whatever the body says, so a blend is never checked or echoed as another org\'s. Defaults fill the shape rather than refusing it: an omitted rank becomes the arms in declared order and a panel below 1 becomes 1. The one real invariant is that rank may only name arms the blend declares — the same rule the model catalog enforces — and a rank naming anything else is a 422 listing exactly which entries were undeclared. A blend with no name or no arms is a 400.
97
- * @summary Validates a router blend — its name, its arms, the rank they escalate through and the panel fan-out width — and answers 202 with the preset and the enso-<name> it would be served as.
96
+ * Stores a router blend for the caller\'s org — its name, its arms, the rank they escalate through and the panel fan-out width — and answers with the stored blend and the enso-<name> it would be resolved under. Storing is not serving: the model layer resolves no stored preset, and the answer\'s note says so. Any signed-in caller may compose; a caller with no verified principal is refused 401. Owner, At and By are the server\'s, whatever the body says, so a blend is never stored as another org\'s. Posting a name the org already holds replaces that blend; an org holds at most 100 names and stores at most 500 versions per UTC day (429 past that). Defaults fill the shape rather than refusing it: an omitted rank becomes the arms in declared order and a panel below 1 becomes 1. A blend with no name or no arms is a 400. A name is the part after enso-: 1 to 64 lowercase letters, digits and inner hyphens, never one of Hanzo\'s own tiers (auto, flash, pro, ultra, free, embed) and never beginning with enso-, or it is a 422. So is a blend of more than 32 arms, an arm named twice or past 128 characters, a rank naming an arm the blend does not declare, a panel wider than the rank, or a note past 1024 characters.
97
+ * @summary Stores a router blend for the caller\'s org — its name, its arms, the rank they escalate through and the panel fan-out width — and answers with the stored blend and the enso-<name> it would be resolved under.
98
98
  * @param {BenchmarkPreset} benchmarkPreset
99
99
  * @param {*} [options] Override http request option.
100
100
  * @throws {RequiredError}
101
101
  */
102
102
  postBenchmarkPresets: (benchmarkPreset: BenchmarkPreset, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
103
103
  /**
104
- * Admits and queues a benchmark run against a model or your own endpoint, and answers 202 with the receipt. It is an ADMISSION, not a result: the work is done by the harness afterwards and the numbers appear on the leaderboard as it completes them. Any signed-in caller may ask; a caller with no verified principal is refused 401. The receipt names the caller\'s verified org and user — nothing in the body names either — and stores nothing. Cost is bounded by the store rather than by a quota: attempts are append-only and keyed by (benchmark, item, model), so an (item, model) pair already attempted is skipped instead of re-spent, and re-queuing the same run is close to free. Validation is up front and total — a request with neither model nor endpoint is a 400, one with no benchmarks is a 400, and any benchmark id outside the catalog is a 422 naming exactly which ids were unknown, so a typo never silently queues a partial run.
105
- * @summary Admits and queues a benchmark run against a model or your own endpoint, and answers 202 with the receipt.
104
+ * Answers what the arena already holds for a model on each benchmark asked about, and spends nothing. For a benchmark the store holds attempts for, the answer is the model\'s latest run — its id, when it was recorded, its accuracy and how many items it covered — served from the attempts already recorded. A measurement held is never run again from here. For a benchmark it holds none for, nothing is queued, because this arena has no executor: the answer says so and names the harness that measures the benchmark, or, where none here does, the import a published run\'s items take. There is no flag to force a run, because nothing here would act on it. Any signed-in caller may ask; a caller with no verified principal is refused 401. The answer names the caller\'s verified org and user — nothing in the body names either — and stores nothing. Validation is up front and total — a request with no model is a 400, one with no benchmarks is a 400, and any benchmark id outside the catalog is a 422 naming exactly which ids were unknown.
105
+ * @summary Answers what the arena already holds for a model on each benchmark asked about, and spends nothing.
106
106
  * @param {BenchmarkSuite} benchmarkSuite
107
107
  * @param {*} [options] Override http request option.
108
108
  * @throws {RequiredError}
@@ -115,8 +115,8 @@ export declare const BenchmarkApiAxiosParamCreator: (configuration?: Configurati
115
115
  */
116
116
  export declare const BenchmarkApiFp: (configuration?: Configuration) => {
117
117
  /**
118
- * Is the canonical public benchmarks this arena runs — the id, title, axis, item count and upstream source of each, with native marking the ones the standardized harness runs today; the rest are registered and adapter-pending. These ids are the vocabulary the rest of the surface takes: a run names them, and the leaderboard and compare read them from ?benchmark=. The catalog is deployment-wide and identical for every caller — there is no tenant in it.
119
- * @summary Is the canonical public benchmarks this arena runs — the id, title, axis, item count and upstream source of each, with native marking the ones the standardized harness runs today; the rest are registered and adapter-pending.
118
+ * Is the canonical benchmarks this arena reads — the id, title, axis, item count, upstream source and direction of each, with native marking the ones the standardized harness runs today. The first 14 are the public set every major provider reports; the next 4 are the tests coding agents are judged on — DeepSWE, Terminal-Bench 4.0, SWE-Atlas QnA and SWE-Bench Pro v2 — published as claims; the rest are the Decision Suite, scored by Kai\'s own harness and published as claims citing the research run each number came from. direction is \"higher\" or \"lower\": which way a score improves, and so which way the leaderboard orders its rows. Every score is a percentage; a latency is a fact about serving and lives in the research plane\'s runs, not here. These ids are the vocabulary the rest of the surface takes: a run and a claim name them, and the leaderboard and compare read them from ?benchmark=. The catalog is deployment-wide and identical for every caller — there is no tenant in it.
119
+ * @summary Is the canonical benchmarks this arena reads — the id, title, axis, item count, upstream source and direction of each, with native marking the ones the standardized harness runs today.
120
120
  * @param {*} [options] Override http request option.
121
121
  * @throws {RequiredError}
122
122
  */
@@ -154,7 +154,7 @@ export declare const BenchmarkApiFp: (configuration?: Configuration) => {
154
154
  */
155
155
  getBenchmarkHistory(benchmark?: string, model?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BenchmarkHistoryOut>>;
156
156
  /**
157
- * Answers one row per model for the benchmark named — what our own harness measured, beside what the vendor claims, and the gap between them. The gap is the point of the arena; provider-reported claims have run materially hot against one standardized harness. The two planes are NEVER blended, and that is the rule to read the rows by: a model we have measured but no vendor has claimed for shows published null, a model with only a claim shows measured null, and gap exists only where both do. Published, Claims, Spread and Mean read the platform\'s own public claims (org \"admin\") and nothing else, whoever asks. Other orgs\' claims are at /v1/benchmark/claims, labelled, and never on this board. n is coverage and is not decoration: two measured numbers taken over different item counts are not comparable, so read the row\'s n before reading its accuracy.
157
+ * Answers one row per model for the benchmark named — what our own harness measured, beside what the vendor claims, and the gap between them. The gap is the point of the arena; provider-reported claims have run materially hot against one standardized harness. The two planes are NEVER blended, and that is the rule to read the rows by: a model we have measured but no vendor has claimed for shows published null, a model with only a claim shows measured null, and gap exists only where both do. Published, Claims, Spread and Mean read the platform\'s own public claims (org \"admin\") and nothing else, whoever asks. Other orgs\' claims are at /v1/benchmark/claims, labelled, and reach this board only when a SuperAdmin publishes them: writing under org admin, or promoting an org\'s public claims with POST /v1/benchmark/claims/promote, which keeps the org they came from in the row\'s from. Rows are best first. A benchmark whose score improves downward — a false-alarm rate, a share of answers that moved — is ordered lowest first, and the answer says which with direction. n is coverage and is not decoration: two measured numbers taken over different item counts are not comparable, so read the row\'s n before reading its accuracy.
158
158
  * @summary Answers one row per model for the benchmark named — what our own harness measured, beside what the vendor claims, and the gap between them.
159
159
  * @param {string} [benchmark] Benchmark is the catalog id to read, defaulting to gpqa_diamond.
160
160
  * @param {*} [options] Override http request option.
@@ -162,8 +162,8 @@ export declare const BenchmarkApiFp: (configuration?: Configuration) => {
162
162
  */
163
163
  getBenchmarkLeaderboard(benchmark?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BenchmarkLeaderboard>>;
164
164
  /**
165
- * Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each served by the model layer as enso-<name>. Today it answers exactly one row, the reference blend: a worked example written in models we name, published as an example of the FORM. It is deliberately not the composition of a Hanzo-served tier — the tier name exists to abstract that — so fork it and swap arms by what the leaderboard measures on your own tasks rather than reading it as a disclosure.
166
- * @summary Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each served by the model layer as enso-<name>.
165
+ * Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each named for the model layer as enso-<name>. The first row is the reference blend: a worked example written in models we name, published as an example of the FORM. It is deliberately not the composition of a Hanzo-served tier — the tier name exists to abstract that — so fork it and swap arms by what the leaderboard measures on your own tasks rather than reading it as a disclosure. The rows after it are the caller\'s org\'s stored blends, by name, the latest version of each. Anyone reads the reference; only a member of the org reads the org\'s own, and a SuperAdmin acting in an org it does not belong to reads what a stranger reads.
166
+ * @summary Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each named for the model layer as enso-<name>.
167
167
  * @param {*} [options] Override http request option.
168
168
  * @throws {RequiredError}
169
169
  */
@@ -177,21 +177,21 @@ export declare const BenchmarkApiFp: (configuration?: Configuration) => {
177
177
  */
178
178
  postBenchmarkClaims(benchmarkPutClaimsIn: BenchmarkPutClaimsIn, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BenchmarkPutClaimsOut>>;
179
179
  /**
180
- * Validates a router blend — its name, its arms, the rank they escalate through and the panel fan-out width — and answers 202 with the preset and the enso-<name> it would be served as. It VALIDATES AND ECHOES: the definition is not persisted yet, so a preset accepted here is not one the model layer will resolve. Treat the response as a check on the blend, not a promise to serve it. Any signed-in caller may compose; a caller with no verified principal is refused 401. Owner is the caller\'s verified org whatever the body says, so a blend is never checked or echoed as another org\'s. Defaults fill the shape rather than refusing it: an omitted rank becomes the arms in declared order and a panel below 1 becomes 1. The one real invariant is that rank may only name arms the blend declares — the same rule the model catalog enforces — and a rank naming anything else is a 422 listing exactly which entries were undeclared. A blend with no name or no arms is a 400.
181
- * @summary Validates a router blend — its name, its arms, the rank they escalate through and the panel fan-out width — and answers 202 with the preset and the enso-<name> it would be served as.
180
+ * Stores a router blend for the caller\'s org — its name, its arms, the rank they escalate through and the panel fan-out width — and answers with the stored blend and the enso-<name> it would be resolved under. Storing is not serving: the model layer resolves no stored preset, and the answer\'s note says so. Any signed-in caller may compose; a caller with no verified principal is refused 401. Owner, At and By are the server\'s, whatever the body says, so a blend is never stored as another org\'s. Posting a name the org already holds replaces that blend; an org holds at most 100 names and stores at most 500 versions per UTC day (429 past that). Defaults fill the shape rather than refusing it: an omitted rank becomes the arms in declared order and a panel below 1 becomes 1. A blend with no name or no arms is a 400. A name is the part after enso-: 1 to 64 lowercase letters, digits and inner hyphens, never one of Hanzo\'s own tiers (auto, flash, pro, ultra, free, embed) and never beginning with enso-, or it is a 422. So is a blend of more than 32 arms, an arm named twice or past 128 characters, a rank naming an arm the blend does not declare, a panel wider than the rank, or a note past 1024 characters.
181
+ * @summary Stores a router blend for the caller\'s org — its name, its arms, the rank they escalate through and the panel fan-out width — and answers with the stored blend and the enso-<name> it would be resolved under.
182
182
  * @param {BenchmarkPreset} benchmarkPreset
183
183
  * @param {*} [options] Override http request option.
184
184
  * @throws {RequiredError}
185
185
  */
186
- postBenchmarkPresets(benchmarkPreset: BenchmarkPreset, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BenchmarkPresetAccepted>>;
186
+ postBenchmarkPresets(benchmarkPreset: BenchmarkPreset, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BenchmarkPresetStored>>;
187
187
  /**
188
- * Admits and queues a benchmark run against a model or your own endpoint, and answers 202 with the receipt. It is an ADMISSION, not a result: the work is done by the harness afterwards and the numbers appear on the leaderboard as it completes them. Any signed-in caller may ask; a caller with no verified principal is refused 401. The receipt names the caller\'s verified org and user — nothing in the body names either — and stores nothing. Cost is bounded by the store rather than by a quota: attempts are append-only and keyed by (benchmark, item, model), so an (item, model) pair already attempted is skipped instead of re-spent, and re-queuing the same run is close to free. Validation is up front and total — a request with neither model nor endpoint is a 400, one with no benchmarks is a 400, and any benchmark id outside the catalog is a 422 naming exactly which ids were unknown, so a typo never silently queues a partial run.
189
- * @summary Admits and queues a benchmark run against a model or your own endpoint, and answers 202 with the receipt.
188
+ * Answers what the arena already holds for a model on each benchmark asked about, and spends nothing. For a benchmark the store holds attempts for, the answer is the model\'s latest run — its id, when it was recorded, its accuracy and how many items it covered — served from the attempts already recorded. A measurement held is never run again from here. For a benchmark it holds none for, nothing is queued, because this arena has no executor: the answer says so and names the harness that measures the benchmark, or, where none here does, the import a published run\'s items take. There is no flag to force a run, because nothing here would act on it. Any signed-in caller may ask; a caller with no verified principal is refused 401. The answer names the caller\'s verified org and user — nothing in the body names either — and stores nothing. Validation is up front and total — a request with no model is a 400, one with no benchmarks is a 400, and any benchmark id outside the catalog is a 422 naming exactly which ids were unknown.
189
+ * @summary Answers what the arena already holds for a model on each benchmark asked about, and spends nothing.
190
190
  * @param {BenchmarkSuite} benchmarkSuite
191
191
  * @param {*} [options] Override http request option.
192
192
  * @throws {RequiredError}
193
193
  */
194
- postBenchmarkRuns(benchmarkSuite: BenchmarkSuite, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BenchmarkAdmission>>;
194
+ postBenchmarkRuns(benchmarkSuite: BenchmarkSuite, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<BenchmarkMeasurements>>;
195
195
  };
196
196
  /**
197
197
  * BenchmarkApi - factory interface
@@ -199,8 +199,8 @@ export declare const BenchmarkApiFp: (configuration?: Configuration) => {
199
199
  */
200
200
  export declare const BenchmarkApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
201
201
  /**
202
- * Is the canonical public benchmarks this arena runs — the id, title, axis, item count and upstream source of each, with native marking the ones the standardized harness runs today; the rest are registered and adapter-pending. These ids are the vocabulary the rest of the surface takes: a run names them, and the leaderboard and compare read them from ?benchmark=. The catalog is deployment-wide and identical for every caller — there is no tenant in it.
203
- * @summary Is the canonical public benchmarks this arena runs — the id, title, axis, item count and upstream source of each, with native marking the ones the standardized harness runs today; the rest are registered and adapter-pending.
202
+ * Is the canonical benchmarks this arena reads — the id, title, axis, item count, upstream source and direction of each, with native marking the ones the standardized harness runs today. The first 14 are the public set every major provider reports; the next 4 are the tests coding agents are judged on — DeepSWE, Terminal-Bench 4.0, SWE-Atlas QnA and SWE-Bench Pro v2 — published as claims; the rest are the Decision Suite, scored by Kai\'s own harness and published as claims citing the research run each number came from. direction is \"higher\" or \"lower\": which way a score improves, and so which way the leaderboard orders its rows. Every score is a percentage; a latency is a fact about serving and lives in the research plane\'s runs, not here. These ids are the vocabulary the rest of the surface takes: a run and a claim name them, and the leaderboard and compare read them from ?benchmark=. The catalog is deployment-wide and identical for every caller — there is no tenant in it.
203
+ * @summary Is the canonical benchmarks this arena reads — the id, title, axis, item count, upstream source and direction of each, with native marking the ones the standardized harness runs today.
204
204
  * @param {*} [options] Override http request option.
205
205
  * @throws {RequiredError}
206
206
  */
@@ -230,7 +230,7 @@ export declare const BenchmarkApiFactory: (configuration?: Configuration, basePa
230
230
  */
231
231
  getBenchmarkHistory(requestParameters?: BenchmarkApiGetBenchmarkHistoryRequest, options?: RawAxiosRequestConfig): AxiosPromise<BenchmarkHistoryOut>;
232
232
  /**
233
- * Answers one row per model for the benchmark named — what our own harness measured, beside what the vendor claims, and the gap between them. The gap is the point of the arena; provider-reported claims have run materially hot against one standardized harness. The two planes are NEVER blended, and that is the rule to read the rows by: a model we have measured but no vendor has claimed for shows published null, a model with only a claim shows measured null, and gap exists only where both do. Published, Claims, Spread and Mean read the platform\'s own public claims (org \"admin\") and nothing else, whoever asks. Other orgs\' claims are at /v1/benchmark/claims, labelled, and never on this board. n is coverage and is not decoration: two measured numbers taken over different item counts are not comparable, so read the row\'s n before reading its accuracy.
233
+ * Answers one row per model for the benchmark named — what our own harness measured, beside what the vendor claims, and the gap between them. The gap is the point of the arena; provider-reported claims have run materially hot against one standardized harness. The two planes are NEVER blended, and that is the rule to read the rows by: a model we have measured but no vendor has claimed for shows published null, a model with only a claim shows measured null, and gap exists only where both do. Published, Claims, Spread and Mean read the platform\'s own public claims (org \"admin\") and nothing else, whoever asks. Other orgs\' claims are at /v1/benchmark/claims, labelled, and reach this board only when a SuperAdmin publishes them: writing under org admin, or promoting an org\'s public claims with POST /v1/benchmark/claims/promote, which keeps the org they came from in the row\'s from. Rows are best first. A benchmark whose score improves downward — a false-alarm rate, a share of answers that moved — is ordered lowest first, and the answer says which with direction. n is coverage and is not decoration: two measured numbers taken over different item counts are not comparable, so read the row\'s n before reading its accuracy.
234
234
  * @summary Answers one row per model for the benchmark named — what our own harness measured, beside what the vendor claims, and the gap between them.
235
235
  * @param {BenchmarkApiGetBenchmarkLeaderboardRequest} requestParameters Request parameters.
236
236
  * @param {*} [options] Override http request option.
@@ -238,8 +238,8 @@ export declare const BenchmarkApiFactory: (configuration?: Configuration, basePa
238
238
  */
239
239
  getBenchmarkLeaderboard(requestParameters?: BenchmarkApiGetBenchmarkLeaderboardRequest, options?: RawAxiosRequestConfig): AxiosPromise<BenchmarkLeaderboard>;
240
240
  /**
241
- * Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each served by the model layer as enso-<name>. Today it answers exactly one row, the reference blend: a worked example written in models we name, published as an example of the FORM. It is deliberately not the composition of a Hanzo-served tier — the tier name exists to abstract that — so fork it and swap arms by what the leaderboard measures on your own tasks rather than reading it as a disclosure.
242
- * @summary Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each served by the model layer as enso-<name>.
241
+ * Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each named for the model layer as enso-<name>. The first row is the reference blend: a worked example written in models we name, published as an example of the FORM. It is deliberately not the composition of a Hanzo-served tier — the tier name exists to abstract that — so fork it and swap arms by what the leaderboard measures on your own tasks rather than reading it as a disclosure. The rows after it are the caller\'s org\'s stored blends, by name, the latest version of each. Anyone reads the reference; only a member of the org reads the org\'s own, and a SuperAdmin acting in an org it does not belong to reads what a stranger reads.
242
+ * @summary Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each named for the model layer as enso-<name>.
243
243
  * @param {*} [options] Override http request option.
244
244
  * @throws {RequiredError}
245
245
  */
@@ -253,21 +253,21 @@ export declare const BenchmarkApiFactory: (configuration?: Configuration, basePa
253
253
  */
254
254
  postBenchmarkClaims(requestParameters: BenchmarkApiPostBenchmarkClaimsRequest, options?: RawAxiosRequestConfig): AxiosPromise<BenchmarkPutClaimsOut>;
255
255
  /**
256
- * Validates a router blend — its name, its arms, the rank they escalate through and the panel fan-out width — and answers 202 with the preset and the enso-<name> it would be served as. It VALIDATES AND ECHOES: the definition is not persisted yet, so a preset accepted here is not one the model layer will resolve. Treat the response as a check on the blend, not a promise to serve it. Any signed-in caller may compose; a caller with no verified principal is refused 401. Owner is the caller\'s verified org whatever the body says, so a blend is never checked or echoed as another org\'s. Defaults fill the shape rather than refusing it: an omitted rank becomes the arms in declared order and a panel below 1 becomes 1. The one real invariant is that rank may only name arms the blend declares — the same rule the model catalog enforces — and a rank naming anything else is a 422 listing exactly which entries were undeclared. A blend with no name or no arms is a 400.
257
- * @summary Validates a router blend — its name, its arms, the rank they escalate through and the panel fan-out width — and answers 202 with the preset and the enso-<name> it would be served as.
256
+ * Stores a router blend for the caller\'s org — its name, its arms, the rank they escalate through and the panel fan-out width — and answers with the stored blend and the enso-<name> it would be resolved under. Storing is not serving: the model layer resolves no stored preset, and the answer\'s note says so. Any signed-in caller may compose; a caller with no verified principal is refused 401. Owner, At and By are the server\'s, whatever the body says, so a blend is never stored as another org\'s. Posting a name the org already holds replaces that blend; an org holds at most 100 names and stores at most 500 versions per UTC day (429 past that). Defaults fill the shape rather than refusing it: an omitted rank becomes the arms in declared order and a panel below 1 becomes 1. A blend with no name or no arms is a 400. A name is the part after enso-: 1 to 64 lowercase letters, digits and inner hyphens, never one of Hanzo\'s own tiers (auto, flash, pro, ultra, free, embed) and never beginning with enso-, or it is a 422. So is a blend of more than 32 arms, an arm named twice or past 128 characters, a rank naming an arm the blend does not declare, a panel wider than the rank, or a note past 1024 characters.
257
+ * @summary Stores a router blend for the caller\'s org — its name, its arms, the rank they escalate through and the panel fan-out width — and answers with the stored blend and the enso-<name> it would be resolved under.
258
258
  * @param {BenchmarkApiPostBenchmarkPresetsRequest} requestParameters Request parameters.
259
259
  * @param {*} [options] Override http request option.
260
260
  * @throws {RequiredError}
261
261
  */
262
- postBenchmarkPresets(requestParameters: BenchmarkApiPostBenchmarkPresetsRequest, options?: RawAxiosRequestConfig): AxiosPromise<BenchmarkPresetAccepted>;
262
+ postBenchmarkPresets(requestParameters: BenchmarkApiPostBenchmarkPresetsRequest, options?: RawAxiosRequestConfig): AxiosPromise<BenchmarkPresetStored>;
263
263
  /**
264
- * Admits and queues a benchmark run against a model or your own endpoint, and answers 202 with the receipt. It is an ADMISSION, not a result: the work is done by the harness afterwards and the numbers appear on the leaderboard as it completes them. Any signed-in caller may ask; a caller with no verified principal is refused 401. The receipt names the caller\'s verified org and user — nothing in the body names either — and stores nothing. Cost is bounded by the store rather than by a quota: attempts are append-only and keyed by (benchmark, item, model), so an (item, model) pair already attempted is skipped instead of re-spent, and re-queuing the same run is close to free. Validation is up front and total — a request with neither model nor endpoint is a 400, one with no benchmarks is a 400, and any benchmark id outside the catalog is a 422 naming exactly which ids were unknown, so a typo never silently queues a partial run.
265
- * @summary Admits and queues a benchmark run against a model or your own endpoint, and answers 202 with the receipt.
264
+ * Answers what the arena already holds for a model on each benchmark asked about, and spends nothing. For a benchmark the store holds attempts for, the answer is the model\'s latest run — its id, when it was recorded, its accuracy and how many items it covered — served from the attempts already recorded. A measurement held is never run again from here. For a benchmark it holds none for, nothing is queued, because this arena has no executor: the answer says so and names the harness that measures the benchmark, or, where none here does, the import a published run\'s items take. There is no flag to force a run, because nothing here would act on it. Any signed-in caller may ask; a caller with no verified principal is refused 401. The answer names the caller\'s verified org and user — nothing in the body names either — and stores nothing. Validation is up front and total — a request with no model is a 400, one with no benchmarks is a 400, and any benchmark id outside the catalog is a 422 naming exactly which ids were unknown.
265
+ * @summary Answers what the arena already holds for a model on each benchmark asked about, and spends nothing.
266
266
  * @param {BenchmarkApiPostBenchmarkRunsRequest} requestParameters Request parameters.
267
267
  * @param {*} [options] Override http request option.
268
268
  * @throws {RequiredError}
269
269
  */
270
- postBenchmarkRuns(requestParameters: BenchmarkApiPostBenchmarkRunsRequest, options?: RawAxiosRequestConfig): AxiosPromise<BenchmarkAdmission>;
270
+ postBenchmarkRuns(requestParameters: BenchmarkApiPostBenchmarkRunsRequest, options?: RawAxiosRequestConfig): AxiosPromise<BenchmarkMeasurements>;
271
271
  };
272
272
  /**
273
273
  * Request parameters for getBenchmarkClaims operation in BenchmarkApi.
@@ -416,8 +416,8 @@ export interface BenchmarkApiPostBenchmarkRunsRequest {
416
416
  */
417
417
  export declare class BenchmarkApi extends BaseAPI {
418
418
  /**
419
- * Is the canonical public benchmarks this arena runs — the id, title, axis, item count and upstream source of each, with native marking the ones the standardized harness runs today; the rest are registered and adapter-pending. These ids are the vocabulary the rest of the surface takes: a run names them, and the leaderboard and compare read them from ?benchmark=. The catalog is deployment-wide and identical for every caller — there is no tenant in it.
420
- * @summary Is the canonical public benchmarks this arena runs — the id, title, axis, item count and upstream source of each, with native marking the ones the standardized harness runs today; the rest are registered and adapter-pending.
419
+ * Is the canonical benchmarks this arena reads — the id, title, axis, item count, upstream source and direction of each, with native marking the ones the standardized harness runs today. The first 14 are the public set every major provider reports; the next 4 are the tests coding agents are judged on — DeepSWE, Terminal-Bench 4.0, SWE-Atlas QnA and SWE-Bench Pro v2 — published as claims; the rest are the Decision Suite, scored by Kai\'s own harness and published as claims citing the research run each number came from. direction is \"higher\" or \"lower\": which way a score improves, and so which way the leaderboard orders its rows. Every score is a percentage; a latency is a fact about serving and lives in the research plane\'s runs, not here. These ids are the vocabulary the rest of the surface takes: a run and a claim name them, and the leaderboard and compare read them from ?benchmark=. The catalog is deployment-wide and identical for every caller — there is no tenant in it.
420
+ * @summary Is the canonical benchmarks this arena reads — the id, title, axis, item count, upstream source and direction of each, with native marking the ones the standardized harness runs today.
421
421
  * @param {*} [options] Override http request option.
422
422
  * @throws {RequiredError}
423
423
  * @memberof BenchmarkApi
@@ -451,7 +451,7 @@ export declare class BenchmarkApi extends BaseAPI {
451
451
  */
452
452
  getBenchmarkHistory(requestParameters?: BenchmarkApiGetBenchmarkHistoryRequest, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<BenchmarkHistoryOut, any, {}>>;
453
453
  /**
454
- * Answers one row per model for the benchmark named — what our own harness measured, beside what the vendor claims, and the gap between them. The gap is the point of the arena; provider-reported claims have run materially hot against one standardized harness. The two planes are NEVER blended, and that is the rule to read the rows by: a model we have measured but no vendor has claimed for shows published null, a model with only a claim shows measured null, and gap exists only where both do. Published, Claims, Spread and Mean read the platform\'s own public claims (org \"admin\") and nothing else, whoever asks. Other orgs\' claims are at /v1/benchmark/claims, labelled, and never on this board. n is coverage and is not decoration: two measured numbers taken over different item counts are not comparable, so read the row\'s n before reading its accuracy.
454
+ * Answers one row per model for the benchmark named — what our own harness measured, beside what the vendor claims, and the gap between them. The gap is the point of the arena; provider-reported claims have run materially hot against one standardized harness. The two planes are NEVER blended, and that is the rule to read the rows by: a model we have measured but no vendor has claimed for shows published null, a model with only a claim shows measured null, and gap exists only where both do. Published, Claims, Spread and Mean read the platform\'s own public claims (org \"admin\") and nothing else, whoever asks. Other orgs\' claims are at /v1/benchmark/claims, labelled, and reach this board only when a SuperAdmin publishes them: writing under org admin, or promoting an org\'s public claims with POST /v1/benchmark/claims/promote, which keeps the org they came from in the row\'s from. Rows are best first. A benchmark whose score improves downward — a false-alarm rate, a share of answers that moved — is ordered lowest first, and the answer says which with direction. n is coverage and is not decoration: two measured numbers taken over different item counts are not comparable, so read the row\'s n before reading its accuracy.
455
455
  * @summary Answers one row per model for the benchmark named — what our own harness measured, beside what the vendor claims, and the gap between them.
456
456
  * @param {BenchmarkApiGetBenchmarkLeaderboardRequest} requestParameters Request parameters.
457
457
  * @param {*} [options] Override http request option.
@@ -460,8 +460,8 @@ export declare class BenchmarkApi extends BaseAPI {
460
460
  */
461
461
  getBenchmarkLeaderboard(requestParameters?: BenchmarkApiGetBenchmarkLeaderboardRequest, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<BenchmarkLeaderboard, any, {}>>;
462
462
  /**
463
- * Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each served by the model layer as enso-<name>. Today it answers exactly one row, the reference blend: a worked example written in models we name, published as an example of the FORM. It is deliberately not the composition of a Hanzo-served tier — the tier name exists to abstract that — so fork it and swap arms by what the leaderboard measures on your own tasks rather than reading it as a disclosure.
464
- * @summary Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each served by the model layer as enso-<name>.
463
+ * Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each named for the model layer as enso-<name>. The first row is the reference blend: a worked example written in models we name, published as an example of the FORM. It is deliberately not the composition of a Hanzo-served tier — the tier name exists to abstract that — so fork it and swap arms by what the leaderboard measures on your own tasks rather than reading it as a disclosure. The rows after it are the caller\'s org\'s stored blends, by name, the latest version of each. Anyone reads the reference; only a member of the org reads the org\'s own, and a SuperAdmin acting in an org it does not belong to reads what a stranger reads.
464
+ * @summary Are the router blends available to compose from — a named set of model arms, the rank they escalate through and the panel width that bounds fan-out — each named for the model layer as enso-<name>.
465
465
  * @param {*} [options] Override http request option.
466
466
  * @throws {RequiredError}
467
467
  * @memberof BenchmarkApi
@@ -477,21 +477,21 @@ export declare class BenchmarkApi extends BaseAPI {
477
477
  */
478
478
  postBenchmarkClaims(requestParameters: BenchmarkApiPostBenchmarkClaimsRequest, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<BenchmarkPutClaimsOut, any, {}>>;
479
479
  /**
480
- * Validates a router blend — its name, its arms, the rank they escalate through and the panel fan-out width — and answers 202 with the preset and the enso-<name> it would be served as. It VALIDATES AND ECHOES: the definition is not persisted yet, so a preset accepted here is not one the model layer will resolve. Treat the response as a check on the blend, not a promise to serve it. Any signed-in caller may compose; a caller with no verified principal is refused 401. Owner is the caller\'s verified org whatever the body says, so a blend is never checked or echoed as another org\'s. Defaults fill the shape rather than refusing it: an omitted rank becomes the arms in declared order and a panel below 1 becomes 1. The one real invariant is that rank may only name arms the blend declares — the same rule the model catalog enforces — and a rank naming anything else is a 422 listing exactly which entries were undeclared. A blend with no name or no arms is a 400.
481
- * @summary Validates a router blend — its name, its arms, the rank they escalate through and the panel fan-out width — and answers 202 with the preset and the enso-<name> it would be served as.
480
+ * Stores a router blend for the caller\'s org — its name, its arms, the rank they escalate through and the panel fan-out width — and answers with the stored blend and the enso-<name> it would be resolved under. Storing is not serving: the model layer resolves no stored preset, and the answer\'s note says so. Any signed-in caller may compose; a caller with no verified principal is refused 401. Owner, At and By are the server\'s, whatever the body says, so a blend is never stored as another org\'s. Posting a name the org already holds replaces that blend; an org holds at most 100 names and stores at most 500 versions per UTC day (429 past that). Defaults fill the shape rather than refusing it: an omitted rank becomes the arms in declared order and a panel below 1 becomes 1. A blend with no name or no arms is a 400. A name is the part after enso-: 1 to 64 lowercase letters, digits and inner hyphens, never one of Hanzo\'s own tiers (auto, flash, pro, ultra, free, embed) and never beginning with enso-, or it is a 422. So is a blend of more than 32 arms, an arm named twice or past 128 characters, a rank naming an arm the blend does not declare, a panel wider than the rank, or a note past 1024 characters.
481
+ * @summary Stores a router blend for the caller\'s org — its name, its arms, the rank they escalate through and the panel fan-out width — and answers with the stored blend and the enso-<name> it would be resolved under.
482
482
  * @param {BenchmarkApiPostBenchmarkPresetsRequest} requestParameters Request parameters.
483
483
  * @param {*} [options] Override http request option.
484
484
  * @throws {RequiredError}
485
485
  * @memberof BenchmarkApi
486
486
  */
487
- postBenchmarkPresets(requestParameters: BenchmarkApiPostBenchmarkPresetsRequest, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<BenchmarkPresetAccepted, any, {}>>;
487
+ postBenchmarkPresets(requestParameters: BenchmarkApiPostBenchmarkPresetsRequest, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<BenchmarkPresetStored, any, {}>>;
488
488
  /**
489
- * Admits and queues a benchmark run against a model or your own endpoint, and answers 202 with the receipt. It is an ADMISSION, not a result: the work is done by the harness afterwards and the numbers appear on the leaderboard as it completes them. Any signed-in caller may ask; a caller with no verified principal is refused 401. The receipt names the caller\'s verified org and user — nothing in the body names either — and stores nothing. Cost is bounded by the store rather than by a quota: attempts are append-only and keyed by (benchmark, item, model), so an (item, model) pair already attempted is skipped instead of re-spent, and re-queuing the same run is close to free. Validation is up front and total — a request with neither model nor endpoint is a 400, one with no benchmarks is a 400, and any benchmark id outside the catalog is a 422 naming exactly which ids were unknown, so a typo never silently queues a partial run.
490
- * @summary Admits and queues a benchmark run against a model or your own endpoint, and answers 202 with the receipt.
489
+ * Answers what the arena already holds for a model on each benchmark asked about, and spends nothing. For a benchmark the store holds attempts for, the answer is the model\'s latest run — its id, when it was recorded, its accuracy and how many items it covered — served from the attempts already recorded. A measurement held is never run again from here. For a benchmark it holds none for, nothing is queued, because this arena has no executor: the answer says so and names the harness that measures the benchmark, or, where none here does, the import a published run\'s items take. There is no flag to force a run, because nothing here would act on it. Any signed-in caller may ask; a caller with no verified principal is refused 401. The answer names the caller\'s verified org and user — nothing in the body names either — and stores nothing. Validation is up front and total — a request with no model is a 400, one with no benchmarks is a 400, and any benchmark id outside the catalog is a 422 naming exactly which ids were unknown.
490
+ * @summary Answers what the arena already holds for a model on each benchmark asked about, and spends nothing.
491
491
  * @param {BenchmarkApiPostBenchmarkRunsRequest} requestParameters Request parameters.
492
492
  * @param {*} [options] Override http request option.
493
493
  * @throws {RequiredError}
494
494
  * @memberof BenchmarkApi
495
495
  */
496
- postBenchmarkRuns(requestParameters: BenchmarkApiPostBenchmarkRunsRequest, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<BenchmarkAdmission, any, {}>>;
496
+ postBenchmarkRuns(requestParameters: BenchmarkApiPostBenchmarkRunsRequest, options?: RawAxiosRequestConfig): Promise<globalAxios.AxiosResponse<BenchmarkMeasurements, any, {}>>;
497
497
  }