@littlebigbrain/client 0.4.0 → 0.4.1

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 (2) hide show
  1. package/dist/schema.d.ts +2292 -269
  2. package/package.json +1 -1
package/dist/schema.d.ts CHANGED
@@ -719,6 +719,24 @@ export interface paths {
719
719
  patch?: never;
720
720
  trace?: never;
721
721
  };
722
+ "/v1/index/jobs": {
723
+ parameters: {
724
+ query?: never;
725
+ header?: never;
726
+ path?: never;
727
+ cookie?: never;
728
+ };
729
+ /** Poll a graph-scoped index job for progress, terminal error, and per-family coverage */
730
+ get: operations["get_v1_index_jobs"];
731
+ put?: never;
732
+ /** Idempotently enqueue a durable full-index job with typed per-family terminal status */
733
+ post: operations["post_v1_index_jobs"];
734
+ delete?: never;
735
+ options?: never;
736
+ head?: never;
737
+ patch?: never;
738
+ trace?: never;
739
+ };
722
740
  "/v1/index/run": {
723
741
  parameters: {
724
742
  query?: never;
@@ -1043,6 +1061,24 @@ export interface paths {
1043
1061
  patch?: never;
1044
1062
  trace?: never;
1045
1063
  };
1064
+ "/v1/models/train-jobs": {
1065
+ parameters: {
1066
+ query?: never;
1067
+ header?: never;
1068
+ path?: never;
1069
+ cookie?: never;
1070
+ };
1071
+ /** Read durable trainer job state, progress, terminal error, and the full gated training result */
1072
+ get: operations["get_v1_models_train_jobs"];
1073
+ put?: never;
1074
+ /** Idempotently enqueue a durable background trainer job; reconnect through the returned stable job id */
1075
+ post: operations["post_v1_models_train_jobs"];
1076
+ delete?: never;
1077
+ options?: never;
1078
+ head?: never;
1079
+ patch?: never;
1080
+ trace?: never;
1081
+ };
1046
1082
  "/v1/models/train-tick": {
1047
1083
  parameters: {
1048
1084
  query?: never;
@@ -1129,6 +1165,75 @@ export interface paths {
1129
1165
  patch?: never;
1130
1166
  trace?: never;
1131
1167
  };
1168
+ "/v1/ontology/drafts": {
1169
+ parameters: {
1170
+ query?: never;
1171
+ header?: never;
1172
+ path?: never;
1173
+ cookie?: never;
1174
+ };
1175
+ /** Read a durable ontology review artifact */
1176
+ get: operations["get_v1_ontology_drafts"];
1177
+ put?: never;
1178
+ /** Create a deterministic, snapshot-pinned ontology proposal from connector samples without inserting those samples */
1179
+ post: operations["post_v1_ontology_drafts"];
1180
+ delete?: never;
1181
+ options?: never;
1182
+ head?: never;
1183
+ patch?: never;
1184
+ trace?: never;
1185
+ };
1186
+ "/v1/ontology/drafts/promote": {
1187
+ parameters: {
1188
+ query?: never;
1189
+ header?: never;
1190
+ path?: never;
1191
+ cookie?: never;
1192
+ };
1193
+ get?: never;
1194
+ put?: never;
1195
+ /** Atomically publish a validated ontology draft; requires Idempotency-Key */
1196
+ post: operations["post_v1_ontology_drafts_promote"];
1197
+ delete?: never;
1198
+ options?: never;
1199
+ head?: never;
1200
+ patch?: never;
1201
+ trace?: never;
1202
+ };
1203
+ "/v1/ontology/drafts/reject": {
1204
+ parameters: {
1205
+ query?: never;
1206
+ header?: never;
1207
+ path?: never;
1208
+ cookie?: never;
1209
+ };
1210
+ get?: never;
1211
+ put?: never;
1212
+ /** Reject a reviewable ontology draft without changing the graph ontology */
1213
+ post: operations["post_v1_ontology_drafts_reject"];
1214
+ delete?: never;
1215
+ options?: never;
1216
+ head?: never;
1217
+ patch?: never;
1218
+ trace?: never;
1219
+ };
1220
+ "/v1/ontology/drafts/validate": {
1221
+ parameters: {
1222
+ query?: never;
1223
+ header?: never;
1224
+ path?: never;
1225
+ cookie?: never;
1226
+ };
1227
+ get?: never;
1228
+ put?: never;
1229
+ /** Revalidate the exact proposed operations at the draft's pinned graph snapshot */
1230
+ post: operations["post_v1_ontology_drafts_validate"];
1231
+ delete?: never;
1232
+ options?: never;
1233
+ head?: never;
1234
+ patch?: never;
1235
+ trace?: never;
1236
+ };
1132
1237
  "/v1/ontology/evolve": {
1133
1238
  parameters: {
1134
1239
  query?: never;
@@ -1138,7 +1243,7 @@ export interface paths {
1138
1243
  };
1139
1244
  get?: never;
1140
1245
  put?: never;
1141
- /** Evolve the scoped graph's ontology with additive changes (widen relation domains/ranges, add entity types); bumps the ontology version, preserving every existing record */
1246
+ /** Evolve the scoped graph's ontology with ordered operations, or preview the exact diff, conflicts, and resulting version without mutation */
1142
1247
  post: operations["post_v1_ontology_evolve"];
1143
1248
  delete?: never;
1144
1249
  options?: never;
@@ -1214,6 +1319,23 @@ export interface paths {
1214
1319
  patch?: never;
1215
1320
  trace?: never;
1216
1321
  };
1322
+ "/v1/query/conflicts": {
1323
+ parameters: {
1324
+ query?: never;
1325
+ header?: never;
1326
+ path?: never;
1327
+ cookie?: never;
1328
+ };
1329
+ get?: never;
1330
+ put?: never;
1331
+ /** ACL-first snapshot aggregation returning only keys with multiple distinct values and bounded evidence entity ids */
1332
+ post: operations["post_v1_query_conflicts"];
1333
+ delete?: never;
1334
+ options?: never;
1335
+ head?: never;
1336
+ patch?: never;
1337
+ trace?: never;
1338
+ };
1217
1339
  "/v1/query/history": {
1218
1340
  parameters: {
1219
1341
  query?: never;
@@ -1486,6 +1608,23 @@ export interface paths {
1486
1608
  patch?: never;
1487
1609
  trace?: never;
1488
1610
  };
1611
+ "/v1/search/feedback/summary": {
1612
+ parameters: {
1613
+ query?: never;
1614
+ header?: never;
1615
+ path?: never;
1616
+ cookie?: never;
1617
+ };
1618
+ /** Read constant-size feedback counts and promoted-model status */
1619
+ get: operations["get_v1_search_feedback_summary"];
1620
+ put?: never;
1621
+ post?: never;
1622
+ delete?: never;
1623
+ options?: never;
1624
+ head?: never;
1625
+ patch?: never;
1626
+ trace?: never;
1627
+ };
1489
1628
  "/v1/search/full-text": {
1490
1629
  parameters: {
1491
1630
  query?: never;
@@ -1695,6 +1834,98 @@ export interface paths {
1695
1834
  export type webhooks = Record<string, never>;
1696
1835
  export interface components {
1697
1836
  schemas: {
1837
+ /**
1838
+ * @description Declare a new entity type. Idempotent: a no-op if the name already exists.
1839
+ * Pair with `widen_relation` (in the same request, ordered before it) to add
1840
+ * a brand-new type to an existing relation's domain or range.
1841
+ */
1842
+ AddEntityTypeOp: {
1843
+ /** @description Display name of the new entity type. */
1844
+ name: string;
1845
+ /**
1846
+ * @description discriminator enum property added by openapi-typescript
1847
+ * @enum {string}
1848
+ */
1849
+ op: "add_entity_type";
1850
+ };
1851
+ /**
1852
+ * @description Declare a new typed scalar property field (e.g. `status`, `dueDate`,
1853
+ * `budget`) so a commit's `entity_properties` can write it on a live graph.
1854
+ * Additive: every existing record stays valid and no migration is needed.
1855
+ * Unlike `define_ontology` (which recreates the graph ontology), this bumps
1856
+ * the ontology version and registers just the field. Idempotent — a no-op
1857
+ * if a field with this name already exists (the existing type is kept).
1858
+ */
1859
+ AddPropertyOp: {
1860
+ /**
1861
+ * @description Optional **enforced** allowed-value set (a SHACL `sh:in`): a commit
1862
+ * whose value for this field is outside the set is rejected at write
1863
+ * time, so a controlled vocabulary is a one-line declaration instead of
1864
+ * a separate shapes graph. Only for enumerable types
1865
+ * (`keyword`/`text`/`i64`/`bool`); rejected on `f64`/`date_time`/`bytes`.
1866
+ * Use `set_property_constraint` to tighten an existing field.
1867
+ */
1868
+ allowed_values?: string[];
1869
+ /**
1870
+ * @description Display name of the new property field (case-insensitive; a commit's
1871
+ * `entity_properties[].field` resolves to it).
1872
+ */
1873
+ name: string;
1874
+ /**
1875
+ * @description discriminator enum property added by openapi-typescript
1876
+ * @enum {string}
1877
+ */
1878
+ op: "add_property";
1879
+ /** @description Advisory required flag recorded on the field (not enforced on commit). */
1880
+ required?: boolean;
1881
+ /**
1882
+ * @description `bool` | `i64` | `f64` | `date_time` | `keyword` | `text` (default) |
1883
+ * `bytes`. The commit path rejects values whose type doesn't match.
1884
+ */
1885
+ value_type?: string | null;
1886
+ };
1887
+ /**
1888
+ * @description Declare a new relation type (e.g. `HAS_PHASE`, `ASSIGNED_TO`) with its own
1889
+ * domain and range, by name. The named domain/range entity types must
1890
+ * already exist (add them earlier in the same request with `add_entity_type`
1891
+ * if new). Idempotent: a no-op if a relation with this name already exists —
1892
+ * use `widen_relation` to grow an existing relation's domain/range. Optional
1893
+ * fields default exactly as the ontology spec importer does.
1894
+ */
1895
+ AddRelationOp: {
1896
+ /** @description `one_to_one` | `one_to_many` | `many_to_one` | `many_to_many` (default). */
1897
+ cardinality?: string | null;
1898
+ /** @description Entity-type names allowed as the source (domain). */
1899
+ domain?: string[];
1900
+ /** @description Optional inverse-relation display name. */
1901
+ inverse_name?: string | null;
1902
+ /** @description Display name of the new relation. */
1903
+ name: string;
1904
+ /**
1905
+ * @description discriminator enum property added by openapi-typescript
1906
+ * @enum {string}
1907
+ */
1908
+ op: "add_relation";
1909
+ /** @description Entity-type names allowed as the target (range). */
1910
+ range?: string[];
1911
+ /**
1912
+ * @description State-reducer token (e.g. `append_only` (default), `latest_wins`,
1913
+ * `valid_time_latest_wins`).
1914
+ */
1915
+ reducer?: string | null;
1916
+ /** @description Whether the relation is symmetric (default false). */
1917
+ symmetric?: boolean;
1918
+ /** @description `atemporal` | `valid_time` | `commit_time` | `bitemporal` (default). */
1919
+ temporal_semantics?: string | null;
1920
+ /** @description Whether the relation is transitive (default false). */
1921
+ transitive?: boolean;
1922
+ };
1923
+ /** @description Governed proposal operation restricted to additive ontology changes. */
1924
+ AdditiveOntologyEvolveOp: components["schemas"]["WidenRelationOp"] | components["schemas"]["AddEntityTypeOp"] | components["schemas"]["AddRelationOp"] | components["schemas"]["AddPropertyOp"];
1925
+ /** @description Additive-only ontology proposal helper for structured-output systems. */
1926
+ AdditiveOntologyEvolveRequest: {
1927
+ ops: components["schemas"]["AdditiveOntologyEvolveOp"][];
1928
+ };
1698
1929
  AmbiguousTerm: {
1699
1930
  candidates: components["schemas"]["ResolutionAlternative"][];
1700
1931
  raw: string;
@@ -2421,7 +2652,7 @@ export interface components {
2421
2652
  spaces: components["schemas"]["EmbeddingIndexSpaceView"][];
2422
2653
  };
2423
2654
  /** @enum {string} */
2424
- EmbeddingIndexSource: "ephemeral" | "persisted";
2655
+ EmbeddingIndexSource: "ephemeral" | "persisted" | "persisted_only";
2425
2656
  EmbeddingIndexSpaceView: {
2426
2657
  cluster_count: number;
2427
2658
  clusters: components["schemas"]["EmbeddingIndexClusterView"][];
@@ -2908,7 +3139,7 @@ export interface components {
2908
3139
  tokenizer: components["schemas"]["FullTextTokenizerConfig"];
2909
3140
  };
2910
3141
  /** @enum {string} */
2911
- FullTextIndexSource: "ephemeral" | "persisted";
3142
+ FullTextIndexSource: "ephemeral" | "persisted" | "persisted_only";
2912
3143
  FullTextSearchExplain: {
2913
3144
  candidates: number;
2914
3145
  document_count: number;
@@ -2998,6 +3229,38 @@ export interface components {
2998
3229
  run: number;
2999
3230
  weights: components["schemas"]["SearchSignalWeights"];
3000
3231
  };
3232
+ /**
3233
+ * @description Snapshot-pinned governed fact-conflict aggregation. Authorization is a
3234
+ * required filter and is evaluated before any grouping or value collection.
3235
+ */
3236
+ GovernedConflictAggregationRequest: {
3237
+ /** Format: int64 */
3238
+ as_of_commit_seq?: number | null;
3239
+ entity_type: string;
3240
+ key_fields: string[];
3241
+ limit?: number;
3242
+ max_entities_scanned?: number;
3243
+ max_evidence_per_group?: number;
3244
+ value_field: string;
3245
+ visibility_filter: components["schemas"]["SearchFilterExpr"];
3246
+ };
3247
+ GovernedConflictAggregationResponse: {
3248
+ authorized_entities: number;
3249
+ entities_scanned: number;
3250
+ grouped_entities: number;
3251
+ groups: components["schemas"]["GovernedConflictGroup"][];
3252
+ snapshot: components["schemas"]["SnapshotView"];
3253
+ /** @description Scan or output-group ceiling made the result incomplete. */
3254
+ truncated: boolean;
3255
+ };
3256
+ GovernedConflictGroup: {
3257
+ distinct_values: unknown[];
3258
+ evidence_entity_ids: components["schemas"]["EntityId"][];
3259
+ evidence_truncated: boolean;
3260
+ keys: {
3261
+ [key: string]: unknown;
3262
+ };
3263
+ };
3001
3264
  /**
3002
3265
  * @description A structural co-bind constraint: restrict (or boost) the text/vector
3003
3266
  * candidates to entities within an anchor entity's relation-neighborhood. This
@@ -3949,6 +4212,11 @@ export interface components {
3949
4212
  recipe_id: string;
3950
4213
  signature?: null | components["schemas"]["ModelSignature"];
3951
4214
  snapshot_token: string;
4215
+ /**
4216
+ * @description Durable background job that produced this run. The server assigns this
4217
+ * from the queue's stable job ID so redelivery returns the same run.
4218
+ */
4219
+ source_job_id?: string | null;
3952
4220
  /**
3953
4221
  * Format: int64
3954
4222
  * @description The snapshot the run was derived from. Trainers MUST train on data
@@ -4068,6 +4336,22 @@ export interface components {
4068
4336
  name: string;
4069
4337
  type: string;
4070
4338
  };
4339
+ /**
4340
+ * @description Remove entity types from a relation's domain and/or range (a subtractive
4341
+ * change). Conflicts when current edges of the relation already use a
4342
+ * removed source/target type — those edges stay (append-only) but begin to
4343
+ * warn. Blocked unless `allow_data_conflicts` is set on the request.
4344
+ */
4345
+ NarrowRelationOp: {
4346
+ /**
4347
+ * @description discriminator enum property added by openapi-typescript
4348
+ * @enum {string}
4349
+ */
4350
+ op: "narrow_relation";
4351
+ relation: string;
4352
+ remove_domain?: string[];
4353
+ remove_range?: string[];
4354
+ };
4071
4355
  /**
4072
4356
  * @description Whether the graph's own entities are retrievable by their names — a proxy
4073
4357
  * for "will narrowing/retrieval carry". Computed by self-querying a sample and
@@ -4196,6 +4480,10 @@ export interface components {
4196
4480
  /** @description Optional RFC 3339 timestamp of the turn. */
4197
4481
  ts?: string | null;
4198
4482
  };
4483
+ OntologyCompetencyQuestion: {
4484
+ id: string;
4485
+ question: string;
4486
+ };
4199
4487
  /**
4200
4488
  * @description A current-data conflict found while previewing a subtractive ontology change.
4201
4489
  * Reported back so the caller can decide whether to re-run with
@@ -4217,6 +4505,17 @@ export interface components {
4217
4505
  /** @description `class:<stable_id>` or `relation:<stable_id>` the conflict is about. */
4218
4506
  subject: string;
4219
4507
  };
4508
+ OntologyCqAnalysis: {
4509
+ covered: boolean;
4510
+ id: string;
4511
+ interpretation: string;
4512
+ object: string;
4513
+ predicate: string;
4514
+ query_outline: string;
4515
+ required_elements: string[];
4516
+ selected_pattern?: string | null;
4517
+ subject: string;
4518
+ };
4220
4519
  /**
4221
4520
  * @description Define a custom ontology for the scoped graph before its first commit.
4222
4521
  * Imports `source` (any [`crate`]-supported format), optionally merges the
@@ -4248,6 +4547,40 @@ export interface components {
4248
4547
  relations: components["schemas"]["OntologyTermView"][];
4249
4548
  warnings: string[];
4250
4549
  };
4550
+ /** @description Durable, portable ontology review artifact owned by the graph database. */
4551
+ OntologyDraft: {
4552
+ /** Format: int64 */
4553
+ base_ontology_version: number;
4554
+ base_snapshot: components["schemas"]["SnapshotView"];
4555
+ /** Format: float */
4556
+ confidence: number;
4557
+ cq_analyses: components["schemas"]["OntologyCqAnalysis"][];
4558
+ /** Format: float */
4559
+ cq_coverage: number;
4560
+ draft_id: string;
4561
+ evidence_refs: string[];
4562
+ graph: components["schemas"]["GraphKey"];
4563
+ /** Format: int64 */
4564
+ promoted_ontology_version?: number | null;
4565
+ proposed_ops: components["schemas"]["OntologyEvolveOp"][];
4566
+ rejection_reason?: string | null;
4567
+ request: components["schemas"]["OntologyDraftCreateRequest"];
4568
+ status: components["schemas"]["OntologyDraftStatus"];
4569
+ structural_pitfalls: string[];
4570
+ /** Format: float */
4571
+ superfluous_element_rate: number;
4572
+ validation?: null | components["schemas"]["OntologyEvolveResponse"];
4573
+ };
4574
+ /** @description Create a reviewable induction artifact without inserting samples into the graph. */
4575
+ OntologyDraftCreateRequest: {
4576
+ competency_questions?: components["schemas"]["OntologyCompetencyQuestion"][];
4577
+ connector_name: string;
4578
+ samples: components["schemas"]["OntologyEvidenceSample"][];
4579
+ selected_patterns?: string[];
4580
+ user_stories?: string[];
4581
+ };
4582
+ /** @enum {string} */
4583
+ OntologyDraftStatus: "draft" | "validated" | "promoted" | "rejected";
4251
4584
  /** @description The full definition of one entity type (class) in the active ontology. */
4252
4585
  OntologyEntityTypeView: {
4253
4586
  name: string;
@@ -4259,6 +4592,15 @@ export interface components {
4259
4592
  /** Format: int64 */
4260
4593
  since_version: number;
4261
4594
  };
4595
+ OntologyEvidenceSample: {
4596
+ /** @description Stable connector/source reference; sample content is never used as identity. */
4597
+ evidence_ref: string;
4598
+ /**
4599
+ * @description Representative connector record. Objects enable deterministic property
4600
+ * inference; other JSON values remain evidence examples.
4601
+ */
4602
+ record: unknown;
4603
+ };
4262
4604
  /**
4263
4605
  * @description One additive ontology change for [`OntologyEvolveRequest`]. Additive by
4264
4606
  * construction — it widens a relation's domain/range or declares a new entity
@@ -4267,117 +4609,14 @@ export interface components {
4267
4609
  * the supported "ontology evolution" path; identity-breaking changes (removals,
4268
4610
  * narrowing) still require an explicit expand→migrate→contract plan.
4269
4611
  */
4270
- OntologyEvolveOp: {
4271
- /** @description Entity-type names to add to the relation's domain (source types). */
4272
- add_domain?: string[];
4273
- /** @description Entity-type names to add to the relation's range (target types). */
4274
- add_range?: string[];
4275
- /** @enum {string} */
4276
- op: "widen_relation";
4277
- /** @description Relation to widen, by name (case-insensitive). */
4278
- relation: string;
4279
- } | {
4280
- /** @description Display name of the new entity type. */
4281
- name: string;
4282
- /** @enum {string} */
4283
- op: "add_entity_type";
4284
- } | {
4285
- /** @description `one_to_one` | `one_to_many` | `many_to_one` | `many_to_many` (default). */
4286
- cardinality?: string | null;
4287
- /** @description Entity-type names allowed as the source (domain). */
4288
- domain?: string[];
4289
- /** @description Optional inverse-relation display name. */
4290
- inverse_name?: string | null;
4291
- /** @description Display name of the new relation. */
4292
- name: string;
4293
- /** @enum {string} */
4294
- op: "add_relation";
4295
- /** @description Entity-type names allowed as the target (range). */
4296
- range?: string[];
4297
- /**
4298
- * @description State-reducer token (e.g. `append_only` (default), `latest_wins`,
4299
- * `valid_time_latest_wins`).
4300
- */
4301
- reducer?: string | null;
4302
- /** @description Whether the relation is symmetric (default false). */
4303
- symmetric?: boolean;
4304
- /** @description `atemporal` | `valid_time` | `commit_time` | `bitemporal` (default). */
4305
- temporal_semantics?: string | null;
4306
- /** @description Whether the relation is transitive (default false). */
4307
- transitive?: boolean;
4308
- } | {
4309
- /**
4310
- * @description Optional **enforced** allowed-value set (a SHACL `sh:in`): a commit
4311
- * whose value for this field is outside the set is rejected at write
4312
- * time, so a controlled vocabulary is a one-line declaration instead of
4313
- * a separate shapes graph. Only for enumerable types
4314
- * (`keyword`/`text`/`i64`/`bool`); rejected on `f64`/`date_time`/`bytes`.
4315
- * Use `set_property_constraint` to tighten an existing field.
4316
- */
4317
- allowed_values?: string[];
4318
- /**
4319
- * @description Display name of the new property field (case-insensitive; a commit's
4320
- * `entity_properties[].field` resolves to it).
4321
- */
4322
- name: string;
4323
- /** @enum {string} */
4324
- op: "add_property";
4325
- /** @description Advisory required flag recorded on the field (not enforced on commit). */
4326
- required?: boolean;
4327
- /**
4328
- * @description `bool` | `i64` | `f64` | `date_time` | `keyword` | `text` (default) |
4329
- * `bytes`. The commit path rejects values whose type doesn't match.
4330
- */
4331
- value_type?: string | null;
4332
- } | {
4333
- /** @description Canonical allowed values; empty clears the constraint. */
4334
- allowed_values?: string[];
4335
- /** @enum {string} */
4336
- op: "set_property_constraint";
4337
- /** @description Name of the existing property field to constrain. */
4338
- property: string;
4339
- } | {
4340
- from: string;
4341
- /** @enum {string} */
4342
- op: "rename_entity_type";
4343
- to: string;
4344
- } | {
4345
- from: string;
4346
- /** @enum {string} */
4347
- op: "rename_relation";
4348
- to: string;
4349
- } | {
4350
- inverse_name: string;
4351
- /** @enum {string} */
4352
- op: "set_relation_inverse";
4353
- relation: string;
4354
- } | {
4355
- cardinality: string;
4356
- /** @enum {string} */
4357
- op: "set_relation_cardinality";
4358
- relation: string;
4359
- } | {
4360
- /** @enum {string} */
4361
- op: "narrow_relation";
4362
- relation: string;
4363
- remove_domain?: string[];
4364
- remove_range?: string[];
4365
- } | {
4366
- name: string;
4367
- /** @enum {string} */
4368
- op: "remove_entity_type";
4369
- } | {
4370
- name: string;
4371
- /** @enum {string} */
4372
- op: "remove_relation";
4373
- };
4374
- /**
4375
- * @description Apply a list of additive ontology changes in order, writing a new ontology
4376
- * version when anything actually changes. Ops are applied against the
4377
- * in-progress ontology, so an `add_entity_type` earlier in the list is visible
4378
- * to a later `widen_relation`.
4379
- */
4380
- OntologyEvolveRequest: {
4612
+ OntologyEvolveOp: components["schemas"]["WidenRelationOp"] | components["schemas"]["AddEntityTypeOp"] | components["schemas"]["AddRelationOp"] | components["schemas"]["AddPropertyOp"] | components["schemas"]["SetPropertyConstraintOp"] | components["schemas"]["RenameEntityTypeOp"] | components["schemas"]["RenameRelationOp"] | components["schemas"]["SetRelationInverseOp"] | components["schemas"]["SetRelationCardinalityOp"] | components["schemas"]["NarrowRelationOp"] | components["schemas"]["RemoveEntityTypeOp"] | components["schemas"]["RemoveRelationOp"];
4613
+ /**
4614
+ * @description Apply a list of additive ontology changes in order, writing a new ontology
4615
+ * version when anything actually changes. Ops are applied against the
4616
+ * in-progress ontology, so an `add_entity_type` earlier in the list is visible
4617
+ * to a later `widen_relation`.
4618
+ */
4619
+ OntologyEvolveRequest: {
4381
4620
  /**
4382
4621
  * @description Allow subtractive ops (narrow/remove) to apply even when current data
4383
4622
  * conflicts. The affected records are never rewritten or dropped — they stay
@@ -4402,14 +4641,29 @@ export interface components {
4402
4641
  * `ontology_version` is unchanged.
4403
4642
  */
4404
4643
  conflicts?: components["schemas"]["OntologyConflict"][];
4644
+ /**
4645
+ * @description True when this response came from `?dry_run=true` and no ontology object
4646
+ * or graph-head update was written.
4647
+ */
4648
+ dry_run: boolean;
4405
4649
  graph: components["schemas"]["GraphKey"];
4406
4650
  messages: string[];
4651
+ /**
4652
+ * @description Every requested operation was already satisfied, so publishing would not
4653
+ * create a new ontology version.
4654
+ */
4655
+ no_op: boolean;
4407
4656
  /**
4408
4657
  * Format: int64
4409
- * @description Active version after the call. Equal to `base_ontology_version` when the
4410
- * request was a no-op (every change already satisfied).
4658
+ * @description Active version after a publish, or the predicted resulting version for a
4659
+ * dry run. Equal to `base_ontology_version` for a no-op or blocked preview.
4411
4660
  */
4412
4661
  ontology_version: number;
4662
+ /**
4663
+ * @description Whether the exact request can be published. False for a data-conflicting
4664
+ * subtractive preview unless `allow_data_conflicts` was explicitly set.
4665
+ */
4666
+ publishable: boolean;
4413
4667
  };
4414
4668
  /**
4415
4669
  * @description Bounded request for embedding-cluster ontology induction (roadmap item 12):
@@ -4935,6 +5189,19 @@ export interface components {
4935
5189
  truncated_by_block_byte_budget: boolean;
4936
5190
  truncated_by_fetched_byte_budget?: boolean;
4937
5191
  };
5192
+ /** @description JSON envelope returned by `GET /v1/graph/export/rdf?truncate=true`. */
5193
+ RdfExportPreviewResponse: {
5194
+ /**
5195
+ * @description RDF serialization (Turtle, N-Triples, TriG, or N-Quads) encoded as a JSON
5196
+ * string so the preview metadata stays in one typed response.
5197
+ */
5198
+ data: string;
5199
+ format: string;
5200
+ returned_triples: number;
5201
+ snapshot: components["schemas"]["SnapshotView"];
5202
+ total_triples: number;
5203
+ truncated: boolean;
5204
+ };
4938
5205
  RelationSearchResult: {
4939
5206
  name: string;
4940
5207
  relation_id: components["schemas"]["RelationTypeId"];
@@ -4956,6 +5223,63 @@ export interface components {
4956
5223
  snapshot: components["schemas"]["SnapshotView"];
4957
5224
  source: components["schemas"]["EntityView"];
4958
5225
  };
5226
+ /**
5227
+ * @description Tombstone an entity type: existing records of the type stay readable
5228
+ * (the def is retained, so they still resolve), but it is rejected for new
5229
+ * commits. Conflicts when current entities of the type exist; blocked unless
5230
+ * `allow_data_conflicts` is set.
5231
+ */
5232
+ RemoveEntityTypeOp: {
5233
+ name: string;
5234
+ /**
5235
+ * @description discriminator enum property added by openapi-typescript
5236
+ * @enum {string}
5237
+ */
5238
+ op: "remove_entity_type";
5239
+ };
5240
+ /**
5241
+ * @description Tombstone a relation: existing edges stay readable but it is rejected for
5242
+ * new commits. Conflicts when current edges use it; blocked unless
5243
+ * `allow_data_conflicts` is set.
5244
+ */
5245
+ RemoveRelationOp: {
5246
+ name: string;
5247
+ /**
5248
+ * @description discriminator enum property added by openapi-typescript
5249
+ * @enum {string}
5250
+ */
5251
+ op: "remove_relation";
5252
+ };
5253
+ /**
5254
+ * @description Rename an entity type's display name. The frozen cross-version stable id
5255
+ * is unchanged, so every existing record keeps resolving (now to the new
5256
+ * name) and entity identity is preserved — only the display name and
5257
+ * future commits-by-name change. Errors if `to` already names a different
5258
+ * type. A no-op if the type is already named `to`.
5259
+ */
5260
+ RenameEntityTypeOp: {
5261
+ from: string;
5262
+ /**
5263
+ * @description discriminator enum property added by openapi-typescript
5264
+ * @enum {string}
5265
+ */
5266
+ op: "rename_entity_type";
5267
+ to: string;
5268
+ };
5269
+ /**
5270
+ * @description Rename a relation's display name (stable id frozen; existing edges keep
5271
+ * resolving to the new name). Errors on a collision with a different
5272
+ * relation; a no-op if already named `to`.
5273
+ */
5274
+ RenameRelationOp: {
5275
+ from: string;
5276
+ /**
5277
+ * @description discriminator enum property added by openapi-typescript
5278
+ * @enum {string}
5279
+ */
5280
+ op: "rename_relation";
5281
+ to: string;
5282
+ };
4959
5283
  ResolutionAlternative: {
4960
5284
  /** Format: float */
4961
5285
  confidence: number;
@@ -5469,6 +5793,12 @@ export interface components {
5469
5793
  */
5470
5794
  target_missing?: boolean;
5471
5795
  };
5796
+ SearchFeedbackGradeCounts: {
5797
+ grade_0: number;
5798
+ grade_1: number;
5799
+ grade_2: number;
5800
+ grade_3: number;
5801
+ };
5472
5802
  SearchFeedbackLabel: {
5473
5803
  /** Format: int32 */
5474
5804
  grade: number;
@@ -5488,6 +5818,11 @@ export interface components {
5488
5818
  split?: components["schemas"]["SearchFeedbackSplit"];
5489
5819
  target: components["schemas"]["SearchFeedbackTarget"];
5490
5820
  };
5821
+ SearchFeedbackPromotedModel: {
5822
+ kind: string;
5823
+ /** Format: int64 */
5824
+ run: number;
5825
+ };
5491
5826
  SearchFeedbackRequest: {
5492
5827
  labeler_id?: string | null;
5493
5828
  labels: components["schemas"]["SearchFeedbackLabel"][];
@@ -5502,10 +5837,44 @@ export interface components {
5502
5837
  commit_seq: components["schemas"]["CommitSeq"];
5503
5838
  feedback_graph: components["schemas"]["GraphKey"];
5504
5839
  idempotent_replay: boolean;
5840
+ /**
5841
+ * @description Accepted labels that cannot currently produce a training-export row.
5842
+ * This is an explicit warning signal: the append-only audit event is kept,
5843
+ * but a trainer will exclude it until that target kind is supported.
5844
+ */
5845
+ untrainable_labels?: number;
5505
5846
  visibility_token: string;
5506
5847
  };
5507
5848
  /** @enum {string} */
5508
5849
  SearchFeedbackSplit: "train" | "eval" | "unspecified";
5850
+ SearchFeedbackSplitCounts: {
5851
+ eval: number;
5852
+ train: number;
5853
+ };
5854
+ /**
5855
+ * @description Constant-size administration view over the feedback ledger. Unlike the
5856
+ * qrels export this never returns label or impression rows.
5857
+ */
5858
+ SearchFeedbackSummaryResponse: {
5859
+ deduped_events: number;
5860
+ excluded_targets: number;
5861
+ feedback_graph: components["schemas"]["GraphKey"];
5862
+ grades: components["schemas"]["SearchFeedbackGradeCounts"];
5863
+ graph: components["schemas"]["GraphKey"];
5864
+ /** Format: int64 */
5865
+ latest_label_micros?: number | null;
5866
+ /**
5867
+ * Format: int64
5868
+ * @description Append-only event count for polling. Exact unless `truncated` is true;
5869
+ * idempotent replays do not advance it and retractions do.
5870
+ */
5871
+ latest_label_sequence: number;
5872
+ objects_scanned: number;
5873
+ promoted_models: components["schemas"]["SearchFeedbackPromotedModel"][];
5874
+ raw_events: number;
5875
+ splits: components["schemas"]["SearchFeedbackSplitCounts"];
5876
+ truncated: boolean;
5877
+ };
5509
5878
  SearchFeedbackTarget: {
5510
5879
  entity: components["schemas"]["EntitySelector"];
5511
5880
  /** @enum {string} */
@@ -5637,6 +6006,22 @@ export interface components {
5637
6006
  objects_written: number;
5638
6007
  skipped: boolean;
5639
6008
  };
6009
+ /** @description Durable background full-index job status with per-family terminal result. */
6010
+ SearchIndexJobStatusResponse: {
6011
+ /** Format: int32 */
6012
+ attempts: number;
6013
+ /** Format: int64 */
6014
+ enqueued_at_micros: number;
6015
+ graph: components["schemas"]["GraphKey"];
6016
+ job_id: string;
6017
+ result?: null | components["schemas"]["SearchIndexRunResponse"];
6018
+ stage?: string | null;
6019
+ /** @description `pending` | `running` | `succeeded` | `failed`. */
6020
+ status: string;
6021
+ terminal_error?: string | null;
6022
+ /** Format: int64 */
6023
+ updated_at_micros: number;
6024
+ };
5640
6025
  SearchIndexRunRequest: {
5641
6026
  /** @description Build the ranged adjacency run for traversal. Off by default. */
5642
6027
  build_adjacency?: boolean;
@@ -6040,6 +6425,55 @@ export interface components {
6040
6425
  seeds: components["schemas"]["ScoredEntityView"][];
6041
6426
  snapshot: components["schemas"]["SnapshotView"];
6042
6427
  };
6428
+ /**
6429
+ * @description Set (or clear) the enforced allowed-value set on an **existing** property
6430
+ * field — the tightening path for a field already in use (e.g. constrain
6431
+ * `status` to its ADR vocabulary). A non-empty list installs the `sh:in`
6432
+ * constraint that future commits are checked against; an empty list clears
6433
+ * it. Enforcement is write-time only: values already stored are not
6434
+ * retroactively validated. Errors on an unknown field or a non-enumerable
6435
+ * type. Bumps the ontology version.
6436
+ */
6437
+ SetPropertyConstraintOp: {
6438
+ /** @description Canonical allowed values; empty clears the constraint. */
6439
+ allowed_values?: string[];
6440
+ /**
6441
+ * @description discriminator enum property added by openapi-typescript
6442
+ * @enum {string}
6443
+ */
6444
+ op: "set_property_constraint";
6445
+ /** @description Name of the existing property field to constrain. */
6446
+ property: string;
6447
+ };
6448
+ /**
6449
+ * @description Change a relation's cardinality (`one_to_one` | `one_to_many` |
6450
+ * `many_to_one` | `many_to_many`). Advisory metadata (it informs ranking and
6451
+ * query shaping, and is not enforced against stored edges), so it never
6452
+ * conflicts with existing data.
6453
+ */
6454
+ SetRelationCardinalityOp: {
6455
+ cardinality: string;
6456
+ /**
6457
+ * @description discriminator enum property added by openapi-typescript
6458
+ * @enum {string}
6459
+ */
6460
+ op: "set_relation_cardinality";
6461
+ relation: string;
6462
+ };
6463
+ /**
6464
+ * @description Set (or replace) a relation's inverse-relation display name, enabling
6465
+ * one-hop reverse traversal (e.g. `PHASE_OF` for `HAS_PHASE`). Metadata
6466
+ * only — never touches stored edges.
6467
+ */
6468
+ SetRelationInverseOp: {
6469
+ inverse_name: string;
6470
+ /**
6471
+ * @description discriminator enum property added by openapi-typescript
6472
+ * @enum {string}
6473
+ */
6474
+ op: "set_relation_inverse";
6475
+ relation: string;
6476
+ };
6043
6477
  /**
6044
6478
  * @description Which constraint failed (SHACL `sourceConstraintComponent`).
6045
6479
  * @enum {string}
@@ -6431,8 +6865,8 @@ export interface components {
6431
6865
  commit_seq: components["schemas"]["CommitSeq"];
6432
6866
  /**
6433
6867
  * @description Highest commit folded into the **compacted graph snapshot base** (the
6434
- * materialized segment base). Commits in `(indexed_seq, commit_seq]` live in
6435
- * the WAL tail and are replayed on read — so `indexed_seq: 0` is the normal
6868
+ * materialized segment base). Commits in `(compacted_seq, commit_seq]` live in
6869
+ * the WAL tail and are replayed on read — so `compacted_seq: 0` is the normal
6436
6870
  * state of a small or freshly-created graph (no base built yet) and does
6437
6871
  * **not** mean the data is unreadable: every read replays the full tail.
6438
6872
  *
@@ -6441,7 +6875,7 @@ export interface components {
6441
6875
  * `bm25_indexed_commit_seq` / `ann_indexed_commit_seq` on
6442
6876
  * `GET /v1/graph/metadata` and on the entity read's metadata.
6443
6877
  */
6444
- indexed_seq: components["schemas"]["CommitSeq"];
6878
+ compacted_seq: components["schemas"]["CommitSeq"];
6445
6879
  };
6446
6880
  /**
6447
6881
  * @description One aggregate projection: `func(operand) AS as_var`. `operand` is absent for
@@ -7014,6 +7448,26 @@ export interface components {
7014
7448
  /** @description Human-readable one-liner for the console status surface. */
7015
7449
  reason: string;
7016
7450
  };
7451
+ /**
7452
+ * @description Durable background trainer status. The terminal `result` carries the full
7453
+ * snapshot lineage, held-out gate evidence, and recorded run number.
7454
+ */
7455
+ TrainModelJobStatusResponse: {
7456
+ /** Format: int32 */
7457
+ attempts: number;
7458
+ /** Format: int64 */
7459
+ enqueued_at_micros: number;
7460
+ graph: components["schemas"]["GraphKey"];
7461
+ job_id: string;
7462
+ kind: string;
7463
+ result?: null | components["schemas"]["TrainModelResponse"];
7464
+ stage?: string | null;
7465
+ /** @description `pending` | `running` | `succeeded` | `failed`. */
7466
+ status: string;
7467
+ terminal_error?: string | null;
7468
+ /** Format: int64 */
7469
+ updated_at_micros: number;
7470
+ };
7017
7471
  /**
7018
7472
  * @description `POST /v1/models/train` — run the deterministic trainer once for one
7019
7473
  * kind: build an execution-verified probe set, search a bounded candidate
@@ -7034,6 +7488,11 @@ export interface components {
7034
7488
  * `None` ⇒ execution-verified synthetic pairs from the graph itself.
7035
7489
  */
7036
7490
  probes?: components["schemas"]["ShadowQuery"][] | null;
7491
+ /**
7492
+ * @description Server-assigned durable execution identity. Clients normally omit it;
7493
+ * it is persisted into the model manifest to make worker redelivery safe.
7494
+ */
7495
+ source_job_id?: string | null;
7037
7496
  };
7038
7497
  /** @description Outcome + evidence of one trainer tick. */
7039
7498
  TrainModelResponse: {
@@ -7237,7 +7696,7 @@ export interface components {
7237
7696
  WalCompactResponse: {
7238
7697
  /** @description WAL tail commits folded into the new segment. */
7239
7698
  compacted_commits: number;
7240
- /** @description Highest commit folded; equals `snapshot.indexed_seq` after success. */
7699
+ /** @description Highest commit folded; equals `snapshot.compacted_seq` after success. */
7241
7700
  compacted_seq: components["schemas"]["CommitSeq"];
7242
7701
  /** @description True when this compaction merged the existing segments into one. */
7243
7702
  merged: boolean;
@@ -7290,6 +7749,25 @@ export interface components {
7290
7749
  previous_edges: components["schemas"]["EdgeEventId"][];
7291
7750
  snapshot: components["schemas"]["SnapshotView"];
7292
7751
  };
7752
+ /**
7753
+ * @description Add already-declared entity types (by name) to a relation's declared
7754
+ * domain (`add_domain`) and/or range (`add_range`). The relation and every
7755
+ * named type must already exist. Ids already present are skipped, so the op
7756
+ * is idempotent and a re-run is a no-op.
7757
+ */
7758
+ WidenRelationOp: {
7759
+ /** @description Entity-type names to add to the relation's domain (source types). */
7760
+ add_domain?: string[];
7761
+ /** @description Entity-type names to add to the relation's range (target types). */
7762
+ add_range?: string[];
7763
+ /**
7764
+ * @description discriminator enum property added by openapi-typescript
7765
+ * @enum {string}
7766
+ */
7767
+ op: "widen_relation";
7768
+ /** @description Relation to widen, by name (case-insensitive). */
7769
+ relation: string;
7770
+ };
7293
7771
  };
7294
7772
  responses: never;
7295
7773
  parameters: never;
@@ -10984,8 +11462,10 @@ export interface operations {
10984
11462
  branch?: string;
10985
11463
  /** @description RDF format: turtle (default), nt/ntriples, trig, or nq/nquads */
10986
11464
  format?: string;
10987
- /** @description Optional lower output ceiling; cannot exceed the server hard cap */
11465
+ /** @description Output ceiling; rejects the full export, or bounds the JSON preview when truncate=true */
10988
11466
  max_triples?: string;
11467
+ /** @description Return a deterministic bounded JSON preview instead of rejecting when the graph is larger than max_triples */
11468
+ truncate?: string;
10989
11469
  /** @description RFC3339 valid-time snapshot pin */
10990
11470
  as_of_valid_time?: string;
10991
11471
  /** @description Commit-sequence snapshot pin */
@@ -11014,6 +11494,7 @@ export interface operations {
11014
11494
  [name: string]: unknown;
11015
11495
  };
11016
11496
  content: {
11497
+ "application/json": components["schemas"]["RdfExportPreviewResponse"];
11017
11498
  "application/n-quads": string;
11018
11499
  "application/n-triples": string;
11019
11500
  "application/trig": string;
@@ -13534,30 +14015,24 @@ export interface operations {
13534
14015
  };
13535
14016
  };
13536
14017
  };
13537
- post_v1_index_run: {
14018
+ get_v1_index_jobs: {
13538
14019
  parameters: {
13539
14020
  query?: {
13540
14021
  /** @description Graph name (default `main`) */
13541
14022
  graph?: string;
13542
14023
  /** @description Branch name (default `main`) */
13543
14024
  branch?: string;
13544
- /** @description Run the build detached and return immediately; poll /v1/graph/metadata for completion */
13545
- background?: string;
14025
+ /** @description Stable id returned by the submit call */
14026
+ job_id?: string;
13546
14027
  };
13547
14028
  header?: {
13548
14029
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
13549
14030
  "Lbb-Version"?: string;
13550
- /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
13551
- "Idempotency-Key"?: string;
13552
14031
  };
13553
14032
  path?: never;
13554
14033
  cookie?: never;
13555
14034
  };
13556
- requestBody: {
13557
- content: {
13558
- "application/json": components["schemas"]["IndexBuildOptions"];
13559
- };
13560
- };
14035
+ requestBody?: never;
13561
14036
  responses: {
13562
14037
  /** @description OK */
13563
14038
  200: {
@@ -13569,7 +14044,7 @@ export interface operations {
13569
14044
  [name: string]: unknown;
13570
14045
  };
13571
14046
  content: {
13572
- "application/json": components["schemas"]["SearchIndexRunResponse"];
14047
+ "application/json": components["schemas"]["SearchIndexJobStatusResponse"];
13573
14048
  };
13574
14049
  };
13575
14050
  /** @description Bad request */
@@ -13678,7 +14153,7 @@ export interface operations {
13678
14153
  };
13679
14154
  };
13680
14155
  };
13681
- post_v1_inference_retrieval_premises: {
14156
+ post_v1_index_jobs: {
13682
14157
  parameters: {
13683
14158
  query?: {
13684
14159
  /** @description Graph name (default `main`) */
@@ -13697,7 +14172,7 @@ export interface operations {
13697
14172
  };
13698
14173
  requestBody: {
13699
14174
  content: {
13700
- "application/json": components["schemas"]["RetrievalPremiseRequest"];
14175
+ "application/json": components["schemas"]["IndexBuildOptions"];
13701
14176
  };
13702
14177
  };
13703
14178
  responses: {
@@ -13711,7 +14186,7 @@ export interface operations {
13711
14186
  [name: string]: unknown;
13712
14187
  };
13713
14188
  content: {
13714
- "application/json": components["schemas"]["RetrievalPremiseResponse"];
14189
+ "application/json": components["schemas"]["SearchIndexJobStatusResponse"];
13715
14190
  };
13716
14191
  };
13717
14192
  /** @description Bad request */
@@ -13820,22 +14295,30 @@ export interface operations {
13820
14295
  };
13821
14296
  };
13822
14297
  };
13823
- get_v1_inference_rules: {
14298
+ post_v1_index_run: {
13824
14299
  parameters: {
13825
14300
  query?: {
13826
14301
  /** @description Graph name (default `main`) */
13827
14302
  graph?: string;
13828
14303
  /** @description Branch name (default `main`) */
13829
14304
  branch?: string;
14305
+ /** @description Run the build detached and return immediately; poll /v1/graph/metadata for completion */
14306
+ background?: string;
13830
14307
  };
13831
14308
  header?: {
13832
14309
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
13833
14310
  "Lbb-Version"?: string;
14311
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
14312
+ "Idempotency-Key"?: string;
13834
14313
  };
13835
14314
  path?: never;
13836
14315
  cookie?: never;
13837
14316
  };
13838
- requestBody?: never;
14317
+ requestBody: {
14318
+ content: {
14319
+ "application/json": components["schemas"]["IndexBuildOptions"];
14320
+ };
14321
+ };
13839
14322
  responses: {
13840
14323
  /** @description OK */
13841
14324
  200: {
@@ -13847,7 +14330,7 @@ export interface operations {
13847
14330
  [name: string]: unknown;
13848
14331
  };
13849
14332
  content: {
13850
- "application/json": components["schemas"]["RuleSet"];
14333
+ "application/json": components["schemas"]["SearchIndexRunResponse"];
13851
14334
  };
13852
14335
  };
13853
14336
  /** @description Bad request */
@@ -13956,7 +14439,7 @@ export interface operations {
13956
14439
  };
13957
14440
  };
13958
14441
  };
13959
- post_v1_inference_rules: {
14442
+ post_v1_inference_retrieval_premises: {
13960
14443
  parameters: {
13961
14444
  query?: {
13962
14445
  /** @description Graph name (default `main`) */
@@ -13975,7 +14458,7 @@ export interface operations {
13975
14458
  };
13976
14459
  requestBody: {
13977
14460
  content: {
13978
- "application/json": components["schemas"]["RuleSetDefineRequest"];
14461
+ "application/json": components["schemas"]["RetrievalPremiseRequest"];
13979
14462
  };
13980
14463
  };
13981
14464
  responses: {
@@ -13989,7 +14472,7 @@ export interface operations {
13989
14472
  [name: string]: unknown;
13990
14473
  };
13991
14474
  content: {
13992
- "application/json": components["schemas"]["RuleSetDefineResponse"];
14475
+ "application/json": components["schemas"]["RetrievalPremiseResponse"];
13993
14476
  };
13994
14477
  };
13995
14478
  /** @description Bad request */
@@ -14098,7 +14581,7 @@ export interface operations {
14098
14581
  };
14099
14582
  };
14100
14583
  };
14101
- post_v1_inference_run: {
14584
+ get_v1_inference_rules: {
14102
14585
  parameters: {
14103
14586
  query?: {
14104
14587
  /** @description Graph name (default `main`) */
@@ -14109,17 +14592,11 @@ export interface operations {
14109
14592
  header?: {
14110
14593
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
14111
14594
  "Lbb-Version"?: string;
14112
- /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
14113
- "Idempotency-Key"?: string;
14114
14595
  };
14115
14596
  path?: never;
14116
14597
  cookie?: never;
14117
14598
  };
14118
- requestBody: {
14119
- content: {
14120
- "application/json": components["schemas"]["InferenceRunRequest"];
14121
- };
14122
- };
14599
+ requestBody?: never;
14123
14600
  responses: {
14124
14601
  /** @description OK */
14125
14602
  200: {
@@ -14131,7 +14608,7 @@ export interface operations {
14131
14608
  [name: string]: unknown;
14132
14609
  };
14133
14610
  content: {
14134
- "application/json": components["schemas"]["InferenceRunResponse"];
14611
+ "application/json": components["schemas"]["RuleSet"];
14135
14612
  };
14136
14613
  };
14137
14614
  /** @description Bad request */
@@ -14240,7 +14717,7 @@ export interface operations {
14240
14717
  };
14241
14718
  };
14242
14719
  };
14243
- post_v1_memory_observe: {
14720
+ post_v1_inference_rules: {
14244
14721
  parameters: {
14245
14722
  query?: {
14246
14723
  /** @description Graph name (default `main`) */
@@ -14259,7 +14736,7 @@ export interface operations {
14259
14736
  };
14260
14737
  requestBody: {
14261
14738
  content: {
14262
- "application/json": components["schemas"]["ObserveRequest"];
14739
+ "application/json": components["schemas"]["RuleSetDefineRequest"];
14263
14740
  };
14264
14741
  };
14265
14742
  responses: {
@@ -14273,7 +14750,7 @@ export interface operations {
14273
14750
  [name: string]: unknown;
14274
14751
  };
14275
14752
  content: {
14276
- "application/json": components["schemas"]["ObserveResponse"];
14753
+ "application/json": components["schemas"]["RuleSetDefineResponse"];
14277
14754
  };
14278
14755
  };
14279
14756
  /** @description Bad request */
@@ -14382,24 +14859,28 @@ export interface operations {
14382
14859
  };
14383
14860
  };
14384
14861
  };
14385
- get_v1_models_cadence: {
14862
+ post_v1_inference_run: {
14386
14863
  parameters: {
14387
14864
  query?: {
14388
14865
  /** @description Graph name (default `main`) */
14389
14866
  graph?: string;
14390
14867
  /** @description Branch name (default `main`) */
14391
14868
  branch?: string;
14392
- /** @description Model kind */
14393
- kind?: string;
14394
14869
  };
14395
14870
  header?: {
14396
14871
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
14397
14872
  "Lbb-Version"?: string;
14873
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
14874
+ "Idempotency-Key"?: string;
14398
14875
  };
14399
14876
  path?: never;
14400
14877
  cookie?: never;
14401
14878
  };
14402
- requestBody?: never;
14879
+ requestBody: {
14880
+ content: {
14881
+ "application/json": components["schemas"]["InferenceRunRequest"];
14882
+ };
14883
+ };
14403
14884
  responses: {
14404
14885
  /** @description OK */
14405
14886
  200: {
@@ -14411,7 +14892,7 @@ export interface operations {
14411
14892
  [name: string]: unknown;
14412
14893
  };
14413
14894
  content: {
14414
- "application/json": components["schemas"]["ModelCadenceResponse"];
14895
+ "application/json": components["schemas"]["InferenceRunResponse"];
14415
14896
  };
14416
14897
  };
14417
14898
  /** @description Bad request */
@@ -14520,17 +15001,157 @@ export interface operations {
14520
15001
  };
14521
15002
  };
14522
15003
  };
14523
- get_v1_models_extractor_dataset: {
15004
+ post_v1_memory_observe: {
14524
15005
  parameters: {
14525
15006
  query?: {
14526
15007
  /** @description Graph name (default `main`) */
14527
15008
  graph?: string;
14528
15009
  /** @description Branch name (default `main`) */
14529
15010
  branch?: string;
14530
- /** @description Max episodes (default 200, cap 500) */
14531
- limit?: string;
14532
- /** @description Consume facts committed ≤ this seq (default: head) */
14533
- split_seq?: string;
15011
+ };
15012
+ header?: {
15013
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
15014
+ "Lbb-Version"?: string;
15015
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
15016
+ "Idempotency-Key"?: string;
15017
+ };
15018
+ path?: never;
15019
+ cookie?: never;
15020
+ };
15021
+ requestBody: {
15022
+ content: {
15023
+ "application/json": components["schemas"]["ObserveRequest"];
15024
+ };
15025
+ };
15026
+ responses: {
15027
+ /** @description OK */
15028
+ 200: {
15029
+ headers: {
15030
+ /** @description API contract version used for the response */
15031
+ "Lbb-Version"?: string;
15032
+ /** @description Request correlation id */
15033
+ "X-Request-Id"?: string;
15034
+ [name: string]: unknown;
15035
+ };
15036
+ content: {
15037
+ "application/json": components["schemas"]["ObserveResponse"];
15038
+ };
15039
+ };
15040
+ /** @description Bad request */
15041
+ 400: {
15042
+ headers: {
15043
+ /** @description API contract version used for the response */
15044
+ "Lbb-Version"?: string;
15045
+ /** @description Request correlation id */
15046
+ "X-Request-Id"?: string;
15047
+ [name: string]: unknown;
15048
+ };
15049
+ content: {
15050
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
15051
+ };
15052
+ };
15053
+ /** @description Unauthorized */
15054
+ 401: {
15055
+ headers: {
15056
+ /** @description API contract version used for the response */
15057
+ "Lbb-Version"?: string;
15058
+ /** @description Request correlation id */
15059
+ "X-Request-Id"?: string;
15060
+ [name: string]: unknown;
15061
+ };
15062
+ content: {
15063
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
15064
+ };
15065
+ };
15066
+ /** @description Forbidden */
15067
+ 403: {
15068
+ headers: {
15069
+ /** @description API contract version used for the response */
15070
+ "Lbb-Version"?: string;
15071
+ /** @description Request correlation id */
15072
+ "X-Request-Id"?: string;
15073
+ [name: string]: unknown;
15074
+ };
15075
+ content: {
15076
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
15077
+ };
15078
+ };
15079
+ /** @description Not found */
15080
+ 404: {
15081
+ headers: {
15082
+ /** @description API contract version used for the response */
15083
+ "Lbb-Version"?: string;
15084
+ /** @description Request correlation id */
15085
+ "X-Request-Id"?: string;
15086
+ [name: string]: unknown;
15087
+ };
15088
+ content: {
15089
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
15090
+ };
15091
+ };
15092
+ /** @description Conflict */
15093
+ 409: {
15094
+ headers: {
15095
+ /** @description API contract version used for the response */
15096
+ "Lbb-Version"?: string;
15097
+ /** @description Request correlation id */
15098
+ "X-Request-Id"?: string;
15099
+ [name: string]: unknown;
15100
+ };
15101
+ content: {
15102
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
15103
+ };
15104
+ };
15105
+ /** @description Rate limit exceeded */
15106
+ 429: {
15107
+ headers: {
15108
+ /** @description API contract version used for the response */
15109
+ "Lbb-Version"?: string;
15110
+ /** @description Request correlation id */
15111
+ "X-Request-Id"?: string;
15112
+ [name: string]: unknown;
15113
+ };
15114
+ content: {
15115
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
15116
+ };
15117
+ };
15118
+ /** @description Internal server error */
15119
+ 500: {
15120
+ headers: {
15121
+ /** @description API contract version used for the response */
15122
+ "Lbb-Version"?: string;
15123
+ /** @description Request correlation id */
15124
+ "X-Request-Id"?: string;
15125
+ [name: string]: unknown;
15126
+ };
15127
+ content: {
15128
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
15129
+ };
15130
+ };
15131
+ /** @description Service unavailable */
15132
+ 503: {
15133
+ headers: {
15134
+ /** @description API contract version used for the response */
15135
+ "Lbb-Version"?: string;
15136
+ /** @description Request correlation id */
15137
+ "X-Request-Id"?: string;
15138
+ [name: string]: unknown;
15139
+ };
15140
+ content: {
15141
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
15142
+ };
15143
+ };
15144
+ };
15145
+ };
15146
+ get_v1_models_cadence: {
15147
+ parameters: {
15148
+ query?: {
15149
+ /** @description Graph name (default `main`) */
15150
+ graph?: string;
15151
+ /** @description Branch name (default `main`) */
15152
+ branch?: string;
15153
+ /** @description Model kind */
15154
+ kind?: string;
14534
15155
  };
14535
15156
  header?: {
14536
15157
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
@@ -14551,7 +15172,7 @@ export interface operations {
14551
15172
  [name: string]: unknown;
14552
15173
  };
14553
15174
  content: {
14554
- "application/json": components["schemas"]["ExtractorDatasetResponse"];
15175
+ "application/json": components["schemas"]["ModelCadenceResponse"];
14555
15176
  };
14556
15177
  };
14557
15178
  /** @description Bad request */
@@ -14660,16 +15281,16 @@ export interface operations {
14660
15281
  };
14661
15282
  };
14662
15283
  };
14663
- get_v1_models_planner_dataset: {
15284
+ get_v1_models_extractor_dataset: {
14664
15285
  parameters: {
14665
15286
  query?: {
14666
15287
  /** @description Graph name (default `main`) */
14667
15288
  graph?: string;
14668
15289
  /** @description Branch name (default `main`) */
14669
15290
  branch?: string;
14670
- /** @description Max examples (default 500, cap 2000) */
15291
+ /** @description Max episodes (default 200, cap 500) */
14671
15292
  limit?: string;
14672
- /** @description Consume signals ≤ this seq (default: head — recorded for the split audit) */
15293
+ /** @description Consume facts committed ≤ this seq (default: head) */
14673
15294
  split_seq?: string;
14674
15295
  };
14675
15296
  header?: {
@@ -14691,7 +15312,7 @@ export interface operations {
14691
15312
  [name: string]: unknown;
14692
15313
  };
14693
15314
  content: {
14694
- "application/json": components["schemas"]["PlannerDatasetResponse"];
15315
+ "application/json": components["schemas"]["ExtractorDatasetResponse"];
14695
15316
  };
14696
15317
  };
14697
15318
  /** @description Bad request */
@@ -14800,14 +15421,14 @@ export interface operations {
14800
15421
  };
14801
15422
  };
14802
15423
  };
14803
- get_v1_models_planner_preference_dataset: {
15424
+ get_v1_models_planner_dataset: {
14804
15425
  parameters: {
14805
15426
  query?: {
14806
15427
  /** @description Graph name (default `main`) */
14807
15428
  graph?: string;
14808
15429
  /** @description Branch name (default `main`) */
14809
15430
  branch?: string;
14810
- /** @description Max pairs (default 500, cap 2000) */
15431
+ /** @description Max examples (default 500, cap 2000) */
14811
15432
  limit?: string;
14812
15433
  /** @description Consume signals ≤ this seq (default: head — recorded for the split audit) */
14813
15434
  split_seq?: string;
@@ -14831,7 +15452,7 @@ export interface operations {
14831
15452
  [name: string]: unknown;
14832
15453
  };
14833
15454
  content: {
14834
- "application/json": components["schemas"]["PlannerPreferenceDatasetResponse"];
15455
+ "application/json": components["schemas"]["PlannerDatasetResponse"];
14835
15456
  };
14836
15457
  };
14837
15458
  /** @description Bad request */
@@ -14940,23 +15561,21 @@ export interface operations {
14940
15561
  };
14941
15562
  };
14942
15563
  };
14943
- post_v1_models_promote: {
15564
+ get_v1_models_planner_preference_dataset: {
14944
15565
  parameters: {
14945
15566
  query?: {
14946
15567
  /** @description Graph name (default `main`) */
14947
15568
  graph?: string;
14948
15569
  /** @description Branch name (default `main`) */
14949
15570
  branch?: string;
14950
- /** @description Model kind (embedding|calibration|fusion|suggest_ranker|planner|extractor) */
14951
- kind?: string;
14952
- /** @description Run number to promote */
14953
- run?: string;
15571
+ /** @description Max pairs (default 500, cap 2000) */
15572
+ limit?: string;
15573
+ /** @description Consume signals ≤ this seq (default: head — recorded for the split audit) */
15574
+ split_seq?: string;
14954
15575
  };
14955
15576
  header?: {
14956
15577
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
14957
15578
  "Lbb-Version"?: string;
14958
- /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
14959
- "Idempotency-Key"?: string;
14960
15579
  };
14961
15580
  path?: never;
14962
15581
  cookie?: never;
@@ -14973,7 +15592,7 @@ export interface operations {
14973
15592
  [name: string]: unknown;
14974
15593
  };
14975
15594
  content: {
14976
- "application/json": Record<string, never>;
15595
+ "application/json": components["schemas"]["PlannerPreferenceDatasetResponse"];
14977
15596
  };
14978
15597
  };
14979
15598
  /** @description Bad request */
@@ -15082,17 +15701,17 @@ export interface operations {
15082
15701
  };
15083
15702
  };
15084
15703
  };
15085
- post_v1_models_promote_extractor: {
15704
+ post_v1_models_promote: {
15086
15705
  parameters: {
15087
15706
  query?: {
15088
15707
  /** @description Graph name (default `main`) */
15089
15708
  graph?: string;
15090
15709
  /** @description Branch name (default `main`) */
15091
15710
  branch?: string;
15092
- /** @description The extractor_lora training run to promote */
15093
- run_id?: string;
15094
- /** @description Promote even when tuned fact F1 regressed */
15095
- allow_regression?: string;
15711
+ /** @description Model kind (embedding|calibration|fusion|suggest_ranker|planner|extractor) */
15712
+ kind?: string;
15713
+ /** @description Run number to promote */
15714
+ run?: string;
15096
15715
  };
15097
15716
  header?: {
15098
15717
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
@@ -15224,16 +15843,16 @@ export interface operations {
15224
15843
  };
15225
15844
  };
15226
15845
  };
15227
- post_v1_models_promote_planner: {
15846
+ post_v1_models_promote_extractor: {
15228
15847
  parameters: {
15229
15848
  query?: {
15230
15849
  /** @description Graph name (default `main`) */
15231
15850
  graph?: string;
15232
15851
  /** @description Branch name (default `main`) */
15233
15852
  branch?: string;
15234
- /** @description The planner_lora training run to promote */
15853
+ /** @description The extractor_lora training run to promote */
15235
15854
  run_id?: string;
15236
- /** @description Promote even when tuned slot exactness regressed */
15855
+ /** @description Promote even when tuned fact F1 regressed */
15237
15856
  allow_regression?: string;
15238
15857
  };
15239
15858
  header?: {
@@ -15366,13 +15985,17 @@ export interface operations {
15366
15985
  };
15367
15986
  };
15368
15987
  };
15369
- post_v1_models_record: {
15988
+ post_v1_models_promote_planner: {
15370
15989
  parameters: {
15371
15990
  query?: {
15372
15991
  /** @description Graph name (default `main`) */
15373
15992
  graph?: string;
15374
15993
  /** @description Branch name (default `main`) */
15375
15994
  branch?: string;
15995
+ /** @description The planner_lora training run to promote */
15996
+ run_id?: string;
15997
+ /** @description Promote even when tuned slot exactness regressed */
15998
+ allow_regression?: string;
15376
15999
  };
15377
16000
  header?: {
15378
16001
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
@@ -15383,11 +16006,7 @@ export interface operations {
15383
16006
  path?: never;
15384
16007
  cookie?: never;
15385
16008
  };
15386
- requestBody: {
15387
- content: {
15388
- "application/json": components["schemas"]["ModelRunManifest"];
15389
- };
15390
- };
16009
+ requestBody?: never;
15391
16010
  responses: {
15392
16011
  /** @description OK */
15393
16012
  200: {
@@ -15508,24 +16127,1290 @@ export interface operations {
15508
16127
  };
15509
16128
  };
15510
16129
  };
15511
- get_v1_models_registry: {
16130
+ post_v1_models_record: {
15512
16131
  parameters: {
15513
16132
  query?: {
15514
16133
  /** @description Graph name (default `main`) */
15515
16134
  graph?: string;
15516
16135
  /** @description Branch name (default `main`) */
15517
16136
  branch?: string;
15518
- /** @description Model kind */
15519
- kind?: string;
15520
16137
  };
15521
16138
  header?: {
15522
16139
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
15523
16140
  "Lbb-Version"?: string;
16141
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
16142
+ "Idempotency-Key"?: string;
15524
16143
  };
15525
16144
  path?: never;
15526
16145
  cookie?: never;
15527
16146
  };
15528
- requestBody?: never;
16147
+ requestBody: {
16148
+ content: {
16149
+ "application/json": components["schemas"]["ModelRunManifest"];
16150
+ };
16151
+ };
16152
+ responses: {
16153
+ /** @description OK */
16154
+ 200: {
16155
+ headers: {
16156
+ /** @description API contract version used for the response */
16157
+ "Lbb-Version"?: string;
16158
+ /** @description Request correlation id */
16159
+ "X-Request-Id"?: string;
16160
+ [name: string]: unknown;
16161
+ };
16162
+ content: {
16163
+ "application/json": Record<string, never>;
16164
+ };
16165
+ };
16166
+ /** @description Bad request */
16167
+ 400: {
16168
+ headers: {
16169
+ /** @description API contract version used for the response */
16170
+ "Lbb-Version"?: string;
16171
+ /** @description Request correlation id */
16172
+ "X-Request-Id"?: string;
16173
+ [name: string]: unknown;
16174
+ };
16175
+ content: {
16176
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16177
+ };
16178
+ };
16179
+ /** @description Unauthorized */
16180
+ 401: {
16181
+ headers: {
16182
+ /** @description API contract version used for the response */
16183
+ "Lbb-Version"?: string;
16184
+ /** @description Request correlation id */
16185
+ "X-Request-Id"?: string;
16186
+ [name: string]: unknown;
16187
+ };
16188
+ content: {
16189
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16190
+ };
16191
+ };
16192
+ /** @description Forbidden */
16193
+ 403: {
16194
+ headers: {
16195
+ /** @description API contract version used for the response */
16196
+ "Lbb-Version"?: string;
16197
+ /** @description Request correlation id */
16198
+ "X-Request-Id"?: string;
16199
+ [name: string]: unknown;
16200
+ };
16201
+ content: {
16202
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16203
+ };
16204
+ };
16205
+ /** @description Not found */
16206
+ 404: {
16207
+ headers: {
16208
+ /** @description API contract version used for the response */
16209
+ "Lbb-Version"?: string;
16210
+ /** @description Request correlation id */
16211
+ "X-Request-Id"?: string;
16212
+ [name: string]: unknown;
16213
+ };
16214
+ content: {
16215
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16216
+ };
16217
+ };
16218
+ /** @description Conflict */
16219
+ 409: {
16220
+ headers: {
16221
+ /** @description API contract version used for the response */
16222
+ "Lbb-Version"?: string;
16223
+ /** @description Request correlation id */
16224
+ "X-Request-Id"?: string;
16225
+ [name: string]: unknown;
16226
+ };
16227
+ content: {
16228
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16229
+ };
16230
+ };
16231
+ /** @description Rate limit exceeded */
16232
+ 429: {
16233
+ headers: {
16234
+ /** @description API contract version used for the response */
16235
+ "Lbb-Version"?: string;
16236
+ /** @description Request correlation id */
16237
+ "X-Request-Id"?: string;
16238
+ [name: string]: unknown;
16239
+ };
16240
+ content: {
16241
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16242
+ };
16243
+ };
16244
+ /** @description Internal server error */
16245
+ 500: {
16246
+ headers: {
16247
+ /** @description API contract version used for the response */
16248
+ "Lbb-Version"?: string;
16249
+ /** @description Request correlation id */
16250
+ "X-Request-Id"?: string;
16251
+ [name: string]: unknown;
16252
+ };
16253
+ content: {
16254
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16255
+ };
16256
+ };
16257
+ /** @description Service unavailable */
16258
+ 503: {
16259
+ headers: {
16260
+ /** @description API contract version used for the response */
16261
+ "Lbb-Version"?: string;
16262
+ /** @description Request correlation id */
16263
+ "X-Request-Id"?: string;
16264
+ [name: string]: unknown;
16265
+ };
16266
+ content: {
16267
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16268
+ };
16269
+ };
16270
+ };
16271
+ };
16272
+ get_v1_models_registry: {
16273
+ parameters: {
16274
+ query?: {
16275
+ /** @description Graph name (default `main`) */
16276
+ graph?: string;
16277
+ /** @description Branch name (default `main`) */
16278
+ branch?: string;
16279
+ /** @description Model kind */
16280
+ kind?: string;
16281
+ };
16282
+ header?: {
16283
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
16284
+ "Lbb-Version"?: string;
16285
+ };
16286
+ path?: never;
16287
+ cookie?: never;
16288
+ };
16289
+ requestBody?: never;
16290
+ responses: {
16291
+ /** @description OK */
16292
+ 200: {
16293
+ headers: {
16294
+ /** @description API contract version used for the response */
16295
+ "Lbb-Version"?: string;
16296
+ /** @description Request correlation id */
16297
+ "X-Request-Id"?: string;
16298
+ [name: string]: unknown;
16299
+ };
16300
+ content: {
16301
+ "application/json": components["schemas"]["ModelRegistryResponse"];
16302
+ };
16303
+ };
16304
+ /** @description Bad request */
16305
+ 400: {
16306
+ headers: {
16307
+ /** @description API contract version used for the response */
16308
+ "Lbb-Version"?: string;
16309
+ /** @description Request correlation id */
16310
+ "X-Request-Id"?: string;
16311
+ [name: string]: unknown;
16312
+ };
16313
+ content: {
16314
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16315
+ };
16316
+ };
16317
+ /** @description Unauthorized */
16318
+ 401: {
16319
+ headers: {
16320
+ /** @description API contract version used for the response */
16321
+ "Lbb-Version"?: string;
16322
+ /** @description Request correlation id */
16323
+ "X-Request-Id"?: string;
16324
+ [name: string]: unknown;
16325
+ };
16326
+ content: {
16327
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16328
+ };
16329
+ };
16330
+ /** @description Forbidden */
16331
+ 403: {
16332
+ headers: {
16333
+ /** @description API contract version used for the response */
16334
+ "Lbb-Version"?: string;
16335
+ /** @description Request correlation id */
16336
+ "X-Request-Id"?: string;
16337
+ [name: string]: unknown;
16338
+ };
16339
+ content: {
16340
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16341
+ };
16342
+ };
16343
+ /** @description Not found */
16344
+ 404: {
16345
+ headers: {
16346
+ /** @description API contract version used for the response */
16347
+ "Lbb-Version"?: string;
16348
+ /** @description Request correlation id */
16349
+ "X-Request-Id"?: string;
16350
+ [name: string]: unknown;
16351
+ };
16352
+ content: {
16353
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16354
+ };
16355
+ };
16356
+ /** @description Conflict */
16357
+ 409: {
16358
+ headers: {
16359
+ /** @description API contract version used for the response */
16360
+ "Lbb-Version"?: string;
16361
+ /** @description Request correlation id */
16362
+ "X-Request-Id"?: string;
16363
+ [name: string]: unknown;
16364
+ };
16365
+ content: {
16366
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16367
+ };
16368
+ };
16369
+ /** @description Rate limit exceeded */
16370
+ 429: {
16371
+ headers: {
16372
+ /** @description API contract version used for the response */
16373
+ "Lbb-Version"?: string;
16374
+ /** @description Request correlation id */
16375
+ "X-Request-Id"?: string;
16376
+ [name: string]: unknown;
16377
+ };
16378
+ content: {
16379
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16380
+ };
16381
+ };
16382
+ /** @description Internal server error */
16383
+ 500: {
16384
+ headers: {
16385
+ /** @description API contract version used for the response */
16386
+ "Lbb-Version"?: string;
16387
+ /** @description Request correlation id */
16388
+ "X-Request-Id"?: string;
16389
+ [name: string]: unknown;
16390
+ };
16391
+ content: {
16392
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16393
+ };
16394
+ };
16395
+ /** @description Service unavailable */
16396
+ 503: {
16397
+ headers: {
16398
+ /** @description API contract version used for the response */
16399
+ "Lbb-Version"?: string;
16400
+ /** @description Request correlation id */
16401
+ "X-Request-Id"?: string;
16402
+ [name: string]: unknown;
16403
+ };
16404
+ content: {
16405
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16406
+ };
16407
+ };
16408
+ };
16409
+ };
16410
+ post_v1_models_registry_gc: {
16411
+ parameters: {
16412
+ query?: {
16413
+ /** @description Graph name (default `main`) */
16414
+ graph?: string;
16415
+ /** @description Branch name (default `main`) */
16416
+ branch?: string;
16417
+ /** @description Model kind */
16418
+ kind?: string;
16419
+ /** @description Most-recent runs to keep besides the promoted one (default 3) */
16420
+ keep?: string;
16421
+ };
16422
+ header?: {
16423
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
16424
+ "Lbb-Version"?: string;
16425
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
16426
+ "Idempotency-Key"?: string;
16427
+ };
16428
+ path?: never;
16429
+ cookie?: never;
16430
+ };
16431
+ requestBody?: never;
16432
+ responses: {
16433
+ /** @description OK */
16434
+ 200: {
16435
+ headers: {
16436
+ /** @description API contract version used for the response */
16437
+ "Lbb-Version"?: string;
16438
+ /** @description Request correlation id */
16439
+ "X-Request-Id"?: string;
16440
+ [name: string]: unknown;
16441
+ };
16442
+ content: {
16443
+ "application/json": Record<string, never>;
16444
+ };
16445
+ };
16446
+ /** @description Bad request */
16447
+ 400: {
16448
+ headers: {
16449
+ /** @description API contract version used for the response */
16450
+ "Lbb-Version"?: string;
16451
+ /** @description Request correlation id */
16452
+ "X-Request-Id"?: string;
16453
+ [name: string]: unknown;
16454
+ };
16455
+ content: {
16456
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16457
+ };
16458
+ };
16459
+ /** @description Unauthorized */
16460
+ 401: {
16461
+ headers: {
16462
+ /** @description API contract version used for the response */
16463
+ "Lbb-Version"?: string;
16464
+ /** @description Request correlation id */
16465
+ "X-Request-Id"?: string;
16466
+ [name: string]: unknown;
16467
+ };
16468
+ content: {
16469
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16470
+ };
16471
+ };
16472
+ /** @description Forbidden */
16473
+ 403: {
16474
+ headers: {
16475
+ /** @description API contract version used for the response */
16476
+ "Lbb-Version"?: string;
16477
+ /** @description Request correlation id */
16478
+ "X-Request-Id"?: string;
16479
+ [name: string]: unknown;
16480
+ };
16481
+ content: {
16482
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16483
+ };
16484
+ };
16485
+ /** @description Not found */
16486
+ 404: {
16487
+ headers: {
16488
+ /** @description API contract version used for the response */
16489
+ "Lbb-Version"?: string;
16490
+ /** @description Request correlation id */
16491
+ "X-Request-Id"?: string;
16492
+ [name: string]: unknown;
16493
+ };
16494
+ content: {
16495
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16496
+ };
16497
+ };
16498
+ /** @description Conflict */
16499
+ 409: {
16500
+ headers: {
16501
+ /** @description API contract version used for the response */
16502
+ "Lbb-Version"?: string;
16503
+ /** @description Request correlation id */
16504
+ "X-Request-Id"?: string;
16505
+ [name: string]: unknown;
16506
+ };
16507
+ content: {
16508
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16509
+ };
16510
+ };
16511
+ /** @description Rate limit exceeded */
16512
+ 429: {
16513
+ headers: {
16514
+ /** @description API contract version used for the response */
16515
+ "Lbb-Version"?: string;
16516
+ /** @description Request correlation id */
16517
+ "X-Request-Id"?: string;
16518
+ [name: string]: unknown;
16519
+ };
16520
+ content: {
16521
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16522
+ };
16523
+ };
16524
+ /** @description Internal server error */
16525
+ 500: {
16526
+ headers: {
16527
+ /** @description API contract version used for the response */
16528
+ "Lbb-Version"?: string;
16529
+ /** @description Request correlation id */
16530
+ "X-Request-Id"?: string;
16531
+ [name: string]: unknown;
16532
+ };
16533
+ content: {
16534
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16535
+ };
16536
+ };
16537
+ /** @description Service unavailable */
16538
+ 503: {
16539
+ headers: {
16540
+ /** @description API contract version used for the response */
16541
+ "Lbb-Version"?: string;
16542
+ /** @description Request correlation id */
16543
+ "X-Request-Id"?: string;
16544
+ [name: string]: unknown;
16545
+ };
16546
+ content: {
16547
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16548
+ };
16549
+ };
16550
+ };
16551
+ };
16552
+ post_v1_models_shadow_eval: {
16553
+ parameters: {
16554
+ query?: {
16555
+ /** @description Graph name (default `main`) */
16556
+ graph?: string;
16557
+ /** @description Branch name (default `main`) */
16558
+ branch?: string;
16559
+ };
16560
+ header?: {
16561
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
16562
+ "Lbb-Version"?: string;
16563
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
16564
+ "Idempotency-Key"?: string;
16565
+ };
16566
+ path?: never;
16567
+ cookie?: never;
16568
+ };
16569
+ requestBody: {
16570
+ content: {
16571
+ "application/json": components["schemas"]["ShadowEvalRequest"];
16572
+ };
16573
+ };
16574
+ responses: {
16575
+ /** @description OK */
16576
+ 200: {
16577
+ headers: {
16578
+ /** @description API contract version used for the response */
16579
+ "Lbb-Version"?: string;
16580
+ /** @description Request correlation id */
16581
+ "X-Request-Id"?: string;
16582
+ [name: string]: unknown;
16583
+ };
16584
+ content: {
16585
+ "application/json": components["schemas"]["ShadowEvalResponse"];
16586
+ };
16587
+ };
16588
+ /** @description Bad request */
16589
+ 400: {
16590
+ headers: {
16591
+ /** @description API contract version used for the response */
16592
+ "Lbb-Version"?: string;
16593
+ /** @description Request correlation id */
16594
+ "X-Request-Id"?: string;
16595
+ [name: string]: unknown;
16596
+ };
16597
+ content: {
16598
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16599
+ };
16600
+ };
16601
+ /** @description Unauthorized */
16602
+ 401: {
16603
+ headers: {
16604
+ /** @description API contract version used for the response */
16605
+ "Lbb-Version"?: string;
16606
+ /** @description Request correlation id */
16607
+ "X-Request-Id"?: string;
16608
+ [name: string]: unknown;
16609
+ };
16610
+ content: {
16611
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16612
+ };
16613
+ };
16614
+ /** @description Forbidden */
16615
+ 403: {
16616
+ headers: {
16617
+ /** @description API contract version used for the response */
16618
+ "Lbb-Version"?: string;
16619
+ /** @description Request correlation id */
16620
+ "X-Request-Id"?: string;
16621
+ [name: string]: unknown;
16622
+ };
16623
+ content: {
16624
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16625
+ };
16626
+ };
16627
+ /** @description Not found */
16628
+ 404: {
16629
+ headers: {
16630
+ /** @description API contract version used for the response */
16631
+ "Lbb-Version"?: string;
16632
+ /** @description Request correlation id */
16633
+ "X-Request-Id"?: string;
16634
+ [name: string]: unknown;
16635
+ };
16636
+ content: {
16637
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16638
+ };
16639
+ };
16640
+ /** @description Conflict */
16641
+ 409: {
16642
+ headers: {
16643
+ /** @description API contract version used for the response */
16644
+ "Lbb-Version"?: string;
16645
+ /** @description Request correlation id */
16646
+ "X-Request-Id"?: string;
16647
+ [name: string]: unknown;
16648
+ };
16649
+ content: {
16650
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16651
+ };
16652
+ };
16653
+ /** @description Rate limit exceeded */
16654
+ 429: {
16655
+ headers: {
16656
+ /** @description API contract version used for the response */
16657
+ "Lbb-Version"?: string;
16658
+ /** @description Request correlation id */
16659
+ "X-Request-Id"?: string;
16660
+ [name: string]: unknown;
16661
+ };
16662
+ content: {
16663
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16664
+ };
16665
+ };
16666
+ /** @description Internal server error */
16667
+ 500: {
16668
+ headers: {
16669
+ /** @description API contract version used for the response */
16670
+ "Lbb-Version"?: string;
16671
+ /** @description Request correlation id */
16672
+ "X-Request-Id"?: string;
16673
+ [name: string]: unknown;
16674
+ };
16675
+ content: {
16676
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16677
+ };
16678
+ };
16679
+ /** @description Service unavailable */
16680
+ 503: {
16681
+ headers: {
16682
+ /** @description API contract version used for the response */
16683
+ "Lbb-Version"?: string;
16684
+ /** @description Request correlation id */
16685
+ "X-Request-Id"?: string;
16686
+ [name: string]: unknown;
16687
+ };
16688
+ content: {
16689
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16690
+ };
16691
+ };
16692
+ };
16693
+ };
16694
+ get_v1_models_split_audit: {
16695
+ parameters: {
16696
+ query?: {
16697
+ /** @description Graph name (default `main`) */
16698
+ graph?: string;
16699
+ /** @description Branch name (default `main`) */
16700
+ branch?: string;
16701
+ /** @description Model kind */
16702
+ kind?: string;
16703
+ /** @description Run number */
16704
+ run?: string;
16705
+ };
16706
+ header?: {
16707
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
16708
+ "Lbb-Version"?: string;
16709
+ };
16710
+ path?: never;
16711
+ cookie?: never;
16712
+ };
16713
+ requestBody?: never;
16714
+ responses: {
16715
+ /** @description OK */
16716
+ 200: {
16717
+ headers: {
16718
+ /** @description API contract version used for the response */
16719
+ "Lbb-Version"?: string;
16720
+ /** @description Request correlation id */
16721
+ "X-Request-Id"?: string;
16722
+ [name: string]: unknown;
16723
+ };
16724
+ content: {
16725
+ "application/json": components["schemas"]["ModelSplitAudit"];
16726
+ };
16727
+ };
16728
+ /** @description Bad request */
16729
+ 400: {
16730
+ headers: {
16731
+ /** @description API contract version used for the response */
16732
+ "Lbb-Version"?: string;
16733
+ /** @description Request correlation id */
16734
+ "X-Request-Id"?: string;
16735
+ [name: string]: unknown;
16736
+ };
16737
+ content: {
16738
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16739
+ };
16740
+ };
16741
+ /** @description Unauthorized */
16742
+ 401: {
16743
+ headers: {
16744
+ /** @description API contract version used for the response */
16745
+ "Lbb-Version"?: string;
16746
+ /** @description Request correlation id */
16747
+ "X-Request-Id"?: string;
16748
+ [name: string]: unknown;
16749
+ };
16750
+ content: {
16751
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16752
+ };
16753
+ };
16754
+ /** @description Forbidden */
16755
+ 403: {
16756
+ headers: {
16757
+ /** @description API contract version used for the response */
16758
+ "Lbb-Version"?: string;
16759
+ /** @description Request correlation id */
16760
+ "X-Request-Id"?: string;
16761
+ [name: string]: unknown;
16762
+ };
16763
+ content: {
16764
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16765
+ };
16766
+ };
16767
+ /** @description Not found */
16768
+ 404: {
16769
+ headers: {
16770
+ /** @description API contract version used for the response */
16771
+ "Lbb-Version"?: string;
16772
+ /** @description Request correlation id */
16773
+ "X-Request-Id"?: string;
16774
+ [name: string]: unknown;
16775
+ };
16776
+ content: {
16777
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16778
+ };
16779
+ };
16780
+ /** @description Conflict */
16781
+ 409: {
16782
+ headers: {
16783
+ /** @description API contract version used for the response */
16784
+ "Lbb-Version"?: string;
16785
+ /** @description Request correlation id */
16786
+ "X-Request-Id"?: string;
16787
+ [name: string]: unknown;
16788
+ };
16789
+ content: {
16790
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16791
+ };
16792
+ };
16793
+ /** @description Rate limit exceeded */
16794
+ 429: {
16795
+ headers: {
16796
+ /** @description API contract version used for the response */
16797
+ "Lbb-Version"?: string;
16798
+ /** @description Request correlation id */
16799
+ "X-Request-Id"?: string;
16800
+ [name: string]: unknown;
16801
+ };
16802
+ content: {
16803
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16804
+ };
16805
+ };
16806
+ /** @description Internal server error */
16807
+ 500: {
16808
+ headers: {
16809
+ /** @description API contract version used for the response */
16810
+ "Lbb-Version"?: string;
16811
+ /** @description Request correlation id */
16812
+ "X-Request-Id"?: string;
16813
+ [name: string]: unknown;
16814
+ };
16815
+ content: {
16816
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16817
+ };
16818
+ };
16819
+ /** @description Service unavailable */
16820
+ 503: {
16821
+ headers: {
16822
+ /** @description API contract version used for the response */
16823
+ "Lbb-Version"?: string;
16824
+ /** @description Request correlation id */
16825
+ "X-Request-Id"?: string;
16826
+ [name: string]: unknown;
16827
+ };
16828
+ content: {
16829
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16830
+ };
16831
+ };
16832
+ };
16833
+ };
16834
+ get_v1_models_suggest_dataset: {
16835
+ parameters: {
16836
+ query?: {
16837
+ /** @description Graph name (default `main`) */
16838
+ graph?: string;
16839
+ /** @description Branch name (default `main`) */
16840
+ branch?: string;
16841
+ /** @description Max probes (default 100, cap 200) */
16842
+ limit?: string;
16843
+ /** @description Consume signals ≤ this seq (default: head — recorded for the split audit) */
16844
+ split_seq?: string;
16845
+ };
16846
+ header?: {
16847
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
16848
+ "Lbb-Version"?: string;
16849
+ };
16850
+ path?: never;
16851
+ cookie?: never;
16852
+ };
16853
+ requestBody?: never;
16854
+ responses: {
16855
+ /** @description OK */
16856
+ 200: {
16857
+ headers: {
16858
+ /** @description API contract version used for the response */
16859
+ "Lbb-Version"?: string;
16860
+ /** @description Request correlation id */
16861
+ "X-Request-Id"?: string;
16862
+ [name: string]: unknown;
16863
+ };
16864
+ content: {
16865
+ "application/json": components["schemas"]["SuggestDatasetResponse"];
16866
+ };
16867
+ };
16868
+ /** @description Bad request */
16869
+ 400: {
16870
+ headers: {
16871
+ /** @description API contract version used for the response */
16872
+ "Lbb-Version"?: string;
16873
+ /** @description Request correlation id */
16874
+ "X-Request-Id"?: string;
16875
+ [name: string]: unknown;
16876
+ };
16877
+ content: {
16878
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16879
+ };
16880
+ };
16881
+ /** @description Unauthorized */
16882
+ 401: {
16883
+ headers: {
16884
+ /** @description API contract version used for the response */
16885
+ "Lbb-Version"?: string;
16886
+ /** @description Request correlation id */
16887
+ "X-Request-Id"?: string;
16888
+ [name: string]: unknown;
16889
+ };
16890
+ content: {
16891
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16892
+ };
16893
+ };
16894
+ /** @description Forbidden */
16895
+ 403: {
16896
+ headers: {
16897
+ /** @description API contract version used for the response */
16898
+ "Lbb-Version"?: string;
16899
+ /** @description Request correlation id */
16900
+ "X-Request-Id"?: string;
16901
+ [name: string]: unknown;
16902
+ };
16903
+ content: {
16904
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16905
+ };
16906
+ };
16907
+ /** @description Not found */
16908
+ 404: {
16909
+ headers: {
16910
+ /** @description API contract version used for the response */
16911
+ "Lbb-Version"?: string;
16912
+ /** @description Request correlation id */
16913
+ "X-Request-Id"?: string;
16914
+ [name: string]: unknown;
16915
+ };
16916
+ content: {
16917
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16918
+ };
16919
+ };
16920
+ /** @description Conflict */
16921
+ 409: {
16922
+ headers: {
16923
+ /** @description API contract version used for the response */
16924
+ "Lbb-Version"?: string;
16925
+ /** @description Request correlation id */
16926
+ "X-Request-Id"?: string;
16927
+ [name: string]: unknown;
16928
+ };
16929
+ content: {
16930
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16931
+ };
16932
+ };
16933
+ /** @description Rate limit exceeded */
16934
+ 429: {
16935
+ headers: {
16936
+ /** @description API contract version used for the response */
16937
+ "Lbb-Version"?: string;
16938
+ /** @description Request correlation id */
16939
+ "X-Request-Id"?: string;
16940
+ [name: string]: unknown;
16941
+ };
16942
+ content: {
16943
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16944
+ };
16945
+ };
16946
+ /** @description Internal server error */
16947
+ 500: {
16948
+ headers: {
16949
+ /** @description API contract version used for the response */
16950
+ "Lbb-Version"?: string;
16951
+ /** @description Request correlation id */
16952
+ "X-Request-Id"?: string;
16953
+ [name: string]: unknown;
16954
+ };
16955
+ content: {
16956
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16957
+ };
16958
+ };
16959
+ /** @description Service unavailable */
16960
+ 503: {
16961
+ headers: {
16962
+ /** @description API contract version used for the response */
16963
+ "Lbb-Version"?: string;
16964
+ /** @description Request correlation id */
16965
+ "X-Request-Id"?: string;
16966
+ [name: string]: unknown;
16967
+ };
16968
+ content: {
16969
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
16970
+ };
16971
+ };
16972
+ };
16973
+ };
16974
+ get_v1_models_synthetic_eval: {
16975
+ parameters: {
16976
+ query?: {
16977
+ /** @description Graph name (default `main`) */
16978
+ graph?: string;
16979
+ /** @description Branch name (default `main`) */
16980
+ branch?: string;
16981
+ /** @description Max probes (default 100, max 500) */
16982
+ limit?: string;
16983
+ };
16984
+ header?: {
16985
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
16986
+ "Lbb-Version"?: string;
16987
+ };
16988
+ path?: never;
16989
+ cookie?: never;
16990
+ };
16991
+ requestBody?: never;
16992
+ responses: {
16993
+ /** @description OK */
16994
+ 200: {
16995
+ headers: {
16996
+ /** @description API contract version used for the response */
16997
+ "Lbb-Version"?: string;
16998
+ /** @description Request correlation id */
16999
+ "X-Request-Id"?: string;
17000
+ [name: string]: unknown;
17001
+ };
17002
+ content: {
17003
+ "application/json": components["schemas"]["SyntheticEvalResponse"];
17004
+ };
17005
+ };
17006
+ /** @description Bad request */
17007
+ 400: {
17008
+ headers: {
17009
+ /** @description API contract version used for the response */
17010
+ "Lbb-Version"?: string;
17011
+ /** @description Request correlation id */
17012
+ "X-Request-Id"?: string;
17013
+ [name: string]: unknown;
17014
+ };
17015
+ content: {
17016
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17017
+ };
17018
+ };
17019
+ /** @description Unauthorized */
17020
+ 401: {
17021
+ headers: {
17022
+ /** @description API contract version used for the response */
17023
+ "Lbb-Version"?: string;
17024
+ /** @description Request correlation id */
17025
+ "X-Request-Id"?: string;
17026
+ [name: string]: unknown;
17027
+ };
17028
+ content: {
17029
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17030
+ };
17031
+ };
17032
+ /** @description Forbidden */
17033
+ 403: {
17034
+ headers: {
17035
+ /** @description API contract version used for the response */
17036
+ "Lbb-Version"?: string;
17037
+ /** @description Request correlation id */
17038
+ "X-Request-Id"?: string;
17039
+ [name: string]: unknown;
17040
+ };
17041
+ content: {
17042
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17043
+ };
17044
+ };
17045
+ /** @description Not found */
17046
+ 404: {
17047
+ headers: {
17048
+ /** @description API contract version used for the response */
17049
+ "Lbb-Version"?: string;
17050
+ /** @description Request correlation id */
17051
+ "X-Request-Id"?: string;
17052
+ [name: string]: unknown;
17053
+ };
17054
+ content: {
17055
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17056
+ };
17057
+ };
17058
+ /** @description Conflict */
17059
+ 409: {
17060
+ headers: {
17061
+ /** @description API contract version used for the response */
17062
+ "Lbb-Version"?: string;
17063
+ /** @description Request correlation id */
17064
+ "X-Request-Id"?: string;
17065
+ [name: string]: unknown;
17066
+ };
17067
+ content: {
17068
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17069
+ };
17070
+ };
17071
+ /** @description Rate limit exceeded */
17072
+ 429: {
17073
+ headers: {
17074
+ /** @description API contract version used for the response */
17075
+ "Lbb-Version"?: string;
17076
+ /** @description Request correlation id */
17077
+ "X-Request-Id"?: string;
17078
+ [name: string]: unknown;
17079
+ };
17080
+ content: {
17081
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17082
+ };
17083
+ };
17084
+ /** @description Internal server error */
17085
+ 500: {
17086
+ headers: {
17087
+ /** @description API contract version used for the response */
17088
+ "Lbb-Version"?: string;
17089
+ /** @description Request correlation id */
17090
+ "X-Request-Id"?: string;
17091
+ [name: string]: unknown;
17092
+ };
17093
+ content: {
17094
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17095
+ };
17096
+ };
17097
+ /** @description Service unavailable */
17098
+ 503: {
17099
+ headers: {
17100
+ /** @description API contract version used for the response */
17101
+ "Lbb-Version"?: string;
17102
+ /** @description Request correlation id */
17103
+ "X-Request-Id"?: string;
17104
+ [name: string]: unknown;
17105
+ };
17106
+ content: {
17107
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17108
+ };
17109
+ };
17110
+ };
17111
+ };
17112
+ get_v1_models_train_jobs: {
17113
+ parameters: {
17114
+ query?: {
17115
+ /** @description Graph name (default `main`) */
17116
+ graph?: string;
17117
+ /** @description Branch name (default `main`) */
17118
+ branch?: string;
17119
+ /** @description Stable job id returned by the submit call */
17120
+ job_id?: string;
17121
+ };
17122
+ header?: {
17123
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
17124
+ "Lbb-Version"?: string;
17125
+ };
17126
+ path?: never;
17127
+ cookie?: never;
17128
+ };
17129
+ requestBody?: never;
17130
+ responses: {
17131
+ /** @description OK */
17132
+ 200: {
17133
+ headers: {
17134
+ /** @description API contract version used for the response */
17135
+ "Lbb-Version"?: string;
17136
+ /** @description Request correlation id */
17137
+ "X-Request-Id"?: string;
17138
+ [name: string]: unknown;
17139
+ };
17140
+ content: {
17141
+ "application/json": components["schemas"]["TrainModelJobStatusResponse"];
17142
+ };
17143
+ };
17144
+ /** @description Bad request */
17145
+ 400: {
17146
+ headers: {
17147
+ /** @description API contract version used for the response */
17148
+ "Lbb-Version"?: string;
17149
+ /** @description Request correlation id */
17150
+ "X-Request-Id"?: string;
17151
+ [name: string]: unknown;
17152
+ };
17153
+ content: {
17154
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17155
+ };
17156
+ };
17157
+ /** @description Unauthorized */
17158
+ 401: {
17159
+ headers: {
17160
+ /** @description API contract version used for the response */
17161
+ "Lbb-Version"?: string;
17162
+ /** @description Request correlation id */
17163
+ "X-Request-Id"?: string;
17164
+ [name: string]: unknown;
17165
+ };
17166
+ content: {
17167
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17168
+ };
17169
+ };
17170
+ /** @description Forbidden */
17171
+ 403: {
17172
+ headers: {
17173
+ /** @description API contract version used for the response */
17174
+ "Lbb-Version"?: string;
17175
+ /** @description Request correlation id */
17176
+ "X-Request-Id"?: string;
17177
+ [name: string]: unknown;
17178
+ };
17179
+ content: {
17180
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17181
+ };
17182
+ };
17183
+ /** @description Not found */
17184
+ 404: {
17185
+ headers: {
17186
+ /** @description API contract version used for the response */
17187
+ "Lbb-Version"?: string;
17188
+ /** @description Request correlation id */
17189
+ "X-Request-Id"?: string;
17190
+ [name: string]: unknown;
17191
+ };
17192
+ content: {
17193
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17194
+ };
17195
+ };
17196
+ /** @description Conflict */
17197
+ 409: {
17198
+ headers: {
17199
+ /** @description API contract version used for the response */
17200
+ "Lbb-Version"?: string;
17201
+ /** @description Request correlation id */
17202
+ "X-Request-Id"?: string;
17203
+ [name: string]: unknown;
17204
+ };
17205
+ content: {
17206
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17207
+ };
17208
+ };
17209
+ /** @description Rate limit exceeded */
17210
+ 429: {
17211
+ headers: {
17212
+ /** @description API contract version used for the response */
17213
+ "Lbb-Version"?: string;
17214
+ /** @description Request correlation id */
17215
+ "X-Request-Id"?: string;
17216
+ [name: string]: unknown;
17217
+ };
17218
+ content: {
17219
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17220
+ };
17221
+ };
17222
+ /** @description Internal server error */
17223
+ 500: {
17224
+ headers: {
17225
+ /** @description API contract version used for the response */
17226
+ "Lbb-Version"?: string;
17227
+ /** @description Request correlation id */
17228
+ "X-Request-Id"?: string;
17229
+ [name: string]: unknown;
17230
+ };
17231
+ content: {
17232
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17233
+ };
17234
+ };
17235
+ /** @description Service unavailable */
17236
+ 503: {
17237
+ headers: {
17238
+ /** @description API contract version used for the response */
17239
+ "Lbb-Version"?: string;
17240
+ /** @description Request correlation id */
17241
+ "X-Request-Id"?: string;
17242
+ [name: string]: unknown;
17243
+ };
17244
+ content: {
17245
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17246
+ };
17247
+ };
17248
+ };
17249
+ };
17250
+ post_v1_models_train_jobs: {
17251
+ parameters: {
17252
+ query?: {
17253
+ /** @description Graph name (default `main`) */
17254
+ graph?: string;
17255
+ /** @description Branch name (default `main`) */
17256
+ branch?: string;
17257
+ };
17258
+ header?: {
17259
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
17260
+ "Lbb-Version"?: string;
17261
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
17262
+ "Idempotency-Key"?: string;
17263
+ };
17264
+ path?: never;
17265
+ cookie?: never;
17266
+ };
17267
+ requestBody: {
17268
+ content: {
17269
+ "application/json": components["schemas"]["TrainModelRequest"];
17270
+ };
17271
+ };
17272
+ responses: {
17273
+ /** @description OK */
17274
+ 200: {
17275
+ headers: {
17276
+ /** @description API contract version used for the response */
17277
+ "Lbb-Version"?: string;
17278
+ /** @description Request correlation id */
17279
+ "X-Request-Id"?: string;
17280
+ [name: string]: unknown;
17281
+ };
17282
+ content: {
17283
+ "application/json": components["schemas"]["TrainModelJobStatusResponse"];
17284
+ };
17285
+ };
17286
+ /** @description Bad request */
17287
+ 400: {
17288
+ headers: {
17289
+ /** @description API contract version used for the response */
17290
+ "Lbb-Version"?: string;
17291
+ /** @description Request correlation id */
17292
+ "X-Request-Id"?: string;
17293
+ [name: string]: unknown;
17294
+ };
17295
+ content: {
17296
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17297
+ };
17298
+ };
17299
+ /** @description Unauthorized */
17300
+ 401: {
17301
+ headers: {
17302
+ /** @description API contract version used for the response */
17303
+ "Lbb-Version"?: string;
17304
+ /** @description Request correlation id */
17305
+ "X-Request-Id"?: string;
17306
+ [name: string]: unknown;
17307
+ };
17308
+ content: {
17309
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17310
+ };
17311
+ };
17312
+ /** @description Forbidden */
17313
+ 403: {
17314
+ headers: {
17315
+ /** @description API contract version used for the response */
17316
+ "Lbb-Version"?: string;
17317
+ /** @description Request correlation id */
17318
+ "X-Request-Id"?: string;
17319
+ [name: string]: unknown;
17320
+ };
17321
+ content: {
17322
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17323
+ };
17324
+ };
17325
+ /** @description Not found */
17326
+ 404: {
17327
+ headers: {
17328
+ /** @description API contract version used for the response */
17329
+ "Lbb-Version"?: string;
17330
+ /** @description Request correlation id */
17331
+ "X-Request-Id"?: string;
17332
+ [name: string]: unknown;
17333
+ };
17334
+ content: {
17335
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17336
+ };
17337
+ };
17338
+ /** @description Conflict */
17339
+ 409: {
17340
+ headers: {
17341
+ /** @description API contract version used for the response */
17342
+ "Lbb-Version"?: string;
17343
+ /** @description Request correlation id */
17344
+ "X-Request-Id"?: string;
17345
+ [name: string]: unknown;
17346
+ };
17347
+ content: {
17348
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17349
+ };
17350
+ };
17351
+ /** @description Rate limit exceeded */
17352
+ 429: {
17353
+ headers: {
17354
+ /** @description API contract version used for the response */
17355
+ "Lbb-Version"?: string;
17356
+ /** @description Request correlation id */
17357
+ "X-Request-Id"?: string;
17358
+ [name: string]: unknown;
17359
+ };
17360
+ content: {
17361
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17362
+ };
17363
+ };
17364
+ /** @description Internal server error */
17365
+ 500: {
17366
+ headers: {
17367
+ /** @description API contract version used for the response */
17368
+ "Lbb-Version"?: string;
17369
+ /** @description Request correlation id */
17370
+ "X-Request-Id"?: string;
17371
+ [name: string]: unknown;
17372
+ };
17373
+ content: {
17374
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17375
+ };
17376
+ };
17377
+ /** @description Service unavailable */
17378
+ 503: {
17379
+ headers: {
17380
+ /** @description API contract version used for the response */
17381
+ "Lbb-Version"?: string;
17382
+ /** @description Request correlation id */
17383
+ "X-Request-Id"?: string;
17384
+ [name: string]: unknown;
17385
+ };
17386
+ content: {
17387
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
17388
+ };
17389
+ };
17390
+ };
17391
+ };
17392
+ post_v1_models_train_tick: {
17393
+ parameters: {
17394
+ query?: {
17395
+ /** @description Graph name (default `main`) */
17396
+ graph?: string;
17397
+ /** @description Branch name (default `main`) */
17398
+ branch?: string;
17399
+ };
17400
+ header?: {
17401
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
17402
+ "Lbb-Version"?: string;
17403
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
17404
+ "Idempotency-Key"?: string;
17405
+ };
17406
+ path?: never;
17407
+ cookie?: never;
17408
+ };
17409
+ requestBody: {
17410
+ content: {
17411
+ "application/json": components["schemas"]["TrainModelRequest"];
17412
+ };
17413
+ };
15529
17414
  responses: {
15530
17415
  /** @description OK */
15531
17416
  200: {
@@ -15537,7 +17422,7 @@ export interface operations {
15537
17422
  [name: string]: unknown;
15538
17423
  };
15539
17424
  content: {
15540
- "application/json": components["schemas"]["ModelRegistryResponse"];
17425
+ "application/json": components["schemas"]["TrainModelResponse"];
15541
17426
  };
15542
17427
  };
15543
17428
  /** @description Bad request */
@@ -15646,23 +17531,17 @@ export interface operations {
15646
17531
  };
15647
17532
  };
15648
17533
  };
15649
- post_v1_models_registry_gc: {
17534
+ get_v1_models_training_config: {
15650
17535
  parameters: {
15651
17536
  query?: {
15652
17537
  /** @description Graph name (default `main`) */
15653
17538
  graph?: string;
15654
17539
  /** @description Branch name (default `main`) */
15655
17540
  branch?: string;
15656
- /** @description Model kind */
15657
- kind?: string;
15658
- /** @description Most-recent runs to keep besides the promoted one (default 3) */
15659
- keep?: string;
15660
17541
  };
15661
17542
  header?: {
15662
17543
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
15663
17544
  "Lbb-Version"?: string;
15664
- /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
15665
- "Idempotency-Key"?: string;
15666
17545
  };
15667
17546
  path?: never;
15668
17547
  cookie?: never;
@@ -15679,7 +17558,7 @@ export interface operations {
15679
17558
  [name: string]: unknown;
15680
17559
  };
15681
17560
  content: {
15682
- "application/json": Record<string, never>;
17561
+ "application/json": components["schemas"]["ModelTrainingConfig"];
15683
17562
  };
15684
17563
  };
15685
17564
  /** @description Bad request */
@@ -15788,7 +17667,7 @@ export interface operations {
15788
17667
  };
15789
17668
  };
15790
17669
  };
15791
- post_v1_models_shadow_eval: {
17670
+ post_v1_models_training_config: {
15792
17671
  parameters: {
15793
17672
  query?: {
15794
17673
  /** @description Graph name (default `main`) */
@@ -15807,7 +17686,7 @@ export interface operations {
15807
17686
  };
15808
17687
  requestBody: {
15809
17688
  content: {
15810
- "application/json": components["schemas"]["ShadowEvalRequest"];
17689
+ "application/json": components["schemas"]["ModelTrainingConfig"];
15811
17690
  };
15812
17691
  };
15813
17692
  responses: {
@@ -15821,7 +17700,7 @@ export interface operations {
15821
17700
  [name: string]: unknown;
15822
17701
  };
15823
17702
  content: {
15824
- "application/json": components["schemas"]["ShadowEvalResponse"];
17703
+ "application/json": components["schemas"]["ModelTrainingConfig"];
15825
17704
  };
15826
17705
  };
15827
17706
  /** @description Bad request */
@@ -15930,17 +17809,13 @@ export interface operations {
15930
17809
  };
15931
17810
  };
15932
17811
  };
15933
- get_v1_models_split_audit: {
17812
+ get_v1_ontology: {
15934
17813
  parameters: {
15935
17814
  query?: {
15936
17815
  /** @description Graph name (default `main`) */
15937
17816
  graph?: string;
15938
17817
  /** @description Branch name (default `main`) */
15939
17818
  branch?: string;
15940
- /** @description Model kind */
15941
- kind?: string;
15942
- /** @description Run number */
15943
- run?: string;
15944
17819
  };
15945
17820
  header?: {
15946
17821
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
@@ -15961,7 +17836,7 @@ export interface operations {
15961
17836
  [name: string]: unknown;
15962
17837
  };
15963
17838
  content: {
15964
- "application/json": components["schemas"]["ModelSplitAudit"];
17839
+ "application/json": components["schemas"]["OntologyView"];
15965
17840
  };
15966
17841
  };
15967
17842
  /** @description Bad request */
@@ -16070,17 +17945,13 @@ export interface operations {
16070
17945
  };
16071
17946
  };
16072
17947
  };
16073
- get_v1_models_suggest_dataset: {
17948
+ get_v1_ontology_conformance: {
16074
17949
  parameters: {
16075
17950
  query?: {
16076
17951
  /** @description Graph name (default `main`) */
16077
17952
  graph?: string;
16078
17953
  /** @description Branch name (default `main`) */
16079
17954
  branch?: string;
16080
- /** @description Max probes (default 100, cap 200) */
16081
- limit?: string;
16082
- /** @description Consume signals ≤ this seq (default: head — recorded for the split audit) */
16083
- split_seq?: string;
16084
17955
  };
16085
17956
  header?: {
16086
17957
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
@@ -16101,7 +17972,7 @@ export interface operations {
16101
17972
  [name: string]: unknown;
16102
17973
  };
16103
17974
  content: {
16104
- "application/json": components["schemas"]["SuggestDatasetResponse"];
17975
+ "application/json": components["schemas"]["SchemaAuditReport"];
16105
17976
  };
16106
17977
  };
16107
17978
  /** @description Bad request */
@@ -16210,24 +18081,28 @@ export interface operations {
16210
18081
  };
16211
18082
  };
16212
18083
  };
16213
- get_v1_models_synthetic_eval: {
18084
+ post_v1_ontology_define: {
16214
18085
  parameters: {
16215
18086
  query?: {
16216
18087
  /** @description Graph name (default `main`) */
16217
18088
  graph?: string;
16218
18089
  /** @description Branch name (default `main`) */
16219
18090
  branch?: string;
16220
- /** @description Max probes (default 100, max 500) */
16221
- limit?: string;
16222
18091
  };
16223
18092
  header?: {
16224
18093
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
16225
18094
  "Lbb-Version"?: string;
18095
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
18096
+ "Idempotency-Key"?: string;
16226
18097
  };
16227
18098
  path?: never;
16228
18099
  cookie?: never;
16229
18100
  };
16230
- requestBody?: never;
18101
+ requestBody: {
18102
+ content: {
18103
+ "application/json": components["schemas"]["OntologyDefineRequest"];
18104
+ };
18105
+ };
16231
18106
  responses: {
16232
18107
  /** @description OK */
16233
18108
  200: {
@@ -16239,7 +18114,7 @@ export interface operations {
16239
18114
  [name: string]: unknown;
16240
18115
  };
16241
18116
  content: {
16242
- "application/json": components["schemas"]["SyntheticEvalResponse"];
18117
+ "application/json": components["schemas"]["OntologyDefineResponse"];
16243
18118
  };
16244
18119
  };
16245
18120
  /** @description Bad request */
@@ -16348,28 +18223,24 @@ export interface operations {
16348
18223
  };
16349
18224
  };
16350
18225
  };
16351
- post_v1_models_train_tick: {
18226
+ get_v1_ontology_drafts: {
16352
18227
  parameters: {
16353
18228
  query?: {
16354
18229
  /** @description Graph name (default `main`) */
16355
18230
  graph?: string;
16356
18231
  /** @description Branch name (default `main`) */
16357
18232
  branch?: string;
18233
+ /** @description Stable ontology draft identifier */
18234
+ draft_id?: string;
16358
18235
  };
16359
18236
  header?: {
16360
18237
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
16361
18238
  "Lbb-Version"?: string;
16362
- /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
16363
- "Idempotency-Key"?: string;
16364
18239
  };
16365
18240
  path?: never;
16366
18241
  cookie?: never;
16367
18242
  };
16368
- requestBody: {
16369
- content: {
16370
- "application/json": components["schemas"]["TrainModelRequest"];
16371
- };
16372
- };
18243
+ requestBody?: never;
16373
18244
  responses: {
16374
18245
  /** @description OK */
16375
18246
  200: {
@@ -16381,7 +18252,7 @@ export interface operations {
16381
18252
  [name: string]: unknown;
16382
18253
  };
16383
18254
  content: {
16384
- "application/json": components["schemas"]["TrainModelResponse"];
18255
+ "application/json": components["schemas"]["OntologyDraft"];
16385
18256
  };
16386
18257
  };
16387
18258
  /** @description Bad request */
@@ -16490,7 +18361,7 @@ export interface operations {
16490
18361
  };
16491
18362
  };
16492
18363
  };
16493
- get_v1_models_training_config: {
18364
+ post_v1_ontology_drafts: {
16494
18365
  parameters: {
16495
18366
  query?: {
16496
18367
  /** @description Graph name (default `main`) */
@@ -16501,11 +18372,17 @@ export interface operations {
16501
18372
  header?: {
16502
18373
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
16503
18374
  "Lbb-Version"?: string;
18375
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
18376
+ "Idempotency-Key"?: string;
16504
18377
  };
16505
18378
  path?: never;
16506
18379
  cookie?: never;
16507
18380
  };
16508
- requestBody?: never;
18381
+ requestBody: {
18382
+ content: {
18383
+ "application/json": components["schemas"]["OntologyDraftCreateRequest"];
18384
+ };
18385
+ };
16509
18386
  responses: {
16510
18387
  /** @description OK */
16511
18388
  200: {
@@ -16517,7 +18394,7 @@ export interface operations {
16517
18394
  [name: string]: unknown;
16518
18395
  };
16519
18396
  content: {
16520
- "application/json": components["schemas"]["ModelTrainingConfig"];
18397
+ "application/json": components["schemas"]["OntologyDraft"];
16521
18398
  };
16522
18399
  };
16523
18400
  /** @description Bad request */
@@ -16626,28 +18503,26 @@ export interface operations {
16626
18503
  };
16627
18504
  };
16628
18505
  };
16629
- post_v1_models_training_config: {
18506
+ post_v1_ontology_drafts_promote: {
16630
18507
  parameters: {
16631
18508
  query?: {
16632
18509
  /** @description Graph name (default `main`) */
16633
18510
  graph?: string;
16634
18511
  /** @description Branch name (default `main`) */
16635
18512
  branch?: string;
18513
+ /** @description Stable ontology draft identifier */
18514
+ draft_id?: string;
16636
18515
  };
16637
- header?: {
18516
+ header: {
16638
18517
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
16639
18518
  "Lbb-Version"?: string;
16640
18519
  /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
16641
- "Idempotency-Key"?: string;
18520
+ "Idempotency-Key": string;
16642
18521
  };
16643
18522
  path?: never;
16644
18523
  cookie?: never;
16645
18524
  };
16646
- requestBody: {
16647
- content: {
16648
- "application/json": components["schemas"]["ModelTrainingConfig"];
16649
- };
16650
- };
18525
+ requestBody?: never;
16651
18526
  responses: {
16652
18527
  /** @description OK */
16653
18528
  200: {
@@ -16659,7 +18534,7 @@ export interface operations {
16659
18534
  [name: string]: unknown;
16660
18535
  };
16661
18536
  content: {
16662
- "application/json": components["schemas"]["ModelTrainingConfig"];
18537
+ "application/json": components["schemas"]["OntologyDraft"];
16663
18538
  };
16664
18539
  };
16665
18540
  /** @description Bad request */
@@ -16768,17 +18643,23 @@ export interface operations {
16768
18643
  };
16769
18644
  };
16770
18645
  };
16771
- get_v1_ontology: {
18646
+ post_v1_ontology_drafts_reject: {
16772
18647
  parameters: {
16773
18648
  query?: {
16774
18649
  /** @description Graph name (default `main`) */
16775
18650
  graph?: string;
16776
18651
  /** @description Branch name (default `main`) */
16777
18652
  branch?: string;
18653
+ /** @description Stable ontology draft identifier */
18654
+ draft_id?: string;
18655
+ /** @description Auditable rejection reason */
18656
+ reason?: string;
16778
18657
  };
16779
18658
  header?: {
16780
18659
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
16781
18660
  "Lbb-Version"?: string;
18661
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
18662
+ "Idempotency-Key"?: string;
16782
18663
  };
16783
18664
  path?: never;
16784
18665
  cookie?: never;
@@ -16795,7 +18676,7 @@ export interface operations {
16795
18676
  [name: string]: unknown;
16796
18677
  };
16797
18678
  content: {
16798
- "application/json": components["schemas"]["OntologyView"];
18679
+ "application/json": components["schemas"]["OntologyDraft"];
16799
18680
  };
16800
18681
  };
16801
18682
  /** @description Bad request */
@@ -16904,17 +18785,21 @@ export interface operations {
16904
18785
  };
16905
18786
  };
16906
18787
  };
16907
- get_v1_ontology_conformance: {
18788
+ post_v1_ontology_drafts_validate: {
16908
18789
  parameters: {
16909
18790
  query?: {
16910
18791
  /** @description Graph name (default `main`) */
16911
18792
  graph?: string;
16912
18793
  /** @description Branch name (default `main`) */
16913
18794
  branch?: string;
18795
+ /** @description Stable ontology draft identifier */
18796
+ draft_id?: string;
16914
18797
  };
16915
18798
  header?: {
16916
18799
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
16917
18800
  "Lbb-Version"?: string;
18801
+ /** @description Stable client-generated key for safely retrying mutations. Required for fact commits. */
18802
+ "Idempotency-Key"?: string;
16918
18803
  };
16919
18804
  path?: never;
16920
18805
  cookie?: never;
@@ -16931,7 +18816,7 @@ export interface operations {
16931
18816
  [name: string]: unknown;
16932
18817
  };
16933
18818
  content: {
16934
- "application/json": components["schemas"]["SchemaAuditReport"];
18819
+ "application/json": components["schemas"]["OntologyDraft"];
16935
18820
  };
16936
18821
  };
16937
18822
  /** @description Bad request */
@@ -17040,13 +18925,15 @@ export interface operations {
17040
18925
  };
17041
18926
  };
17042
18927
  };
17043
- post_v1_ontology_define: {
18928
+ post_v1_ontology_evolve: {
17044
18929
  parameters: {
17045
18930
  query?: {
17046
18931
  /** @description Graph name (default `main`) */
17047
18932
  graph?: string;
17048
18933
  /** @description Branch name (default `main`) */
17049
18934
  branch?: string;
18935
+ /** @description Validate and return the exact predicted evolution without writing an ontology object or graph head */
18936
+ dry_run?: string;
17050
18937
  };
17051
18938
  header?: {
17052
18939
  /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
@@ -17059,7 +18946,7 @@ export interface operations {
17059
18946
  };
17060
18947
  requestBody: {
17061
18948
  content: {
17062
- "application/json": components["schemas"]["OntologyDefineRequest"];
18949
+ "application/json": components["schemas"]["OntologyEvolveRequest"];
17063
18950
  };
17064
18951
  };
17065
18952
  responses: {
@@ -17073,7 +18960,7 @@ export interface operations {
17073
18960
  [name: string]: unknown;
17074
18961
  };
17075
18962
  content: {
17076
- "application/json": components["schemas"]["OntologyDefineResponse"];
18963
+ "application/json": components["schemas"]["OntologyEvolveResponse"];
17077
18964
  };
17078
18965
  };
17079
18966
  /** @description Bad request */
@@ -17182,7 +19069,7 @@ export interface operations {
17182
19069
  };
17183
19070
  };
17184
19071
  };
17185
- post_v1_ontology_evolve: {
19072
+ post_v1_ontology_induce: {
17186
19073
  parameters: {
17187
19074
  query?: {
17188
19075
  /** @description Graph name (default `main`) */
@@ -17201,7 +19088,7 @@ export interface operations {
17201
19088
  };
17202
19089
  requestBody: {
17203
19090
  content: {
17204
- "application/json": components["schemas"]["OntologyEvolveRequest"];
19091
+ "application/json": components["schemas"]["OntologyInduceRequest"];
17205
19092
  };
17206
19093
  };
17207
19094
  responses: {
@@ -17215,7 +19102,7 @@ export interface operations {
17215
19102
  [name: string]: unknown;
17216
19103
  };
17217
19104
  content: {
17218
- "application/json": components["schemas"]["OntologyEvolveResponse"];
19105
+ "application/json": components["schemas"]["OntologyInduceResponse"];
17219
19106
  };
17220
19107
  };
17221
19108
  /** @description Bad request */
@@ -17324,7 +19211,7 @@ export interface operations {
17324
19211
  };
17325
19212
  };
17326
19213
  };
17327
- post_v1_ontology_induce: {
19214
+ post_v1_ontology_resolve: {
17328
19215
  parameters: {
17329
19216
  query?: {
17330
19217
  /** @description Graph name (default `main`) */
@@ -17343,7 +19230,7 @@ export interface operations {
17343
19230
  };
17344
19231
  requestBody: {
17345
19232
  content: {
17346
- "application/json": components["schemas"]["OntologyInduceRequest"];
19233
+ "application/json": components["schemas"]["OntologyResolveRequest"];
17347
19234
  };
17348
19235
  };
17349
19236
  responses: {
@@ -17357,7 +19244,7 @@ export interface operations {
17357
19244
  [name: string]: unknown;
17358
19245
  };
17359
19246
  content: {
17360
- "application/json": components["schemas"]["OntologyInduceResponse"];
19247
+ "application/json": components["schemas"]["OntologyResolveResponse"];
17361
19248
  };
17362
19249
  };
17363
19250
  /** @description Bad request */
@@ -17466,7 +19353,7 @@ export interface operations {
17466
19353
  };
17467
19354
  };
17468
19355
  };
17469
- post_v1_ontology_resolve: {
19356
+ post_v1_ontology_search: {
17470
19357
  parameters: {
17471
19358
  query?: {
17472
19359
  /** @description Graph name (default `main`) */
@@ -17485,7 +19372,7 @@ export interface operations {
17485
19372
  };
17486
19373
  requestBody: {
17487
19374
  content: {
17488
- "application/json": components["schemas"]["OntologyResolveRequest"];
19375
+ "application/json": components["schemas"]["OntologySearchRequest"];
17489
19376
  };
17490
19377
  };
17491
19378
  responses: {
@@ -17499,7 +19386,7 @@ export interface operations {
17499
19386
  [name: string]: unknown;
17500
19387
  };
17501
19388
  content: {
17502
- "application/json": components["schemas"]["OntologyResolveResponse"];
19389
+ "application/json": components["schemas"]["OntologySearchResponse"];
17503
19390
  };
17504
19391
  };
17505
19392
  /** @description Bad request */
@@ -17608,7 +19495,7 @@ export interface operations {
17608
19495
  };
17609
19496
  };
17610
19497
  };
17611
- post_v1_ontology_search: {
19498
+ post_v1_query_analytics: {
17612
19499
  parameters: {
17613
19500
  query?: {
17614
19501
  /** @description Graph name (default `main`) */
@@ -17627,7 +19514,7 @@ export interface operations {
17627
19514
  };
17628
19515
  requestBody: {
17629
19516
  content: {
17630
- "application/json": components["schemas"]["OntologySearchRequest"];
19517
+ "application/json": components["schemas"]["AnalyticQueryRequest"];
17631
19518
  };
17632
19519
  };
17633
19520
  responses: {
@@ -17641,7 +19528,7 @@ export interface operations {
17641
19528
  [name: string]: unknown;
17642
19529
  };
17643
19530
  content: {
17644
- "application/json": components["schemas"]["OntologySearchResponse"];
19531
+ "application/json": components["schemas"]["AnalyticQueryResponse"];
17645
19532
  };
17646
19533
  };
17647
19534
  /** @description Bad request */
@@ -17750,7 +19637,7 @@ export interface operations {
17750
19637
  };
17751
19638
  };
17752
19639
  };
17753
- post_v1_query_analytics: {
19640
+ post_v1_query_conflicts: {
17754
19641
  parameters: {
17755
19642
  query?: {
17756
19643
  /** @description Graph name (default `main`) */
@@ -17769,7 +19656,7 @@ export interface operations {
17769
19656
  };
17770
19657
  requestBody: {
17771
19658
  content: {
17772
- "application/json": components["schemas"]["AnalyticQueryRequest"];
19659
+ "application/json": components["schemas"]["GovernedConflictAggregationRequest"];
17773
19660
  };
17774
19661
  };
17775
19662
  responses: {
@@ -17783,7 +19670,7 @@ export interface operations {
17783
19670
  [name: string]: unknown;
17784
19671
  };
17785
19672
  content: {
17786
- "application/json": components["schemas"]["AnalyticQueryResponse"];
19673
+ "application/json": components["schemas"]["GovernedConflictAggregationResponse"];
17787
19674
  };
17788
19675
  };
17789
19676
  /** @description Bad request */
@@ -20156,6 +22043,142 @@ export interface operations {
20156
22043
  };
20157
22044
  };
20158
22045
  };
22046
+ get_v1_search_feedback_summary: {
22047
+ parameters: {
22048
+ query?: {
22049
+ /** @description Graph name (default `main`) */
22050
+ graph?: string;
22051
+ /** @description Branch name (default `main`) */
22052
+ branch?: string;
22053
+ };
22054
+ header?: {
22055
+ /** @description API contract version to pin. Use `2026-06-22` for this beta-breaking shape. */
22056
+ "Lbb-Version"?: string;
22057
+ };
22058
+ path?: never;
22059
+ cookie?: never;
22060
+ };
22061
+ requestBody?: never;
22062
+ responses: {
22063
+ /** @description OK */
22064
+ 200: {
22065
+ headers: {
22066
+ /** @description API contract version used for the response */
22067
+ "Lbb-Version"?: string;
22068
+ /** @description Request correlation id */
22069
+ "X-Request-Id"?: string;
22070
+ [name: string]: unknown;
22071
+ };
22072
+ content: {
22073
+ "application/json": components["schemas"]["SearchFeedbackSummaryResponse"];
22074
+ };
22075
+ };
22076
+ /** @description Bad request */
22077
+ 400: {
22078
+ headers: {
22079
+ /** @description API contract version used for the response */
22080
+ "Lbb-Version"?: string;
22081
+ /** @description Request correlation id */
22082
+ "X-Request-Id"?: string;
22083
+ [name: string]: unknown;
22084
+ };
22085
+ content: {
22086
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
22087
+ };
22088
+ };
22089
+ /** @description Unauthorized */
22090
+ 401: {
22091
+ headers: {
22092
+ /** @description API contract version used for the response */
22093
+ "Lbb-Version"?: string;
22094
+ /** @description Request correlation id */
22095
+ "X-Request-Id"?: string;
22096
+ [name: string]: unknown;
22097
+ };
22098
+ content: {
22099
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
22100
+ };
22101
+ };
22102
+ /** @description Forbidden */
22103
+ 403: {
22104
+ headers: {
22105
+ /** @description API contract version used for the response */
22106
+ "Lbb-Version"?: string;
22107
+ /** @description Request correlation id */
22108
+ "X-Request-Id"?: string;
22109
+ [name: string]: unknown;
22110
+ };
22111
+ content: {
22112
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
22113
+ };
22114
+ };
22115
+ /** @description Not found */
22116
+ 404: {
22117
+ headers: {
22118
+ /** @description API contract version used for the response */
22119
+ "Lbb-Version"?: string;
22120
+ /** @description Request correlation id */
22121
+ "X-Request-Id"?: string;
22122
+ [name: string]: unknown;
22123
+ };
22124
+ content: {
22125
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
22126
+ };
22127
+ };
22128
+ /** @description Conflict */
22129
+ 409: {
22130
+ headers: {
22131
+ /** @description API contract version used for the response */
22132
+ "Lbb-Version"?: string;
22133
+ /** @description Request correlation id */
22134
+ "X-Request-Id"?: string;
22135
+ [name: string]: unknown;
22136
+ };
22137
+ content: {
22138
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
22139
+ };
22140
+ };
22141
+ /** @description Rate limit exceeded */
22142
+ 429: {
22143
+ headers: {
22144
+ /** @description API contract version used for the response */
22145
+ "Lbb-Version"?: string;
22146
+ /** @description Request correlation id */
22147
+ "X-Request-Id"?: string;
22148
+ [name: string]: unknown;
22149
+ };
22150
+ content: {
22151
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
22152
+ };
22153
+ };
22154
+ /** @description Internal server error */
22155
+ 500: {
22156
+ headers: {
22157
+ /** @description API contract version used for the response */
22158
+ "Lbb-Version"?: string;
22159
+ /** @description Request correlation id */
22160
+ "X-Request-Id"?: string;
22161
+ [name: string]: unknown;
22162
+ };
22163
+ content: {
22164
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
22165
+ };
22166
+ };
22167
+ /** @description Service unavailable */
22168
+ 503: {
22169
+ headers: {
22170
+ /** @description API contract version used for the response */
22171
+ "Lbb-Version"?: string;
22172
+ /** @description Request correlation id */
22173
+ "X-Request-Id"?: string;
22174
+ [name: string]: unknown;
22175
+ };
22176
+ content: {
22177
+ "application/json": components["schemas"]["LbbErrorEnvelope"];
22178
+ };
22179
+ };
22180
+ };
22181
+ };
20159
22182
  post_v1_search_full_text: {
20160
22183
  parameters: {
20161
22184
  query?: {