@holonograph/client 0.7.0 → 0.8.0

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 (3) hide show
  1. package/dist/index.d.ts +7556 -1971
  2. package/dist/index.js +916 -12
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -4010,6 +4010,13 @@ var ALL_SUBSTRATE_COLUMN_SEMANTICS = ["deployment-state", "diagnostic"];
4010
4010
  var SubstrateColumnSemanticSchema = external_exports.enum(ALL_SUBSTRATE_COLUMN_SEMANTICS);
4011
4011
  var ALL_EMISSION_EXPECTATIONS = ["always", "conditional"];
4012
4012
  var EmissionExpectationSchema = external_exports.enum(ALL_EMISSION_EXPECTATIONS);
4013
+ var CoOccurrenceEmissionSchema = external_exports.object({
4014
+ whenever: external_exports.string().min(1)
4015
+ });
4016
+ var EmissionExpectationDeclarationSchema = external_exports.union([
4017
+ EmissionExpectationSchema,
4018
+ CoOccurrenceEmissionSchema
4019
+ ]);
4013
4020
  var SubstrateColumnStatusSchema = external_exports.enum(["active", "forward-declared", "deprecated"]);
4014
4021
  var SubstrateColumnSchema = external_exports.object({
4015
4022
  id: external_exports.string().min(1).max(128),
@@ -4021,7 +4028,7 @@ var SubstrateColumnSchema = external_exports.object({
4021
4028
 
4022
4029
  values: external_exports.array(external_exports.string().min(1)).min(1).optional(),
4023
4030
 
4024
- emissionExpectation: EmissionExpectationSchema.optional(),
4031
+ emissionExpectation: EmissionExpectationDeclarationSchema.optional(),
4025
4032
 
4026
4033
  status: SubstrateColumnStatusSchema.optional()
4027
4034
  });
@@ -4097,9 +4104,46 @@ new Set(
4097
4104
  PLATFORM_SYSTEM_ROLE_SURFACES.map((s) => s.surfaceId)
4098
4105
  );
4099
4106
 
4107
+ var RubricDispatchSchema = external_exports.object({
4108
+
4109
+ facet: external_exports.string().min(1).max(128),
4110
+
4111
+ refsFrom: external_exports.string().min(1),
4112
+
4113
+ refs: external_exports.record(external_exports.string().min(1), external_exports.string().min(1)).optional()
4114
+ });
4115
+ var ALL_RUBRIC_DEFAULT_REASONS = [
4116
+ "facet-tag-absent",
4117
+ "unmatched-value",
4118
+ "no-bespoke-ref",
4119
+ "pin-unresolved"
4120
+ ];
4121
+ var RubricDefaultReasonSchema = external_exports.enum(ALL_RUBRIC_DEFAULT_REASONS);
4122
+ var ALL_RUBRIC_SOURCES = ["facet", "default"];
4123
+ var RubricSourceSchema = external_exports.enum(ALL_RUBRIC_SOURCES);
4124
+ var JUDGE_RUBRIC_SOURCE_COLUMN_ID = "judge.rubric_source";
4125
+ var JUDGE_RUBRIC_DEFAULT_REASON_COLUMN_ID = "judge.rubric_default_reason";
4126
+ var JUDGE_RUBRIC_FACET_COLUMN_ID = "judge.rubric_facet";
4127
+ function normalizeFacetValue(raw) {
4128
+ return raw.normalize("NFKD").replace(/[̀-ͯ]/g, "").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
4129
+ }
4130
+ function rubricDispatchColumns(resolved) {
4131
+ const columns = {
4132
+ [JUDGE_RUBRIC_SOURCE_COLUMN_ID]: resolved.source
4133
+ };
4134
+ if (resolved.reason !== void 0) {
4135
+ columns[JUDGE_RUBRIC_DEFAULT_REASON_COLUMN_ID] = resolved.reason;
4136
+ }
4137
+ if (resolved.facetValue !== null && resolved.facetValue.length > 0) {
4138
+ columns[JUDGE_RUBRIC_FACET_COLUMN_ID] = resolved.facetValue;
4139
+ }
4140
+ return columns;
4141
+ }
4142
+
4100
4143
  var JUDGE_RUBRIC_HASH_COLUMN_ID = "judge.rubric_hash";
4101
4144
  var JUDGE_CONTEXT_SCOPE_COLUMN_ID = "judge.context_scope";
4102
4145
  var JUDGE_MODEL_COLUMN_ID = "judge.model";
4146
+ var JUDGE_GROUNDING_CAPS_COLUMN_ID = "judge.grounding_caps";
4103
4147
  var JUDGE_RESERVED_COLUMN_NAMESPACE_PREFIX = "judge.";
4104
4148
  var JUDGE_CONTEXT_SCOPES = [
4105
4149
  "rubric_actual",
@@ -4114,7 +4158,9 @@ var JudgeIdentitySchema = external_exports.object({
4114
4158
 
4115
4159
  contextScope: JudgeContextScopeSchema.optional(),
4116
4160
 
4117
- model: external_exports.string().min(1).optional()
4161
+ model: external_exports.string().min(1).optional(),
4162
+
4163
+ groundingCaps: external_exports.string().min(1).optional()
4118
4164
  });
4119
4165
  function judgeIdentityColumns(identity) {
4120
4166
  const columns = {};
@@ -4122,6 +4168,8 @@ function judgeIdentityColumns(identity) {
4122
4168
  if (identity.contextScope !== void 0)
4123
4169
  columns[JUDGE_CONTEXT_SCOPE_COLUMN_ID] = identity.contextScope;
4124
4170
  if (identity.model !== void 0) columns[JUDGE_MODEL_COLUMN_ID] = identity.model;
4171
+ if (identity.groundingCaps !== void 0)
4172
+ columns[JUDGE_GROUNDING_CAPS_COLUMN_ID] = identity.groundingCaps;
4125
4173
  return columns;
4126
4174
  }
4127
4175
  var JudgeLensIdentityObservationSchema = external_exports.object({
@@ -4130,7 +4178,25 @@ var JudgeLensIdentityObservationSchema = external_exports.object({
4130
4178
 
4131
4179
  contextScope: external_exports.array(external_exports.string().min(1)).optional(),
4132
4180
 
4133
- model: external_exports.array(external_exports.string().min(1)).optional()
4181
+ model: external_exports.array(external_exports.string().min(1)).optional(),
4182
+
4183
+ groundingCaps: external_exports.array(external_exports.string().min(1)).optional()
4184
+ });
4185
+ var DimensionJudgeIdentitySchema = external_exports.object({
4186
+
4187
+ rubricHash: external_exports.string().min(1).optional(),
4188
+
4189
+ contextScope: JudgeContextScopeSchema.optional(),
4190
+
4191
+ model: external_exports.string().min(1).optional(),
4192
+
4193
+ groundingCaps: external_exports.string().min(1).optional(),
4194
+
4195
+ rubricSource: RubricSourceSchema.optional(),
4196
+
4197
+ rubricFacet: external_exports.string().min(1).optional(),
4198
+
4199
+ rubricDefaultReason: external_exports.string().min(1).optional()
4134
4200
  });
4135
4201
 
4136
4202
  var CannedMessageRefSchema = external_exports.string().min(1).max(256);
@@ -4195,6 +4261,14 @@ var ValueDomainSchema = external_exports.discriminatedUnion("kind", [
4195
4261
  values: external_exports.array(external_exports.string().min(1)).min(1)
4196
4262
  })
4197
4263
  ]);
4264
+ var SCORING_CODOMAIN = {
4265
+ "llm-judge": { min: 0, max: 10 },
4266
+ "exact-match": { min: 0, max: 1 },
4267
+ custom: null
4268
+ };
4269
+ function scoringCodomain(strategy) {
4270
+ return SCORING_CODOMAIN[strategy];
4271
+ }
4198
4272
  var GradingDimensionSchema = external_exports.object({
4199
4273
 
4200
4274
  id: DimensionIdSchema,
@@ -4209,7 +4283,57 @@ var GradingDimensionSchema = external_exports.object({
4209
4283
 
4210
4284
  gatePolicy: GatePolicySchema.optional(),
4211
4285
 
4212
- valueDomain: ValueDomainSchema.optional()
4286
+ valueDomain: ValueDomainSchema.optional(),
4287
+
4288
+ rubricDispatch: RubricDispatchSchema.optional()
4289
+ }).superRefine((dimension, ctx) => {
4290
+ const codomain = scoringCodomain(dimension.scoring);
4291
+ if (codomain === null) return;
4292
+ const check = (value, path) => {
4293
+ if (value === void 0) return;
4294
+ if (value < codomain.min || value > codomain.max) {
4295
+ ctx.addIssue({
4296
+ code: external_exports.ZodIssueCode.custom,
4297
+ path,
4298
+ message: `passThreshold ${String(value)} is outside the ${dimension.scoring} codomain [${String(codomain.min)}, ${String(codomain.max)}]. ` + (dimension.scoring === "llm-judge" ? `The llm-judge scorer emits a 0\u201310 score; a threshold on another scale never gates as intended. ` : `exact-match emits 1 (pass) or 0 (fail). `) + `Declare passThreshold within [${String(codomain.min)}, ${String(codomain.max)}].`
4299
+ });
4300
+ }
4301
+ };
4302
+ check(dimension.passThreshold, ["passThreshold"]);
4303
+ check(dimension.gatePolicy?.passThreshold, ["gatePolicy", "passThreshold"]);
4304
+ if (dimension.rubricDispatch !== void 0) {
4305
+ if (dimension.scoring !== "llm-judge") {
4306
+ ctx.addIssue({
4307
+ code: external_exports.ZodIssueCode.custom,
4308
+ path: ["rubricDispatch"],
4309
+ message: `rubricDispatch is only valid on an 'llm-judge' dimension (this dimension is '${dimension.scoring}'); only the llm-judge scorer resolves a rubric.`
4310
+ });
4311
+ }
4312
+ if (dimension.rubricRef === void 0 || dimension.rubricRef === "") {
4313
+ ctx.addIssue({
4314
+ code: external_exports.ZodIssueCode.custom,
4315
+ path: ["rubricDispatch"],
4316
+ message: `a dimension with rubricDispatch must also declare 'rubricRef' \u2014 it is the REQUIRED default rubric an unknown/unmatched facet falls back to.`
4317
+ });
4318
+ }
4319
+ const refs = dimension.rubricDispatch.refs;
4320
+ if (refs !== void 0) {
4321
+ const byNormalized = new Map();
4322
+ for (const key of Object.keys(refs)) {
4323
+ const norm = normalizeFacetValue(key);
4324
+ const prior = byNormalized.get(norm);
4325
+ if (prior !== void 0) {
4326
+ ctx.addIssue({
4327
+ code: external_exports.ZodIssueCode.custom,
4328
+ path: ["rubricDispatch", "refs", key],
4329
+ message: `rubricDispatch.refs keys '${prior}' and '${key}' normalize to the same facet value '${norm}' \u2014 an ambiguous pin. Give them distinct normalized values.`
4330
+ });
4331
+ } else {
4332
+ byNormalized.set(norm, key);
4333
+ }
4334
+ }
4335
+ }
4336
+ }
4213
4337
  });
4214
4338
  var SurfaceStatusSchema = external_exports.enum(["active", "forward-declared", "deprecated"]);
4215
4339
  var RemovalSupersededBySchema = external_exports.object({
@@ -4238,6 +4362,41 @@ var RemovedCohortTagSchema = RemovalProvenanceSchema.extend({
4238
4362
 
4239
4363
  tag: CohortTagSchema
4240
4364
  });
4365
+ var TrajectoryPolicySchema = external_exports.object({
4366
+
4367
+ conversationIdColumn: external_exports.string().min(1).optional(),
4368
+
4369
+ refusalPatterns: external_exports.array(external_exports.string().min(1)).optional(),
4370
+
4371
+ reaskPatterns: external_exports.array(external_exports.string().min(1)).optional(),
4372
+
4373
+ availableTools: external_exports.array(external_exports.string().min(1)).optional(),
4374
+
4375
+ nullKeyValues: external_exports.array(external_exports.string().min(1)).optional(),
4376
+
4377
+ coarseKeyPatterns: external_exports.array(external_exports.string().min(1)).optional()
4378
+ });
4379
+ var ALL_POST_OUTCOME_STAGE_KINDS = [
4380
+ "deferred-delivery",
4381
+ "filter",
4382
+ "cache",
4383
+ "rate-limit",
4384
+ "fan-in",
4385
+ "other"
4386
+ ];
4387
+ var PostOutcomeStageKindSchema = external_exports.enum(ALL_POST_OUTCOME_STAGE_KINDS);
4388
+ var ALL_POST_OUTCOME_OBSERVABILITIES = ["declared", "reconciled"];
4389
+ var PostOutcomeObservabilitySchema = external_exports.enum(ALL_POST_OUTCOME_OBSERVABILITIES);
4390
+ var PostOutcomeStageSchema = external_exports.object({
4391
+
4392
+ kind: PostOutcomeStageKindSchema,
4393
+
4394
+ observability: PostOutcomeObservabilitySchema.default("declared"),
4395
+
4396
+ description: external_exports.string().optional(),
4397
+
4398
+ settleMs: external_exports.number().int().positive().optional()
4399
+ });
4241
4400
  var SurfaceDeclarationSchema = external_exports.object({
4242
4401
 
4243
4402
  id: SurfaceIdSchema,
@@ -4256,7 +4415,11 @@ var SurfaceDeclarationSchema = external_exports.object({
4256
4415
 
4257
4416
  removedDimensions: external_exports.array(RemovedDimensionSchema).default([]),
4258
4417
 
4259
- removedCohortTags: external_exports.array(RemovedCohortTagSchema).default([])
4418
+ removedCohortTags: external_exports.array(RemovedCohortTagSchema).default([]),
4419
+
4420
+ trajectoryPolicy: TrajectoryPolicySchema.optional(),
4421
+
4422
+ postOutcomeStages: external_exports.array(external_exports.string().min(1)).optional()
4260
4423
  });
4261
4424
  var PricingEntrySchema = external_exports.object({
4262
4425
 
@@ -4292,6 +4455,8 @@ external_exports.object({
4292
4455
 
4293
4456
  surfaces: external_exports.array(SurfaceDeclarationSchema),
4294
4457
 
4458
+ postOutcomeStages: external_exports.record(external_exports.string().min(1), PostOutcomeStageSchema).optional(),
4459
+
4295
4460
  routings: external_exports.array(SurfaceRoutingSchema).optional(),
4296
4461
 
4297
4462
  pricing: external_exports.record(external_exports.string(), PricingEntrySchema).optional(),
@@ -4782,7 +4947,8 @@ var LightSnapshotSchema = external_exports.object({
4782
4947
  rawRequestOmitted: external_exports.boolean().optional(),
4783
4948
 
4784
4949
  rawResponsePresence: external_exports.enum(["present", "omitted-by-policy", "pending-attach", "failed-attach"]).optional()
4785
- });
4950
+
4951
+ }).passthrough();
4786
4952
  var DimensionResultSchema = external_exports.object({
4787
4953
  dimensionId: DimensionIdSchema,
4788
4954
  passed: external_exports.boolean(),
@@ -4793,8 +4959,11 @@ var DimensionResultSchema = external_exports.object({
4793
4959
 
4794
4960
  score: external_exports.number().optional(),
4795
4961
 
4796
- rationale: external_exports.string().optional()
4797
- });
4962
+ rationale: external_exports.string().optional(),
4963
+
4964
+ judge: DimensionJudgeIdentitySchema.optional()
4965
+
4966
+ }).passthrough();
4798
4967
  var ALL_GATE_ACTIONS_TAKEN = [
4799
4968
  "pass",
4800
4969
  "retry-then-pass",
@@ -4804,6 +4973,21 @@ var ALL_GATE_ACTIONS_TAKEN = [
4804
4973
  "block"
4805
4974
  ];
4806
4975
  var GateActionTakenSchema = external_exports.enum(ALL_GATE_ACTIONS_TAKEN);
4976
+ var DispatchDecisionSchema = external_exports.object({
4977
+
4978
+ dimensionId: DimensionIdSchema,
4979
+
4980
+ scoringStrategy: external_exports.string(),
4981
+
4982
+ dispatchOccurred: external_exports.boolean(),
4983
+
4984
+ rubricResolution: external_exports.object({
4985
+ attempted: external_exports.boolean(),
4986
+ succeeded: external_exports.boolean(),
4987
+ rubricHash: external_exports.string().optional(),
4988
+ failureSubtype: external_exports.enum(["unloadable-rubric", "never-dispatched", "missing-ref"]).optional()
4989
+ }).optional()
4990
+ });
4807
4991
  var GateOutcomeSchema = external_exports.object({
4808
4992
 
4809
4993
  action: GateActionTakenSchema,
@@ -4821,7 +5005,9 @@ var GateOutcomeSchema = external_exports.object({
4821
5005
  })
4822
5006
  ).default([]),
4823
5007
 
4824
- actionDetails: external_exports.record(external_exports.string(), external_exports.unknown()).optional()
5008
+ actionDetails: external_exports.record(external_exports.string(), external_exports.unknown()).optional(),
5009
+
5010
+ dispatchDecisions: external_exports.array(DispatchDecisionSchema).optional()
4825
5011
  });
4826
5012
  var SurfaceSnapshotSchema = external_exports.object({
4827
5013
  surfaceId: SurfaceIdSchema,
@@ -4842,7 +5028,8 @@ var SurfaceSnapshotSchema = external_exports.object({
4842
5028
  ).default([]),
4843
5029
 
4844
5030
  gateOutcome: GateOutcomeSchema.optional()
4845
- });
5031
+
5032
+ }).passthrough();
4846
5033
  var EvaluationEventKindSchema = external_exports.enum([
4847
5034
  "evaluation",
4848
5035
  "availability.transition",
@@ -5715,6 +5902,714 @@ external_exports.object({
5715
5902
  agreementRate: external_exports.number().min(0).max(1).nullable()
5716
5903
  });
5717
5904
 
5905
+ var TrajectoryPredicateSchema = external_exports.enum([
5906
+ "p3-disclaim-then-recover",
5907
+ "p2-user-reask",
5908
+ "p1-and-t4"
5909
+ ]);
5910
+ var TrajectoryEvidenceRoleSchema = external_exports.enum([
5911
+ "refusal",
5912
+ "recovery",
5913
+ "user-reask",
5914
+ "availability-unused"
5915
+ ]);
5916
+ var TrajectoryFindingEvidenceSchema = external_exports.object({
5917
+
5918
+ turnIndex: external_exports.number().int().nonnegative(),
5919
+
5920
+ eventId: external_exports.string().min(1),
5921
+
5922
+ occurredAt: external_exports.string().min(1),
5923
+
5924
+ role: TrajectoryEvidenceRoleSchema,
5925
+
5926
+ note: external_exports.string().max(512).optional()
5927
+ });
5928
+ var TrajectoryFindingSchema = external_exports.object({
5929
+
5930
+ predicate: TrajectoryPredicateSchema,
5931
+
5932
+ conversationId: external_exports.string().min(1),
5933
+
5934
+ surfaceId: SurfaceIdSchema,
5935
+
5936
+ offendingTurnIndices: external_exports.array(external_exports.number().int().nonnegative()).min(1),
5937
+
5938
+ evidence: external_exports.array(TrajectoryFindingEvidenceSchema).min(1),
5939
+
5940
+ detectedAt: external_exports.string().min(1).optional()
5941
+ });
5942
+ external_exports.object({
5943
+
5944
+ trajectoryCount: external_exports.number().int().nonnegative(),
5945
+
5946
+ nullKeyEventCount: external_exports.number().int().nonnegative(),
5947
+
5948
+ coarseKeyEventCount: external_exports.number().int().nonnegative(),
5949
+
5950
+ evaluatedTurnCount: external_exports.number().int().nonnegative(),
5951
+
5952
+ noOutputTextTurnCount: external_exports.number().int().nonnegative(),
5953
+
5954
+ predicatesEvaluated: external_exports.array(TrajectoryPredicateSchema),
5955
+
5956
+ findings: external_exports.array(TrajectoryFindingSchema)
5957
+ });
5958
+
5959
+ var LessonsDraftingSurfaceKeySchema = external_exports.enum([
5960
+ "skillDrafting",
5961
+ "lessonDrafting",
5962
+ "fixtureGeneration"
5963
+ ]);
5964
+ LessonsDraftingSurfaceKeySchema.options;
5965
+ var LessonsCapabilityStatusSchema = external_exports.enum(["available", "unavailable", "degraded"]);
5966
+ var LessonsCapabilityReasonSchema = external_exports.enum(["opted-out", "enablement-changed"]);
5967
+ external_exports.object({
5968
+ status: LessonsCapabilityStatusSchema,
5969
+
5970
+ reason: LessonsCapabilityReasonSchema.optional(),
5971
+
5972
+ missingKeys: external_exports.array(LessonsDraftingSurfaceKeySchema).optional()
5973
+ });
5974
+
5975
+ var ALL_FINDING_SOURCES = [
5976
+ "verdict-reliability",
5977
+ "judge-liveness",
5978
+ "trajectory",
5979
+ "orthogonality-hypothesis",
5980
+ "coverage-gap",
5981
+ "quarantine-candidate",
5982
+ "retirement-candidate",
5983
+ "dark-mass-blindspot",
5984
+ "emission-gap",
5985
+ "reach-gap"
5986
+ ];
5987
+ var FindingSourceSchema = external_exports.enum(ALL_FINDING_SOURCES);
5988
+ var ALL_FINDING_GRAINS = ["run", "conversation", "structural"];
5989
+ var FindingGrainSchema = external_exports.enum(ALL_FINDING_GRAINS);
5990
+ var FindingRefSchema = external_exports.object({
5991
+ primary: external_exports.object({
5992
+ grain: FindingGrainSchema,
5993
+
5994
+ id: external_exports.string().min(1)
5995
+ }),
5996
+ attributes: external_exports.object({
5997
+ source: FindingSourceSchema,
5998
+ surfaceId: SurfaceIdSchema,
5999
+ dimensionId: DimensionIdSchema.optional(),
6000
+
6001
+ driver: external_exports.string().min(1).optional(),
6002
+
6003
+ predicate: external_exports.string().min(1).optional(),
6004
+
6005
+ axis: external_exports.string().min(1).optional(),
6006
+
6007
+ clusterId: external_exports.string().min(1).optional()
6008
+ })
6009
+ });
6010
+ var ALL_TRIAGE_DISPOSITIONS = ["confirmed-defect", "false-alarm", "acknowledged"];
6011
+ var TriageDispositionSchema = external_exports.enum(ALL_TRIAGE_DISPOSITIONS);
6012
+ var TriageRecordSchema = external_exports.object({
6013
+
6014
+ findingRef: FindingRefSchema,
6015
+ disposition: TriageDispositionSchema,
6016
+
6017
+ rationale: external_exports.string().min(1),
6018
+
6019
+ approverId: external_exports.string().min(1),
6020
+
6021
+ occurredAt: external_exports.string().datetime(),
6022
+
6023
+ evidenceSnapshotRef: external_exports.string().min(1).optional(),
6024
+
6025
+ asOf: external_exports.string().datetime().optional(),
6026
+
6027
+ proposalRef: external_exports.string().min(1).optional()
6028
+ });
6029
+ var ALL_TRIAGE_STATES = [
6030
+ "untriaged",
6031
+ "confirmed-defect",
6032
+ "false-alarm",
6033
+ "acknowledged",
6034
+ "resolved"
6035
+ ];
6036
+ var TriageStateSchema = external_exports.enum(ALL_TRIAGE_STATES);
6037
+ var ALL_PROPOSAL_KINDS = [
6038
+ "grounding-cap-bump",
6039
+ "adjust-threshold",
6040
+ "fix-rubric-ref",
6041
+ "gate-dimension",
6042
+ "predicate-downweight",
6043
+ "retire-surface",
6044
+ "release-from-quarantine",
6045
+ "declare-axis",
6046
+ "author-fixture"
6047
+ ];
6048
+ var ProposalKindSchema = external_exports.enum(ALL_PROPOSAL_KINDS);
6049
+ var ALL_PROPOSAL_STATUSES = ["pending", "approved", "rejected"];
6050
+ var ProposalStatusSchema = external_exports.enum(ALL_PROPOSAL_STATUSES);
6051
+ var ALL_PROPOSAL_AVAILABILITIES = ["minted", "none-for-source", "not-applicable"];
6052
+ external_exports.enum(ALL_PROPOSAL_AVAILABILITIES);
6053
+ external_exports.object({
6054
+ proposalRef: external_exports.string().min(1),
6055
+ kind: ProposalKindSchema,
6056
+
6057
+ findingRef: FindingRefSchema,
6058
+
6059
+ summary: external_exports.string().min(1),
6060
+
6061
+ approverId: external_exports.string().min(1),
6062
+ occurredAt: external_exports.string().datetime(),
6063
+ status: ProposalStatusSchema.default("pending")
6064
+ });
6065
+ var ALL_ATTENTION_SEVERITIES = ["alarm", "needs-review", "coverage"];
6066
+ var AttentionSeveritySchema = external_exports.enum(ALL_ATTENTION_SEVERITIES);
6067
+ var VerdictReliabilityEvidenceSchema = external_exports.object({
6068
+ kind: external_exports.literal("verdict-reliability"),
6069
+
6070
+ driver: external_exports.string().min(1),
6071
+
6072
+ sampleCorrelationIds: external_exports.array(external_exports.string().min(1)),
6073
+
6074
+ sampleEventIds: external_exports.array(external_exports.string().min(1))
6075
+ });
6076
+ var OrthogonalityEvidenceSchema = external_exports.object({
6077
+ kind: external_exports.literal("orthogonality-hypothesis"),
6078
+
6079
+ axis: external_exports.string().min(1),
6080
+
6081
+ etaSquared: external_exports.number()
6082
+ });
6083
+ var TrajectoryEvidenceSchema = external_exports.object({
6084
+ kind: external_exports.literal("trajectory"),
6085
+
6086
+ predicate: TrajectoryPredicateSchema,
6087
+
6088
+ conversationId: external_exports.string().min(1)
6089
+ });
6090
+ var JudgeDispatchReasonSchema = external_exports.enum([
6091
+ "never-dispatched",
6092
+ "unloadable-rubric",
6093
+ "missing-ref",
6094
+ "unspecified"
6095
+ ]);
6096
+ var JudgeLivenessEvidenceSchema = external_exports.object({
6097
+ kind: external_exports.literal("judge-liveness"),
6098
+
6099
+ variant: external_exports.enum(["not-dispatching", "not-lens-dispatched"]),
6100
+
6101
+ dimensionId: DimensionIdSchema.optional(),
6102
+
6103
+ observedCount: external_exports.number().int().nonnegative().optional(),
6104
+
6105
+ dominantReason: JudgeDispatchReasonSchema.optional(),
6106
+
6107
+ surfaceId: SurfaceIdSchema.optional(),
6108
+
6109
+ inlineCount: external_exports.number().int().nonnegative().optional()
6110
+ });
6111
+ var CoverageGapEvidenceSchema = external_exports.object({
6112
+ kind: external_exports.literal("coverage-gap"),
6113
+
6114
+ altitude: external_exports.enum(["surface", "dimension"]),
6115
+
6116
+ surfaceStatus: external_exports.enum(["active", "deprecated"])
6117
+ });
6118
+ var RetirementCandidateEvidenceSchema = external_exports.object({
6119
+ kind: external_exports.literal("retirement-candidate"),
6120
+
6121
+ surfaceStatus: external_exports.enum(["active", "deprecated"])
6122
+ });
6123
+ var QuarantineCandidateEvidenceSchema = external_exports.object({
6124
+ kind: external_exports.literal("quarantine-candidate"),
6125
+
6126
+ candidateStream: external_exports.literal("parse-anomaly-frequent")
6127
+ });
6128
+ var EmissionGapEvidenceSchema = external_exports.object({
6129
+ kind: external_exports.literal("emission-gap"),
6130
+
6131
+ variant: external_exports.enum(["deployment-broken", "co-occurrence-gap", "no-events"]),
6132
+
6133
+ columnId: external_exports.string().min(1),
6134
+
6135
+ whenever: external_exports.string().min(1).optional()
6136
+ });
6137
+ var ReachGapEvidenceSchema = external_exports.object({
6138
+ kind: external_exports.literal("reach-gap"),
6139
+
6140
+ variant: external_exports.enum(["horizon", "shortfall"]),
6141
+
6142
+ surfaceId: SurfaceIdSchema,
6143
+
6144
+ unobservedStageCount: external_exports.number().int().nonnegative().optional(),
6145
+
6146
+ hasSuppressingStage: external_exports.boolean().optional(),
6147
+
6148
+ darkRate: external_exports.number().optional(),
6149
+
6150
+ darkCount: external_exports.number().int().nonnegative().optional()
6151
+ });
6152
+ var AttentionEvidenceSchema = external_exports.discriminatedUnion("kind", [
6153
+ VerdictReliabilityEvidenceSchema,
6154
+ OrthogonalityEvidenceSchema,
6155
+ TrajectoryEvidenceSchema,
6156
+ JudgeLivenessEvidenceSchema,
6157
+ CoverageGapEvidenceSchema,
6158
+ RetirementCandidateEvidenceSchema,
6159
+ QuarantineCandidateEvidenceSchema,
6160
+ EmissionGapEvidenceSchema,
6161
+ ReachGapEvidenceSchema
6162
+ ]);
6163
+ var AttentionFindingSchema = external_exports.object({
6164
+ findingRef: FindingRefSchema,
6165
+
6166
+ findingKey: external_exports.string().min(1),
6167
+ source: FindingSourceSchema,
6168
+ severity: AttentionSeveritySchema,
6169
+
6170
+ count: external_exports.number().int().positive(),
6171
+
6172
+ firstSeen: external_exports.string().min(1),
6173
+
6174
+ lastSeen: external_exports.string().min(1),
6175
+ evidence: AttentionEvidenceSchema
6176
+ });
6177
+ AttentionFindingSchema.extend({
6178
+
6179
+ triageState: TriageStateSchema,
6180
+
6181
+ latestTriage: TriageRecordSchema.optional()
6182
+ });
6183
+ var ExemplarJudgeDecisionSchema = external_exports.object({
6184
+ passed: external_exports.boolean(),
6185
+
6186
+ expected: external_exports.string().optional(),
6187
+
6188
+ actual: external_exports.string().optional(),
6189
+
6190
+ rationale: external_exports.string().optional()
6191
+ });
6192
+ var VerdictReliabilityExemplarSchema = external_exports.object({
6193
+ source: external_exports.literal("verdict-reliability"),
6194
+ eventId: external_exports.string().min(1),
6195
+ correlationId: external_exports.string().min(1).optional(),
6196
+ occurredAt: external_exports.string().min(1),
6197
+ dimensionId: DimensionIdSchema,
6198
+
6199
+ driver: external_exports.string().min(1),
6200
+ judge: ExemplarJudgeDecisionSchema,
6201
+
6202
+ prompt: external_exports.string().optional(),
6203
+
6204
+ response: external_exports.string().optional(),
6205
+
6206
+ traceClaims: external_exports.array(TraceClaimCheckSchema),
6207
+
6208
+ groundingClaims: external_exports.array(GroundingClaimCheckSchema)
6209
+ });
6210
+ var OrthogonalityGroupSchema = external_exports.object({
6211
+
6212
+ value: external_exports.string().min(1),
6213
+
6214
+ meanScore: external_exports.number(),
6215
+
6216
+ count: external_exports.number().int().nonnegative()
6217
+ });
6218
+ var InstrumentPartitionCellSchema = external_exports.object({
6219
+
6220
+ identity: external_exports.string().min(1),
6221
+
6222
+ n: external_exports.number().int().nonnegative(),
6223
+
6224
+ meanScore: external_exports.number()
6225
+ });
6226
+ var OrthogonalityExemplarSchema = external_exports.object({
6227
+ source: external_exports.literal("orthogonality-hypothesis"),
6228
+ dimensionId: DimensionIdSchema,
6229
+
6230
+ axis: external_exports.string().min(1),
6231
+
6232
+ etaSquared: external_exports.number(),
6233
+
6234
+ etaSquaredExpectedUnderNull: external_exports.number().nullable(),
6235
+
6236
+ omegaSquared: external_exports.number(),
6237
+
6238
+ adjustedPValue: external_exports.number().nullable(),
6239
+
6240
+ pValue: external_exports.number().nullable(),
6241
+
6242
+ scoredEventCount: external_exports.number().int().nonnegative(),
6243
+
6244
+ analyzedGroupCount: external_exports.number().int().nonnegative(),
6245
+
6246
+ groupsTruncated: external_exports.boolean(),
6247
+
6248
+ groupTimeOverlap: external_exports.number(),
6249
+
6250
+ instrumentHeterogeneous: external_exports.boolean(),
6251
+
6252
+ instrumentPartition: external_exports.array(InstrumentPartitionCellSchema),
6253
+
6254
+ identifierLike: external_exports.boolean(),
6255
+
6256
+ effectSizeUncertain: external_exports.boolean(),
6257
+
6258
+ scoreMax: external_exports.number().positive().nullable(),
6259
+
6260
+ groups: external_exports.array(OrthogonalityGroupSchema)
6261
+ });
6262
+ var TrajectoryTurnDetailSchema = external_exports.object({
6263
+
6264
+ turnIndex: external_exports.number().int().nonnegative(),
6265
+
6266
+ eventId: external_exports.string().min(1),
6267
+ occurredAt: external_exports.string().min(1),
6268
+ role: TrajectoryEvidenceRoleSchema,
6269
+
6270
+ note: external_exports.string().optional(),
6271
+
6272
+ text: external_exports.string().nullable()
6273
+ });
6274
+ var TrajectoryExemplarSchema = external_exports.object({
6275
+ source: external_exports.literal("trajectory"),
6276
+ conversationId: external_exports.string().min(1),
6277
+ surfaceId: SurfaceIdSchema,
6278
+
6279
+ predicate: TrajectoryPredicateSchema,
6280
+
6281
+ predicatesFired: external_exports.array(TrajectoryPredicateSchema),
6282
+
6283
+ turns: external_exports.array(TrajectoryTurnDetailSchema)
6284
+ });
6285
+ var JudgeDispatchFailureBreakdownSchema = external_exports.object({
6286
+ unloadableRubric: external_exports.number().int().nonnegative(),
6287
+ missingRef: external_exports.number().int().nonnegative(),
6288
+ neverDispatched: external_exports.number().int().nonnegative(),
6289
+ unspecified: external_exports.number().int().nonnegative()
6290
+ });
6291
+ var JudgeLivenessExemplarSchema = external_exports.object({
6292
+ source: external_exports.literal("judge-liveness"),
6293
+
6294
+ variant: external_exports.enum(["not-dispatching", "not-lens-dispatched"]),
6295
+
6296
+ dimensionId: DimensionIdSchema.optional(),
6297
+
6298
+ observedCount: external_exports.number().int().nonnegative().optional(),
6299
+
6300
+ dispatchedCount: external_exports.number().int().nonnegative().optional(),
6301
+
6302
+ failureSubtypes: JudgeDispatchFailureBreakdownSchema.optional(),
6303
+
6304
+ dominantReason: JudgeDispatchReasonSchema.optional(),
6305
+
6306
+ failureAction: external_exports.enum(["retry", "flag", "block"]).nullable().optional(),
6307
+
6308
+ rubricRef: external_exports.string().optional(),
6309
+
6310
+ surfaceId: SurfaceIdSchema.optional(),
6311
+
6312
+ inlineDimensionIds: external_exports.array(DimensionIdSchema).optional()
6313
+ });
6314
+ var CoverageGapExemplarSchema = external_exports.object({
6315
+ source: external_exports.literal("coverage-gap"),
6316
+
6317
+ altitude: external_exports.enum(["surface", "dimension"]),
6318
+ surfaceId: SurfaceIdSchema,
6319
+
6320
+ dimensionId: DimensionIdSchema.optional(),
6321
+ surfaceStatus: external_exports.enum(["active", "deprecated"]),
6322
+
6323
+ observedEventCount: external_exports.number().int().nonnegative(),
6324
+
6325
+ surfaceEventCount: external_exports.number().int().nonnegative(),
6326
+
6327
+ declaredDimensionCount: external_exports.number().int().nonnegative(),
6328
+
6329
+ observedFrom: external_exports.string().min(1),
6330
+
6331
+ observedTo: external_exports.string().min(1)
6332
+ });
6333
+ var RetirementCandidateExemplarSchema = external_exports.object({
6334
+ source: external_exports.literal("retirement-candidate"),
6335
+ surfaceId: SurfaceIdSchema,
6336
+ surfaceStatus: external_exports.enum(["active", "deprecated"]),
6337
+
6338
+ structuralConsumerCount: external_exports.number().int().nonnegative(),
6339
+
6340
+ declaredDimensionCount: external_exports.number().int().nonnegative(),
6341
+
6342
+ lastCapturedAt: external_exports.string().min(1)
6343
+ });
6344
+ var QuarantineParseAnomalySchema = external_exports.object({
6345
+
6346
+ field: external_exports.string().min(1),
6347
+
6348
+ recoveredAs: external_exports.string().min(1),
6349
+
6350
+ recoveryStrategy: external_exports.string().min(1),
6351
+
6352
+ rawValue: external_exports.string().nullable()
6353
+ });
6354
+ var QuarantineCandidateExemplarSchema = external_exports.object({
6355
+ source: external_exports.literal("quarantine-candidate"),
6356
+ surfaceId: SurfaceIdSchema,
6357
+
6358
+ candidateStream: external_exports.literal("parse-anomaly-frequent"),
6359
+
6360
+ count: external_exports.number().int().nonnegative(),
6361
+
6362
+ lifecycleState: QuarantineLifecycleStateSchema,
6363
+
6364
+ firstSeen: external_exports.string().min(1),
6365
+
6366
+ lastSeen: external_exports.string().min(1),
6367
+
6368
+ anomalies: external_exports.array(QuarantineParseAnomalySchema)
6369
+ });
6370
+ var EmissionGapExemplarSchema = external_exports.object({
6371
+ source: external_exports.literal("emission-gap"),
6372
+ variant: external_exports.enum(["deployment-broken", "co-occurrence-gap", "no-events"]),
6373
+ surfaceId: SurfaceIdSchema,
6374
+ columnId: external_exports.string().min(1),
6375
+
6376
+ control: ControlAttributeSchema,
6377
+
6378
+ visibility: VisibilityAttributeSchema,
6379
+
6380
+ description: external_exports.string().optional(),
6381
+
6382
+ observedEventCount: external_exports.number().int().nonnegative(),
6383
+
6384
+ emittedCount: external_exports.number().int().nonnegative(),
6385
+
6386
+ whenever: external_exports.string().min(1).optional(),
6387
+
6388
+ conditionMatchedCount: external_exports.number().int().nonnegative().optional(),
6389
+
6390
+ observedFrom: external_exports.string().min(1),
6391
+
6392
+ observedTo: external_exports.string().min(1),
6393
+
6394
+ renameCandidate: external_exports.string().min(1).optional()
6395
+ });
6396
+ var ReachGapStageSchema = external_exports.object({
6397
+
6398
+ id: external_exports.string().min(1),
6399
+
6400
+ kind: PostOutcomeStageKindSchema,
6401
+
6402
+ observability: PostOutcomeObservabilitySchema,
6403
+
6404
+ description: external_exports.string().optional()
6405
+ });
6406
+ var ReachShortfallSchema = external_exports.object({
6407
+ delivered: external_exports.number().int().nonnegative(),
6408
+ dark: external_exports.number().int().nonnegative(),
6409
+ inFlight: external_exports.number().int().nonnegative(),
6410
+
6411
+ settled: external_exports.number().int().nonnegative(),
6412
+
6413
+ darkRate: external_exports.number().nullable(),
6414
+
6415
+ medianDarkAgeMs: external_exports.number().nullable(),
6416
+
6417
+ byLastStage: external_exports.array(
6418
+ external_exports.object({ stageId: external_exports.string().nullable(), dark: external_exports.number().int().nonnegative() })
6419
+ )
6420
+ });
6421
+ var ReachGapExemplarSchema = external_exports.object({
6422
+ source: external_exports.literal("reach-gap"),
6423
+
6424
+ variant: external_exports.enum(["horizon", "shortfall"]),
6425
+ surfaceId: SurfaceIdSchema,
6426
+
6427
+ scoredOutcomeCount: external_exports.number().int().nonnegative(),
6428
+
6429
+ stages: external_exports.array(ReachGapStageSchema),
6430
+
6431
+ unobservedStageCount: external_exports.number().int().nonnegative().optional(),
6432
+
6433
+ hasSuppressingStage: external_exports.boolean().optional(),
6434
+
6435
+ shortfall: ReachShortfallSchema.optional(),
6436
+
6437
+ observedFrom: external_exports.string().min(1),
6438
+
6439
+ observedTo: external_exports.string().min(1)
6440
+ });
6441
+ var AttentionExemplarSchema = external_exports.discriminatedUnion("source", [
6442
+ VerdictReliabilityExemplarSchema,
6443
+ OrthogonalityExemplarSchema,
6444
+ TrajectoryExemplarSchema,
6445
+ JudgeLivenessExemplarSchema,
6446
+ CoverageGapExemplarSchema,
6447
+ RetirementCandidateExemplarSchema,
6448
+ QuarantineCandidateExemplarSchema,
6449
+ EmissionGapExemplarSchema,
6450
+ ReachGapExemplarSchema
6451
+ ]);
6452
+ var AttentionSampleRefSchema = external_exports.object({
6453
+ eventId: external_exports.string().min(1),
6454
+ correlationId: external_exports.string().min(1).optional(),
6455
+ occurredAt: external_exports.string().min(1)
6456
+ });
6457
+ external_exports.object({
6458
+ findingKey: external_exports.string().min(1),
6459
+ exemplar: AttentionExemplarSchema.nullable(),
6460
+ sampleCount: external_exports.number().int().nonnegative(),
6461
+ samples: external_exports.array(AttentionSampleRefSchema),
6462
+
6463
+ reAdjudicable: external_exports.boolean().optional()
6464
+ });
6465
+
6466
+ var ReachFootprintSchema = external_exports.object({
6467
+
6468
+ correlationId: external_exports.string().min(1),
6469
+
6470
+ surfaceId: SurfaceIdSchema,
6471
+
6472
+ stageId: external_exports.string().min(1),
6473
+
6474
+ occurredAt: external_exports.string().datetime()
6475
+ });
6476
+ external_exports.union([
6477
+ ReachFootprintSchema,
6478
+ external_exports.object({ footprints: external_exports.array(ReachFootprintSchema).min(1) })
6479
+ ]);
6480
+ var ALL_REACH_DISPOSITIONS = [
6481
+ "in-flight",
6482
+ "delivered",
6483
+ "dark",
6484
+ "superseded",
6485
+ "expired"
6486
+ ];
6487
+ external_exports.enum(ALL_REACH_DISPOSITIONS);
6488
+
6489
+ var FacetCoverageEntrySchema = external_exports.object({
6490
+ facet: external_exports.string().min(1),
6491
+ scoredCount: external_exports.number().int().nonnegative(),
6492
+ source: external_exports.enum(["facet", "default"]),
6493
+ defaultReason: RubricDefaultReasonSchema.optional()
6494
+ });
6495
+ var FacetDefaultBreakdownSchema = external_exports.object({
6496
+
6497
+ total: external_exports.number().int().nonnegative(),
6498
+
6499
+ noBespokeRef: external_exports.number().int().nonnegative(),
6500
+
6501
+ unmatchedValue: external_exports.number().int().nonnegative(),
6502
+
6503
+ pinUnresolved: external_exports.number().int().nonnegative()
6504
+ });
6505
+ var FacetCoverageReportSchema = external_exports.object({
6506
+ surfaceId: SurfaceIdSchema,
6507
+ dimensionId: DimensionIdSchema,
6508
+
6509
+ facet: external_exports.string().min(1),
6510
+
6511
+ scoredCount: external_exports.number().int().nonnegative(),
6512
+
6513
+ scoredOnDefault: external_exports.number().int().nonnegative(),
6514
+
6515
+ untaggedCount: external_exports.number().int().nonnegative(),
6516
+
6517
+ facetsSeen: external_exports.number().int().nonnegative(),
6518
+
6519
+ bespokeCount: external_exports.number().int().nonnegative(),
6520
+
6521
+ defaultOnly: FacetDefaultBreakdownSchema,
6522
+
6523
+ facets: external_exports.array(FacetCoverageEntrySchema)
6524
+ });
6525
+ external_exports.object({
6526
+ reports: external_exports.array(FacetCoverageReportSchema)
6527
+ });
6528
+
6529
+ var MULTIPLEX_RUN_MAX_VENDORS = 8;
6530
+ var MultiplexRunTokensSchema = external_exports.object({
6531
+ input: external_exports.number().nonnegative(),
6532
+ output: external_exports.number().nonnegative(),
6533
+ cacheRead: external_exports.number().nonnegative().optional(),
6534
+ cacheWrite: external_exports.number().nonnegative().optional()
6535
+ });
6536
+ external_exports.object({
6537
+
6538
+ sourceEventId: external_exports.string().min(1).optional(),
6539
+
6540
+ sourceCorrelationId: external_exports.string().min(1).optional(),
6541
+
6542
+ targetSurfaceId: external_exports.string().min(1).optional(),
6543
+
6544
+ vendorIds: external_exports.array(external_exports.string().min(1)).min(2).max(MULTIPLEX_RUN_MAX_VENDORS),
6545
+
6546
+ label: external_exports.string().min(1).max(128).regex(/^[A-Za-z0-9._-]+$/, "label must match [A-Za-z0-9._-]"),
6547
+
6548
+ approverId: external_exports.string().min(1),
6549
+
6550
+ acknowledgedEstimateUsd: external_exports.number().nonnegative().optional()
6551
+ }).refine((b) => b.sourceEventId === void 0 !== (b.sourceCorrelationId === void 0), {
6552
+ message: "provide exactly one of sourceEventId or sourceCorrelationId"
6553
+ });
6554
+ var MultiplexRunVendorEstimateSchema = external_exports.object({
6555
+ vendorId: external_exports.string(),
6556
+ estimatedUsd: external_exports.number().nonnegative().nullable(),
6557
+ priced: external_exports.boolean()
6558
+ });
6559
+ var MultiplexRunEstimateSchema = external_exports.object({
6560
+ totalUsd: external_exports.number().nonnegative(),
6561
+ thresholdUsd: external_exports.number().nonnegative(),
6562
+ perVendor: external_exports.array(MultiplexRunVendorEstimateSchema),
6563
+ basis: external_exports.literal("source-tokens"),
6564
+ sourceTokens: MultiplexRunTokensSchema,
6565
+
6566
+ unpricedVendorIds: external_exports.array(external_exports.string())
6567
+ });
6568
+ var MultiplexRunDimensionSchema = external_exports.object({
6569
+ dimensionId: external_exports.string(),
6570
+ passed: external_exports.boolean(),
6571
+
6572
+ score: external_exports.number().nullable()
6573
+ });
6574
+ var MultiplexRunLegSchema = external_exports.object({
6575
+ vendorId: external_exports.string(),
6576
+ role: external_exports.enum(["primary", "observer"]),
6577
+ callId: external_exports.string(),
6578
+ correlationId: external_exports.string(),
6579
+ occurredAt: external_exports.string(),
6580
+
6581
+ servedModel: external_exports.string().nullable(),
6582
+
6583
+ response: external_exports.string().nullable(),
6584
+ tokens: MultiplexRunTokensSchema,
6585
+ latencyMs: external_exports.number().nullable(),
6586
+ costUsd: external_exports.number().nullable(),
6587
+
6588
+ dimensions: external_exports.array(MultiplexRunDimensionSchema),
6589
+
6590
+ gateAction: external_exports.string().optional()
6591
+ });
6592
+ var MultiplexRunFailureSchema = external_exports.object({
6593
+ vendorId: external_exports.string(),
6594
+ error: external_exports.string()
6595
+ });
6596
+ external_exports.discriminatedUnion("status", [
6597
+ external_exports.object({
6598
+ status: external_exports.literal("confirmation-required"),
6599
+ estimate: MultiplexRunEstimateSchema
6600
+ }),
6601
+ external_exports.object({
6602
+ status: external_exports.literal("ran"),
6603
+ correlationId: external_exports.string(),
6604
+ surfaceId: external_exports.string(),
6605
+ label: external_exports.string(),
6606
+ estimate: MultiplexRunEstimateSchema,
6607
+ legs: external_exports.array(MultiplexRunLegSchema),
6608
+ failed: external_exports.array(MultiplexRunFailureSchema).optional(),
6609
+ scoredDuringRun: external_exports.boolean()
6610
+ })
6611
+ ]);
6612
+
5718
6613
  var HolonographGradeAfterReportError = class extends Error {
5719
6614
  constructor() {
5720
6615
  super(
@@ -6771,10 +7666,13 @@ var HolonographClient = class {
6771
7666
  return this.declaredColumns;
6772
7667
  }
6773
7668
 
6774
- apparatusStampedColumns(light, judgeIdentity) {
7669
+ apparatusStampedColumns(light, judgeIdentity, rubricDispatch) {
6775
7670
  const columns = { ...this.substrate.columns };
6776
7671
  if (light.servedModel !== void 0) columns[SERVED_MODEL_COLUMN_ID] = light.servedModel;
6777
7672
  if (judgeIdentity !== void 0) Object.assign(columns, judgeIdentityColumns(judgeIdentity));
7673
+ if (rubricDispatch !== void 0) {
7674
+ Object.assign(columns, rubricDispatchColumns(rubricDispatch));
7675
+ }
6778
7676
  return columns;
6779
7677
  }
6780
7678
 
@@ -6933,6 +7831,7 @@ var HolonographClient = class {
6933
7831
  };
6934
7832
  if (d.score !== void 0) dim.score = d.score;
6935
7833
  if (d.rationale !== void 0) dim.rationale = d.rationale;
7834
+ if (d.judge !== void 0) dim.judge = d.judge;
6936
7835
  return dim;
6937
7836
  }),
6938
7837
  cohortTags: primaryCohortTags,
@@ -6957,7 +7856,11 @@ var HolonographClient = class {
6957
7856
  substrate: {
6958
7857
  ...this.substrate,
6959
7858
  lightSourceIdentifier: callResult.record.lightSourceId,
6960
- columns: this.apparatusStampedColumns(callResult.record.light, outcome.judgeIdentity)
7859
+ columns: this.apparatusStampedColumns(
7860
+ callResult.record.light,
7861
+ outcome.judgeIdentity,
7862
+ outcome.rubricDispatch
7863
+ )
6961
7864
  },
6962
7865
  surface
6963
7866
  });
@@ -7003,6 +7906,7 @@ var HolonographClient = class {
7003
7906
  };
7004
7907
  if (d.score !== void 0) dim.score = d.score;
7005
7908
  if (d.rationale !== void 0) dim.rationale = d.rationale;
7909
+ if (d.judge !== void 0) dim.judge = d.judge;
7006
7910
  return dim;
7007
7911
  }),
7008
7912
  cohortTags: observerCohortTags,