@sensigo/realm 0.36.0 → 0.37.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.
- package/dist/engine/run-health.d.ts.map +1 -1
- package/dist/engine/run-health.js +10 -1
- package/dist/engine/run-health.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/types/run-record.d.ts +59 -5
- package/dist/types/run-record.d.ts.map +1 -1
- package/dist/workflow/structured-output-eligibility.d.ts +20 -3
- package/dist/workflow/structured-output-eligibility.d.ts.map +1 -1
- package/dist/workflow/structured-output-eligibility.js +253 -29
- package/dist/workflow/structured-output-eligibility.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-health.d.ts","sourceRoot":"","sources":["../../src/engine/run-health.ts"],"names":[],"mappings":"AAuFA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAK1E;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,QAAsB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EACA,oBAAoB,GACpB,aAAa,GACb,qBAAqB,GACrB,kBAAkB,GAClB,4BAA4B,GAE5B,0BAA0B,GAC1B,iBAAiB,GACjB,mCAAmC,GAGnC,6BAA6B,GAM7B,6BAA6B,GAQ7B,8BAA8B,CAAC;IACnC;6DACyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;yCAEqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf;;;;4DAIwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;kDAC8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;mEAG+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;
|
|
1
|
+
{"version":3,"file":"run-health.d.ts","sourceRoot":"","sources":["../../src/engine/run-health.ts"],"names":[],"mappings":"AAuFA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAK1E;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,QAAsB,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EACA,oBAAoB,GACpB,aAAa,GACb,qBAAqB,GACrB,kBAAkB,GAClB,4BAA4B,GAE5B,0BAA0B,GAC1B,iBAAiB,GACjB,mCAAmC,GAGnC,6BAA6B,GAM7B,6BAA6B,GAQ7B,8BAA8B,CAAC;IACnC;6DACyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;yCAEqC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf;;;;4DAIwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;kDAC8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;mEAG+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAoHD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,SAAS,EACd,IAAI,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAAE,GAC/E,gBAAgB,EAAE,CAwKpB"}
|
|
@@ -55,7 +55,7 @@ function findGateCorruption(run) {
|
|
|
55
55
|
* own dual-branch pattern — a live run's evidence and a terminal run's evidence are read exactly
|
|
56
56
|
* the same way; only WHERE the caller is standing differs.
|
|
57
57
|
*
|
|
58
|
-
*
|
|
58
|
+
* THREE scope notes an operator needs before reading this finding:
|
|
59
59
|
*
|
|
60
60
|
* 1. EXPECTED FIRE, not an anomaly. Every run of a step that declares `structured_output: strict`
|
|
61
61
|
* AND declares tools now fires this finding with `unsupported_context_tools`, on every run,
|
|
@@ -69,6 +69,15 @@ function findGateCorruption(run) {
|
|
|
69
69
|
* `unsupported_context_tools` — those are not in contradiction. Per-tool detail is deliberately
|
|
70
70
|
* NOT surfaced here (it belongs to `realm run inspect`/`export`); MCP pollers see this narrow
|
|
71
71
|
* finding only.
|
|
72
|
+
* 3. (issue #313) A SECOND expected-fire baseline: a strict-declared step driven through an
|
|
73
|
+
* OpenAI-COMPATIBLE endpoint (`--base-url`) without the `--strict-base-url` attestation fires
|
|
74
|
+
* this finding on every run with `compat_endpoint`. Realm declined to send strict rather than
|
|
75
|
+
* send it into an endpoint that might accept and ignore it — a deliberate choice, correctly
|
|
76
|
+
* reported. Baseline, not regression; the operator remedy is either `--strict-base-url` (if
|
|
77
|
+
* the endpoint genuinely enforces strict) or a native endpoint. Note this is INCLUDED while
|
|
78
|
+
* `external_agent` is excluded, and the distinction is epistemic, not cosmetic: realm cannot
|
|
79
|
+
* KNOW what an external driver did, whereas compat is realm's own decision — the same footing
|
|
80
|
+
* as `unsupported_context_tools`, which is also included.
|
|
72
81
|
*/
|
|
73
82
|
function findStructuredOutputDowngrades(run) {
|
|
74
83
|
const reasonsByStep = new Map();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-health.js","sourceRoot":"","sources":["../../src/engine/run-health.ts"],"names":[],"mappings":"AAyFA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7F;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAyD7D;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAAC,GAAc;IACxC,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACrD,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9D,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACvD,OAAO;gBACL,IAAI,EAAE,iBAAiB;gBACvB,IAAI;gBACJ,MAAM,EACJ,kFAAkF;oBAClF,yBAAyB;gBAC3B,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;aAC9B,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"run-health.js","sourceRoot":"","sources":["../../src/engine/run-health.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -47,7 +47,7 @@ export type { Requirement, CapabilityBlockInfo } from './engine/capability.js';
|
|
|
47
47
|
export { evaluatePrecondition, checkPreconditions, evaluateAllPreconditions, } from './engine/precondition.js';
|
|
48
48
|
export type { PreconditionResult } from './engine/precondition.js';
|
|
49
49
|
export type { StepDiagnostics } from './types/run-record.js';
|
|
50
|
-
export declare const VERSION = "0.
|
|
50
|
+
export declare const VERSION = "0.37.0";
|
|
51
51
|
export type { ToolCallRecord, McpServerConfig } from './types/mcp-types.js';
|
|
52
52
|
export type { ServiceAdapter, ServiceResponse } from './extensions/service-adapter.js';
|
|
53
53
|
export type { StepHandler, StepHandlerInputs, StepContext, StepHandlerResult, } from './extensions/step-handler.js';
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,7 @@ export { classifyRunHealth, DEFAULT_IDLE_THRESHOLD_MS } from './engine/run-healt
|
|
|
36
36
|
export { computeGateDueState } from './engine/gate-timing.js';
|
|
37
37
|
export { requirementForStep, unmetCapabilities, findCapabilityBlockedSteps, capabilityWarning, } from './engine/capability.js';
|
|
38
38
|
export { evaluatePrecondition, checkPreconditions, evaluateAllPreconditions, } from './engine/precondition.js';
|
|
39
|
-
export const VERSION = '0.
|
|
39
|
+
export const VERSION = '0.37.0';
|
|
40
40
|
export { ExtensionRegistry } from './extensions/registry.js';
|
|
41
41
|
export { createDefaultRegistry } from './extensions/default-registry.js';
|
|
42
42
|
export { validateDeploymentManifest, collectManifestSecretRefs, DEPLOYMENT_MANIFEST_JSON_SCHEMA, } from './manifest/deployment-manifest.js';
|
|
@@ -122,9 +122,15 @@ export interface StructuredOutputMeta {
|
|
|
122
122
|
* - `service_unavailable` — a live 503 that did NOT match the grammar text (a generic overload
|
|
123
123
|
* — fail-safe default label for any non-matching 503).
|
|
124
124
|
* - `provider_unsupported` — the configured LLM provider does not implement `callStepWithMeta`
|
|
125
|
-
* (a third-party `--provider-module` that only implements the base `callStep`).
|
|
125
|
+
* (a third-party `--provider-module` that only implements the base `callStep`). Both in-repo
|
|
126
|
+
* strict-capable providers override it, so at the STEP level this now names third-party
|
|
127
|
+
* modules specifically.
|
|
126
128
|
* - `unsupported_context_tools` — the step declares `tools`, so its OUTPUT is produced on the
|
|
127
|
-
* tools path,
|
|
129
|
+
* tools path, where realm sends no grammar-constrained submit call. That is a PER-PROVIDER
|
|
130
|
+
* DESIGN DECISION, not an API limitation: composing a step-output grammar with strict tool
|
|
131
|
+
* arguments in one request is unprobed on both providers, and doing it blind would make a
|
|
132
|
+
* 400 impossible to attribute to the right dimension. A future version wanting it starts
|
|
133
|
+
* with the probe. Issue #311 truth pass: this no
|
|
128
134
|
* longer means "strict is unsupported on this step" — strict may well have been attached to
|
|
129
135
|
* that step's TOOL-CALL ARGUMENTS on the very same attempt (see `tool_args`). It means only
|
|
130
136
|
* that the step's own output was not grammar-constrained.
|
|
@@ -132,11 +138,39 @@ export interface StructuredOutputMeta {
|
|
|
132
138
|
* something other than `realm agent` (e.g. an external agent calling `execute_step` over
|
|
133
139
|
* MCP directly) — no `stepMeta.structuredOutput` was ever attached, so realm cannot know
|
|
134
140
|
* whether strict was honored at all.
|
|
135
|
-
|
|
136
|
-
|
|
141
|
+
* - `compat_endpoint` (issue #313) — the provider is pointed at an OpenAI-COMPATIBLE endpoint
|
|
142
|
+
* via `--base-url`, and the author has not attested that it enforces strict. Realm declines
|
|
143
|
+
* to send strict rather than send it into an endpoint that may accept and ignore it. The
|
|
144
|
+
* remedy is `--strict-base-url` (an author attestation) or a native endpoint. Unlike
|
|
145
|
+
* `external_agent`, this is realm's own CHOICE, which is why the run-health finding
|
|
146
|
+
* includes it.
|
|
147
|
+
*/
|
|
148
|
+
downgrade_reason?: 'gate_ineligible' | 'api_rejected_schema' | 'grammar_unavailable' | 'service_unavailable' | 'provider_unsupported' | 'unsupported_context_tools' | 'external_agent' | 'compat_endpoint';
|
|
137
149
|
/** The raw API error message, when a live 400/503 drove a downgrade — attached verbatim,
|
|
138
|
-
* never rewritten, so an operator can compare against
|
|
150
|
+
* never rewritten, so an operator can compare against the provider's own documented error text. */
|
|
139
151
|
api_message?: string;
|
|
152
|
+
/**
|
|
153
|
+
* Issue #313 — the provider's own machine-readable error fields, captured VERBATIM alongside
|
|
154
|
+
* `api_message` when a live 400 drove a downgrade. `null` is meaningful and preserved: OpenAI
|
|
155
|
+
* returns `param: null, code: null` for the model-unsupported class (probe P8), where the
|
|
156
|
+
* message is prose-only. Realm never KEYS any decision on these — they are capture-only, for
|
|
157
|
+
* an operator comparing against the provider's documented error taxonomy.
|
|
158
|
+
*/
|
|
159
|
+
api_param?: string | null;
|
|
160
|
+
api_code?: string | null;
|
|
161
|
+
/**
|
|
162
|
+
* Issue #313 — which provider produced this attempt. Minted at a single run-agent chokepoint,
|
|
163
|
+
* so every meta run-agent writes carries it.
|
|
164
|
+
*
|
|
165
|
+
* The open `module:${string}` member names a third-party `--provider-module` by its module
|
|
166
|
+
* basename: such providers are assessed under the ANTHROPIC rule profile (realm cannot know a
|
|
167
|
+
* module's strict dialect), and this field is what makes that assumption detectable if the
|
|
168
|
+
* module in fact targets a different API.
|
|
169
|
+
*
|
|
170
|
+
* BY CONSTRUCTION absent on the engine's synthesized `external_agent` stamps: realm did not
|
|
171
|
+
* drive those attempts, so it has no provider to name.
|
|
172
|
+
*/
|
|
173
|
+
provider?: 'anthropic' | 'openai' | 'openai-reasoning' | `module:${string}`;
|
|
140
174
|
/** Whether the model's output arrived via the submit tool (`tool_use.input`, pre-parsed) or as
|
|
141
175
|
* extracted text — the standing dodge detector (design record R-B): a schema shaped to make
|
|
142
176
|
* the model prefer a text answer over the strict-constrained tool would show up here. */
|
|
@@ -182,6 +216,21 @@ export interface StructuredOutputMeta {
|
|
|
182
216
|
* this step's tools.
|
|
183
217
|
* - `grammar_unavailable` — a live 503 matching the grammar-compilation-unavailable text.
|
|
184
218
|
* - `service_unavailable` — a live 503 that did not match it (fail-safe generic label).
|
|
219
|
+
* - `provider_unsupported` — the configured provider does not place per-tool strict on the
|
|
220
|
+
* wire at all, so strict was never attached to ANY tool on this attempt and no per-tool
|
|
221
|
+
* eligibility was assessed. Since issue #313 both in-repo tool-capable providers DO place
|
|
222
|
+
* it, so at the per-tool level this now names third-party `--provider-module` providers
|
|
223
|
+
* specifically. Reuses the step-level literal of the same name.
|
|
224
|
+
* - `compat_endpoint` (issue #313) — the provider is pointed at an OpenAI-compatible
|
|
225
|
+
* endpoint without the `--strict-base-url` attestation, so no tool was sent strict. An
|
|
226
|
+
* ENDPOINT fact, never conflated with `provider_unsupported`: this provider CAN place the
|
|
227
|
+
* marker, realm chose not to have it do so here.
|
|
228
|
+
* - `not_all_required` (issue #313) — an OpenAI-profile verdict code: a property outside
|
|
229
|
+
* `required`. Reached on the tools path whenever an OpenAI-driven step assesses a tool
|
|
230
|
+
* schema; it is the dominant per-tool ineligibility code on that profile.
|
|
231
|
+
* - `exceeds_provider_limit` (issue #313) — an OpenAI-profile verdict code: the schema
|
|
232
|
+
* exceeds a documented size limit (nesting depth, property count, total characters, or
|
|
233
|
+
* enum values). The specific limit and measured value are in the verdict's remediation.
|
|
185
234
|
*/
|
|
186
235
|
reasons?: string[];
|
|
187
236
|
/** Caveat codes from this tool's own eligibility verdict (e.g. `unenforced_keyword`,
|
|
@@ -200,6 +249,11 @@ export interface StructuredOutputMeta {
|
|
|
200
249
|
/** The raw API error message, verbatim. Lives HERE, never on the step-level
|
|
201
250
|
* `api_message` — that field describes the step-output dimension only. */
|
|
202
251
|
api_message?: string;
|
|
252
|
+
/** Issue #313 — the provider's machine-readable error fields, captured verbatim beside
|
|
253
|
+
* `api_message` (same capture-only, never-keyed discipline as the step-level pair).
|
|
254
|
+
* Minted by the OpenAI tools ladder; `null` is preserved and meaningful. */
|
|
255
|
+
api_param?: string | null;
|
|
256
|
+
api_code?: string | null;
|
|
203
257
|
/** How many strict-decorated requests returned 200 before the drop. `0` means the very
|
|
204
258
|
* first strict-carrying turn of this attempt was rejected. */
|
|
205
259
|
strict_turns_before_drop: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-record.d.ts","sourceRoot":"","sources":["../../src/types/run-record.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;CACrE;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC;CACzD;AAED,0EAA0E;AAC1E,MAAM,WAAW,yBAAyB;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gCAAgC,EAAE,MAAM,CAAC;IACzC,0BAA0B,EAAE,MAAM,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACjD,4EAA4E;IAC5E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mGAAmG;IACnG,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,gHAAgH;IAChH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;;;;;;;OAeG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;;OAQG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,oBAAoB;IACnC;0EACsE;IACtE,SAAS,EAAE,IAAI,CAAC;IAChB;;;;yFAIqF;IACrF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;;;;;gCAU4B;IAC5B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB
|
|
1
|
+
{"version":3,"file":"run-record.d.ts","sourceRoot":"","sources":["../../src/types/run-record.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { JsonSchema, StepDefinition } from '../types/workflow-definition.js';
|
|
2
2
|
/** A single ineligibility reason. `remediation` is author-grade — it names the exact fix. */
|
|
3
3
|
export interface StructuredOutputReason {
|
|
4
|
-
code: 'no_schema' | 'missing_additional_properties' | 'unsupported_keyword' | 'too_many_optionals' | 'too_many_unions' | 'unsupported_context_tools';
|
|
4
|
+
code: 'no_schema' | 'missing_additional_properties' | 'unsupported_keyword' | 'too_many_optionals' | 'too_many_unions' | 'unsupported_context_tools' | 'not_all_required' | 'exceeds_provider_limit';
|
|
5
5
|
/** Schema-relative path to the offending node (`''` = root; e.g. `properties.address`). */
|
|
6
6
|
path: string;
|
|
7
7
|
remediation: string;
|
|
@@ -14,10 +14,21 @@ export interface StructuredOutputReason {
|
|
|
14
14
|
* auto-fail `validate --strict` (validate.ts's own rail), which would turn an informational
|
|
15
15
|
* nudge into a build break. */
|
|
16
16
|
export interface StructuredOutputCaveat {
|
|
17
|
-
code: 'unenforced_keyword' | 'unenforced_format' | 'unenforced_pattern' | 'optional_emission' | 'tools_runtime_assessed';
|
|
17
|
+
code: 'unenforced_keyword' | 'unenforced_format' | 'unenforced_pattern' | 'optional_emission' | 'tools_runtime_assessed' | 'null_union_emission';
|
|
18
18
|
path: string;
|
|
19
19
|
remediation: string;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Issue #313: which PROVIDER's strict rules to assess against. Phase A (authoring) is
|
|
23
|
+
* deliberately provider-blind — it cannot know the drive-time provider — so this is a Phase-B
|
|
24
|
+
* concern only, and it defaults to `'anthropic'`, making every pre-#313 call site zero-diff.
|
|
25
|
+
*
|
|
26
|
+
* The two profiles are NOT subset-related: OpenAI's keyword allowlist is WIDER (pattern, format,
|
|
27
|
+
* numeric bounds, minLength and recursion are all first-class), while its structural rules are
|
|
28
|
+
* STRICTER (every property must be required). Only the enumerated rows below fork; every other
|
|
29
|
+
* #236 rule applies unchanged under both.
|
|
30
|
+
*/
|
|
31
|
+
export type StructuredOutputProfile = 'anthropic' | 'openai';
|
|
21
32
|
/**
|
|
22
33
|
* Issue #311: which subject this assessment is about. Default (`step_output`) is the #236
|
|
23
34
|
* behaviour — the step's own output schema, which realm DOES post-hoc validate with Ajv.
|
|
@@ -66,6 +77,10 @@ interface PhaseBInput {
|
|
|
66
77
|
/** Issue #311: `tool_args` forks the remediation vocabulary (fix-owner = the MCP server) and
|
|
67
78
|
* the enforcement-class caveat text (no Ajv on the tools path). Default `step_output`. */
|
|
68
79
|
subject?: StructuredOutputSubject;
|
|
80
|
+
/** Issue #313: which provider's strict RULES to assess against. Default `anthropic` — every
|
|
81
|
+
* pre-#313 call site is therefore byte-identical. Phase A never passes this (authoring is
|
|
82
|
+
* provider-blind by design); only the drive-time Phase-B call knows the provider. */
|
|
83
|
+
profile?: StructuredOutputProfile;
|
|
69
84
|
}
|
|
70
85
|
/**
|
|
71
86
|
* G2 keyword allowlist — snapshot-dated 2026-08-05, CONTENTS transcribed verbatim from the
|
|
@@ -108,6 +123,8 @@ export declare function assessStructuredOutputEligibility(input: PhaseAInput | P
|
|
|
108
123
|
/** Renders a step's structured_output declaration into a plain-English author message, combining
|
|
109
124
|
* every reason's own remediation (`; `-joined) — the shared formatter both the loader's typed
|
|
110
125
|
* error and create_workflow's PRE-register rejection use, so the two surfaces never drift. */
|
|
111
|
-
export declare function renderIneligibleMessage(reasons:
|
|
126
|
+
export declare function renderIneligibleMessage(reasons: Array<{
|
|
127
|
+
remediation: string;
|
|
128
|
+
}>): string;
|
|
112
129
|
export type { JsonSchema };
|
|
113
130
|
//# sourceMappingURL=structured-output-eligibility.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured-output-eligibility.d.ts","sourceRoot":"","sources":["../../src/workflow/structured-output-eligibility.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAElF,6FAA6F;AAC7F,MAAM,WAAW,sBAAsB;IACrC,IAAI,EACA,WAAW,GACX,+BAA+B,GAC/B,qBAAqB,GACrB,oBAAoB,GACpB,iBAAiB,GACjB,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"structured-output-eligibility.d.ts","sourceRoot":"","sources":["../../src/workflow/structured-output-eligibility.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAElF,6FAA6F;AAC7F,MAAM,WAAW,sBAAsB;IACrC,IAAI,EACA,WAAW,GACX,+BAA+B,GAC/B,qBAAqB,GACrB,oBAAoB,GACpB,iBAAiB,GACjB,2BAA2B,GAI3B,kBAAkB,GAKlB,wBAAwB,CAAC;IAC7B,2FAA2F;IAC3F,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;gCAMgC;AAChC,MAAM,WAAW,sBAAsB;IACrC,IAAI,EACA,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,GACnB,wBAAwB,GAIxB,qBAAqB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE7D;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG,aAAa,GAAG,WAAW,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IAAE,OAAO,EAAE,UAAU,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD;IACE,OAAO,EAAE,uBAAuB,CAAC;IACjC,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAGD;IACE,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEN;;;;;;GAMG;AACH,KAAK,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,cAAc,GAAG,OAAO,CAAC,CAAC;AAEpF;;;;GAIG;AACH,UAAU,WAAW;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf;+FAC2F;IAC3F,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC;;0FAEsF;IACtF,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,yBAAyB,aAyBpC,CAAC;AA4aH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,WAAW,GAAG,WAAW,GAC/B,uBAAuB,CAqMzB;AAED;;+FAE+F;AAK/F,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC;IAAE,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAEvF;AAID,YAAY,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -63,6 +63,103 @@ const SUPPORTED_FORMATS = new Set([
|
|
|
63
63
|
const OWN_ROW_KEYWORDS = new Set(['format', 'pattern']);
|
|
64
64
|
/** Keys that are never schema keywords themselves — traversal structure, not gate subjects. */
|
|
65
65
|
const NON_KEYWORD_KEYS = new Set(['properties', 'items', '$defs', 'definitions']);
|
|
66
|
+
/**
|
|
67
|
+
* Issue #313 — the OpenAI profile's keyword allowlist. WIDER than Anthropic's: every keyword
|
|
68
|
+
* Anthropic hard-rejects or silently ignores in the numeric/string-constraint family is
|
|
69
|
+
* first-class here, and `$ref` recursion is supported outright.
|
|
70
|
+
*
|
|
71
|
+
* Provenance (api-facts-lane + MA-executed probes, 2026-08-16): the docs were wrong in BOTH
|
|
72
|
+
* directions for both vendors, so acceptance is probe-anchored, never docs-derived. P2 in
|
|
73
|
+
* particular FLIPPED the expectation — `minLength` is accepted AND enforced (a 2-char answer
|
|
74
|
+
* came back padded to exactly 10 characters: the constrained-decoding signature), the exact
|
|
75
|
+
* opposite of Anthropic's live-proven accept-and-ignore of the same keyword.
|
|
76
|
+
*/
|
|
77
|
+
const OPENAI_SUPPORTED_KEYWORDS = new Set([
|
|
78
|
+
// structural
|
|
79
|
+
'type',
|
|
80
|
+
'properties',
|
|
81
|
+
'items',
|
|
82
|
+
'description',
|
|
83
|
+
'title',
|
|
84
|
+
'required',
|
|
85
|
+
'additionalProperties',
|
|
86
|
+
'$ref',
|
|
87
|
+
'$defs',
|
|
88
|
+
'definitions',
|
|
89
|
+
'default',
|
|
90
|
+
// value constraints — all first-class under OpenAI strict
|
|
91
|
+
'enum',
|
|
92
|
+
'const',
|
|
93
|
+
'anyOf',
|
|
94
|
+
'pattern',
|
|
95
|
+
'format',
|
|
96
|
+
'minLength',
|
|
97
|
+
'maxLength',
|
|
98
|
+
'minimum',
|
|
99
|
+
'maximum',
|
|
100
|
+
'exclusiveMinimum',
|
|
101
|
+
'exclusiveMaximum',
|
|
102
|
+
'multipleOf',
|
|
103
|
+
'minItems',
|
|
104
|
+
'maxItems',
|
|
105
|
+
]);
|
|
106
|
+
/**
|
|
107
|
+
* Issue #313 — the OpenAI profile's HARD rejection set, with PER-MEMBER provenance labels
|
|
108
|
+
* (final-gate correction 1). Misclassifying a member here costs only the safe json_object
|
|
109
|
+
* fallback — never a falsity — which is why the docs-derived members are kept conservative:
|
|
110
|
+
*
|
|
111
|
+
* - `allOf` — 400-EXECUTED (probe P3a: "In context=('properties','x'), 'allOf' is
|
|
112
|
+
* not permitted", param=response_format).
|
|
113
|
+
* - `not` — 400-EXECUTED ("Unsupported keywords ('not',)").
|
|
114
|
+
* - `dependentRequired` — 400-EXECUTED (the keyword is named in the message).
|
|
115
|
+
* - `dependentSchemas` — 400-EXECUTED (the keyword is named in the message).
|
|
116
|
+
* - `if` / `then` / `else` — 400-EXECUTED (fires for if/then AND if/then/else).
|
|
117
|
+
*
|
|
118
|
+
* END STATE: every member is executed against the live API, each 400 naming its own keyword. The
|
|
119
|
+
* class posture (reject-on-unsupported, rather than Anthropic's silent strip) therefore no longer
|
|
120
|
+
* rests on a single confirmed member. This matters because the failure direction is asymmetric: a
|
|
121
|
+
* keyword wrongly present here would cost a SILENT capability loss (fallback to json_object with
|
|
122
|
+
* nobody told), whereas one wrongly absent is caught loudly by the live 400 arm. Adding a member
|
|
123
|
+
* on documentation alone would re-open that hazard — probe first.
|
|
124
|
+
*/
|
|
125
|
+
const OPENAI_UNSUPPORTED_KEYWORDS = new Set([
|
|
126
|
+
'allOf',
|
|
127
|
+
'not',
|
|
128
|
+
'dependentRequired',
|
|
129
|
+
'dependentSchemas',
|
|
130
|
+
'if',
|
|
131
|
+
'then',
|
|
132
|
+
'else',
|
|
133
|
+
]);
|
|
134
|
+
/**
|
|
135
|
+
* Issue #313 — OpenAI's schema size limits, with PER-MEMBER PROVENANCE LABELS (the same
|
|
136
|
+
* discipline the keyword sets above carry, for the same reason: two of these four were executed
|
|
137
|
+
* against the live API and two were read off documentation that has already been wrong in both
|
|
138
|
+
* directions for both vendors).
|
|
139
|
+
*
|
|
140
|
+
* Misclassification cost is asymmetric and worth stating: a limit set too LOW silently withholds
|
|
141
|
+
* strict from a schema the API would have accepted (no error, no signal — the exact class this
|
|
142
|
+
* issue exists to remove), while a limit set too HIGH simply lets the request go and be caught by
|
|
143
|
+
* the live 400 arm, which drops strict, retries, and discloses. That is why the two unprobed
|
|
144
|
+
* members are kept at their documented values rather than tightened defensively.
|
|
145
|
+
*/
|
|
146
|
+
const OPENAI_LIMITS = {
|
|
147
|
+
/** Nesting depth. BOUNDARY-EXECUTED: depth 10 ⇒ 200, depth 11 ⇒ 400 ("11 levels of nesting
|
|
148
|
+
* exceeds limit of 10"). Measured in OBJECT nesting levels — see walkNode. */
|
|
149
|
+
maxDepth: 10,
|
|
150
|
+
/** Total properties across the schema. BOUNDARY-EXECUTED both sides: 5000 ⇒ 200, 5001 ⇒ 400
|
|
151
|
+
* ("5001 parameters exceeds limit of 5000"). */
|
|
152
|
+
maxProperties: 5000,
|
|
153
|
+
/** Total characters across property names, enum values and const values.
|
|
154
|
+
* DOCS-DERIVED-CONSERVATIVE for the 120k figure itself — no exact-boundary cell was
|
|
155
|
+
* constructed. The COUNTED SET, however, is executed fact: descriptions are PROVEN excluded
|
|
156
|
+
* (~135k of description text behind tiny names/enums ⇒ 200), which is why they are not
|
|
157
|
+
* counted here. */
|
|
158
|
+
maxChars: 120_000,
|
|
159
|
+
/** Values in a single enum. BOUNDARY-EXECUTED: 1000 ⇒ 200, 1001 ⇒ 400 (the error names the
|
|
160
|
+
* limit and the received count). */
|
|
161
|
+
maxEnumValues: 1000,
|
|
162
|
+
};
|
|
66
163
|
/**
|
|
67
164
|
* Issue #311: the enforcement-class clause, forked by subject. On the step-output path realm's
|
|
68
165
|
* own Ajv still enforces the keyword after the model answers, so each row keeps its EXISTING
|
|
@@ -141,20 +238,57 @@ function hasDefsCycle(defs) {
|
|
|
141
238
|
}
|
|
142
239
|
/** Recursively walks one schema node, mutating `ctx` with every G1/G2/G4/G5 finding + the G3
|
|
143
240
|
* optional/union counts. `path` is the schema-relative dotted path to THIS node. */
|
|
144
|
-
function walkNode(node, path, ctx) {
|
|
241
|
+
function walkNode(node, path, ctx, depth = 1) {
|
|
145
242
|
if (!isPlainObject(node))
|
|
146
243
|
return;
|
|
244
|
+
const openai = ctx.profile === 'openai';
|
|
245
|
+
// Depth is measured in OBJECT nesting levels — the unit OpenAI's own limit is stated in. A
|
|
246
|
+
// scalar leaf (`{type: 'string'}`) is a nested schema node but not a nested level, so counting
|
|
247
|
+
// every node would reject at 9 real levels and silently cost strict on schemas the API accepts.
|
|
248
|
+
if ((node['type'] === 'object' || node['properties'] !== undefined) && depth > ctx.maxDepthSeen) {
|
|
249
|
+
ctx.maxDepthSeen = depth;
|
|
250
|
+
}
|
|
251
|
+
// issue #313 (OpenAI hard set): keywords the API rejects outright with a 400. Checked BEFORE
|
|
252
|
+
// the generic allowlist walk so they never degrade to the caveat class.
|
|
253
|
+
if (openai) {
|
|
254
|
+
for (const kw of Object.keys(node)) {
|
|
255
|
+
if (!OPENAI_UNSUPPORTED_KEYWORDS.has(kw))
|
|
256
|
+
continue;
|
|
257
|
+
ctx.hardReasons.push({
|
|
258
|
+
code: 'unsupported_keyword',
|
|
259
|
+
path,
|
|
260
|
+
remediation: `'${kw}' at '${path || '(root)'}' is not supported by OpenAI strict mode and is rejected with a 400 — restructure without it (for '${kw}' inside a composition, express the shape directly or use 'anyOf')${fixOwnerHint(ctx.subject)}`,
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
// Enum-value cap is per-enum, so it is measured here rather than summed.
|
|
264
|
+
const enumForCap = node['enum'];
|
|
265
|
+
if (Array.isArray(enumForCap) && enumForCap.length > ctx.maxEnumValuesSeen) {
|
|
266
|
+
ctx.maxEnumValuesSeen = enumForCap.length;
|
|
267
|
+
}
|
|
268
|
+
// Character budget: property names + enum values + const values.
|
|
269
|
+
for (const v of Array.isArray(enumForCap) ? enumForCap : []) {
|
|
270
|
+
ctx.charCount += String(v).length;
|
|
271
|
+
}
|
|
272
|
+
if (node['const'] !== undefined)
|
|
273
|
+
ctx.charCount += String(node['const']).length;
|
|
274
|
+
}
|
|
147
275
|
// G2-hard: root self-reference ('#') — the API neither enforces nor cleanly rejects this edge
|
|
148
276
|
// (premise-probe-raw.md §Live-probe: silent-prune when optional, a persistent 503 when
|
|
149
277
|
// required) — it must NEVER fall to the generic caveat class.
|
|
278
|
+
//
|
|
279
|
+
// issue #313: OpenAI supports `$ref` recursion FIRST-CLASS (api-facts lane), so the recursive
|
|
280
|
+
// arm is Anthropic-only. The external-$ref arm applies to BOTH — an unresolvable reference is
|
|
281
|
+
// unresolvable everywhere.
|
|
150
282
|
const ref = node['$ref'];
|
|
151
283
|
if (typeof ref === 'string') {
|
|
152
284
|
if (ref === '#') {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
285
|
+
if (!openai) {
|
|
286
|
+
ctx.hardReasons.push({
|
|
287
|
+
code: 'unsupported_keyword',
|
|
288
|
+
path,
|
|
289
|
+
remediation: `recursive schema at '${path || '(root)'}' ($ref: '#') is not supported — remove the self-reference or restructure without recursion`,
|
|
290
|
+
});
|
|
291
|
+
}
|
|
158
292
|
}
|
|
159
293
|
else if (!ref.startsWith('#')) {
|
|
160
294
|
ctx.hardReasons.push({
|
|
@@ -164,8 +298,10 @@ function walkNode(node, path, ctx) {
|
|
|
164
298
|
});
|
|
165
299
|
}
|
|
166
300
|
}
|
|
167
|
-
// G2-hard: numeric constraints.
|
|
168
|
-
|
|
301
|
+
// G2-hard: numeric constraints. ANTHROPIC ONLY — OpenAI supports the whole numeric-bound
|
|
302
|
+
// family first-class (api-facts lane), so flagging them under 'openai' would reject schemas
|
|
303
|
+
// the API accepts and enforces.
|
|
304
|
+
for (const kw of openai ? [] : ['minimum', 'maximum', 'multipleOf']) {
|
|
169
305
|
if (kw in node) {
|
|
170
306
|
ctx.hardReasons.push({
|
|
171
307
|
code: 'unsupported_keyword',
|
|
@@ -185,8 +321,9 @@ function walkNode(node, path, ctx) {
|
|
|
185
321
|
remediation: `'enum' at '${path || '(root)'}' contains a complex (object/array) member — strict mode only supports string/number/boolean/null enum members`,
|
|
186
322
|
});
|
|
187
323
|
}
|
|
188
|
-
// G4: format.
|
|
189
|
-
|
|
324
|
+
// G4: format. ANTHROPIC ONLY — under OpenAI, `format` is supported and NOT flagged (the
|
|
325
|
+
// profile's deltas are enumerated; inventing a suppression-or-flag beyond them is banned).
|
|
326
|
+
const format = openai ? undefined : node['format'];
|
|
190
327
|
if (typeof format === 'string' && !SUPPORTED_FORMATS.has(format)) {
|
|
191
328
|
ctx.caveats.push({
|
|
192
329
|
code: 'unenforced_format',
|
|
@@ -194,8 +331,10 @@ function walkNode(node, path, ctx) {
|
|
|
194
331
|
remediation: `'format: ${format}' at '${path || '(root)'}' ${enforcementClause(ctx.subject, "is silently ignored or rejected by the API — enforced post-hoc by realm's own validation only")}${fixOwnerHint(ctx.subject)}`,
|
|
195
332
|
});
|
|
196
333
|
}
|
|
197
|
-
// G5: pattern — always a caveat when present, regardless of regex complexity.
|
|
198
|
-
|
|
334
|
+
// G5: pattern — always a caveat when present, regardless of regex complexity. ANTHROPIC ONLY:
|
|
335
|
+
// OpenAI accepts `pattern` and (P2, INFERRED-strong) genuinely enforces it via constrained
|
|
336
|
+
// decoding, so a "realm enforces this post-hoc, the grammar doesn't" caveat would be false.
|
|
337
|
+
if (!openai && typeof node['pattern'] === 'string') {
|
|
199
338
|
ctx.caveats.push({
|
|
200
339
|
code: 'unenforced_pattern',
|
|
201
340
|
path,
|
|
@@ -209,7 +348,13 @@ function walkNode(node, path, ctx) {
|
|
|
209
348
|
continue;
|
|
210
349
|
if (key === 'minimum' || key === 'maximum' || key === 'multipleOf' || key === 'enum')
|
|
211
350
|
continue; // already handled (hard or allowlisted)
|
|
212
|
-
|
|
351
|
+
// issue #313: each profile walks its OWN allowlist. Under 'openai' the hard set was already
|
|
352
|
+
// rejected above, so anything still off-allowlist here is the genuine unknown-keyword class.
|
|
353
|
+
if (openai) {
|
|
354
|
+
if (OPENAI_SUPPORTED_KEYWORDS.has(key) || OPENAI_UNSUPPORTED_KEYWORDS.has(key))
|
|
355
|
+
continue;
|
|
356
|
+
}
|
|
357
|
+
else if (STRICT_SUPPORTED_KEYWORDS.has(key))
|
|
213
358
|
continue;
|
|
214
359
|
if (ctx.seenUnenforcedKeywords.has(`${path}:${key}`))
|
|
215
360
|
continue;
|
|
@@ -239,6 +384,12 @@ function walkNode(node, path, ctx) {
|
|
|
239
384
|
: new Set();
|
|
240
385
|
for (const [propName, propSchema] of Object.entries(properties)) {
|
|
241
386
|
const propPath = joinPath(path, `properties.${propName}`);
|
|
387
|
+
ctx.propertyCount += 1;
|
|
388
|
+
if (openai)
|
|
389
|
+
ctx.charCount += propName.length;
|
|
390
|
+
const isNullUnion = isPlainObject(propSchema) &&
|
|
391
|
+
Array.isArray(propSchema['type']) &&
|
|
392
|
+
propSchema['type'].includes('null');
|
|
242
393
|
if (!required.has(propName)) {
|
|
243
394
|
ctx.optionalCount += 1;
|
|
244
395
|
if (isPlainObject(propSchema) &&
|
|
@@ -246,17 +397,30 @@ function walkNode(node, path, ctx) {
|
|
|
246
397
|
(Array.isArray(propSchema['type']) && propSchema['type'].length > 1))) {
|
|
247
398
|
ctx.unionCount += 1;
|
|
248
399
|
}
|
|
400
|
+
// issue #313 (OpenAI): EVERY property must be listed in `required` — probe-derived, the
|
|
401
|
+
// S1 discriminator isolated it from the additionalProperties rule P1 had conflated it
|
|
402
|
+
// with. The sanctioned way to express "may be absent" is a null union + required.
|
|
403
|
+
if (openai) {
|
|
404
|
+
ctx.hardReasons.push({
|
|
405
|
+
code: 'not_all_required',
|
|
406
|
+
path: propPath,
|
|
407
|
+
remediation: `'${propName}' is not listed in 'required' at '${path || 'the schema root'}' — OpenAI strict requires EVERY property to be required. Add it to 'required'; if it genuinely may be absent, keep it required and widen its type to a null union (e.g. type: ['string', 'null']). Measured (gpt-4o, 24 runs): load-bearing fields stayed filled 24/24 under this rewrite, while a low-salience optional shifted to null 21/24 — so consumers must treat null as equivalent to absent${fixOwnerHint(ctx.subject)}`,
|
|
408
|
+
});
|
|
409
|
+
}
|
|
249
410
|
}
|
|
250
|
-
|
|
411
|
+
else if (openai && isNullUnion) {
|
|
412
|
+
ctx.nullUnionCount += 1;
|
|
413
|
+
}
|
|
414
|
+
walkNode(propSchema, propPath, ctx, depth + 1);
|
|
251
415
|
}
|
|
252
416
|
}
|
|
253
417
|
const items = node['items'];
|
|
254
418
|
if (items !== undefined)
|
|
255
|
-
walkNode(items, joinPath(path, 'items'), ctx);
|
|
419
|
+
walkNode(items, joinPath(path, 'items'), ctx, depth + 1);
|
|
256
420
|
for (const branchKey of ['anyOf', 'allOf']) {
|
|
257
421
|
const branches = node[branchKey];
|
|
258
422
|
if (Array.isArray(branches)) {
|
|
259
|
-
branches.forEach((b, i) => walkNode(b, joinPath(path, `${branchKey}[${i}]`), ctx));
|
|
423
|
+
branches.forEach((b, i) => walkNode(b, joinPath(path, `${branchKey}[${i}]`), ctx, depth + 1));
|
|
260
424
|
}
|
|
261
425
|
}
|
|
262
426
|
for (const defsKey of ['$defs', 'definitions']) {
|
|
@@ -299,6 +463,9 @@ export function assessStructuredOutputEligibility(input) {
|
|
|
299
463
|
const subject = phaseB
|
|
300
464
|
? (input.subject ?? 'step_output')
|
|
301
465
|
: 'step_output';
|
|
466
|
+
// Phase A is provider-blind by design (authoring cannot know the drive-time provider), so it
|
|
467
|
+
// always assesses under the default profile — separation in TIME, not a trade-off.
|
|
468
|
+
const profile = phaseB ? (input.profile ?? 'anthropic') : 'anthropic';
|
|
302
469
|
const toolsFlag = phaseB
|
|
303
470
|
? input.tools === true
|
|
304
471
|
: Array.isArray(input.tools) && input.tools.length > 0;
|
|
@@ -377,21 +544,63 @@ export function assessStructuredOutputEligibility(input) {
|
|
|
377
544
|
unionCount: 0,
|
|
378
545
|
seenUnenforcedKeywords: new Set(),
|
|
379
546
|
subject,
|
|
547
|
+
profile,
|
|
548
|
+
maxDepthSeen: 0,
|
|
549
|
+
propertyCount: 0,
|
|
550
|
+
charCount: 0,
|
|
551
|
+
maxEnumValuesSeen: 0,
|
|
552
|
+
nullUnionCount: 0,
|
|
380
553
|
};
|
|
381
554
|
walkNode(schema, '', ctx);
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
555
|
+
// The two size caps below are ANTHROPIC's (G3). OpenAI publishes no strict-count or optional
|
|
556
|
+
// budget at all; its limits are structural size limits, applied instead — see below.
|
|
557
|
+
if (profile === 'anthropic') {
|
|
558
|
+
if (ctx.optionalCount > 24) {
|
|
559
|
+
ctx.hardReasons.push({
|
|
560
|
+
code: 'too_many_optionals',
|
|
561
|
+
path: '',
|
|
562
|
+
remediation: `this schema has ${ctx.optionalCount} optional properties (limit: 24) — reduce the optional-property count or make more fields required`,
|
|
563
|
+
});
|
|
564
|
+
}
|
|
565
|
+
if (ctx.unionCount > 16) {
|
|
566
|
+
ctx.hardReasons.push({
|
|
567
|
+
code: 'too_many_unions',
|
|
568
|
+
path: '',
|
|
569
|
+
remediation: `this schema has ${ctx.unionCount} union-typed properties (limit: 16) — reduce the anyOf/multi-type property count`,
|
|
570
|
+
});
|
|
571
|
+
}
|
|
388
572
|
}
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
573
|
+
else {
|
|
574
|
+
// issue #313 — OpenAI's documented size limits (depth boundary and enum-count boundary both
|
|
575
|
+
// executed against the live API; the other two are documented and untested at that scale).
|
|
576
|
+
if (ctx.maxDepthSeen > OPENAI_LIMITS.maxDepth) {
|
|
577
|
+
ctx.hardReasons.push({
|
|
578
|
+
code: 'exceeds_provider_limit',
|
|
579
|
+
path: '',
|
|
580
|
+
remediation: `this schema nests ${ctx.maxDepthSeen} levels deep (OpenAI strict limit: ${OPENAI_LIMITS.maxDepth}) — flatten the deepest branch`,
|
|
581
|
+
});
|
|
582
|
+
}
|
|
583
|
+
if (ctx.propertyCount > OPENAI_LIMITS.maxProperties) {
|
|
584
|
+
ctx.hardReasons.push({
|
|
585
|
+
code: 'exceeds_provider_limit',
|
|
586
|
+
path: '',
|
|
587
|
+
remediation: `this schema declares ${ctx.propertyCount} properties (OpenAI strict limit: ${OPENAI_LIMITS.maxProperties}) — split the schema or drop properties`,
|
|
588
|
+
});
|
|
589
|
+
}
|
|
590
|
+
if (ctx.charCount > OPENAI_LIMITS.maxChars) {
|
|
591
|
+
ctx.hardReasons.push({
|
|
592
|
+
code: 'exceeds_provider_limit',
|
|
593
|
+
path: '',
|
|
594
|
+
remediation: `this schema's property names, enum values and const values total ${ctx.charCount} characters (OpenAI strict limit: ${OPENAI_LIMITS.maxChars}) — shorten names or reduce enum members`,
|
|
595
|
+
});
|
|
596
|
+
}
|
|
597
|
+
if (ctx.maxEnumValuesSeen > OPENAI_LIMITS.maxEnumValues) {
|
|
598
|
+
ctx.hardReasons.push({
|
|
599
|
+
code: 'exceeds_provider_limit',
|
|
600
|
+
path: '',
|
|
601
|
+
remediation: `an enum in this schema has ${ctx.maxEnumValuesSeen} values (OpenAI strict limit: ${OPENAI_LIMITS.maxEnumValues}) — reduce the enum or model the field as a plain string`,
|
|
602
|
+
});
|
|
603
|
+
}
|
|
395
604
|
}
|
|
396
605
|
if (ctx.hardReasons.length > 0) {
|
|
397
606
|
return {
|
|
@@ -406,7 +615,18 @@ export function assessStructuredOutputEligibility(input) {
|
|
|
406
615
|
// (benchmark-raw.md §Run 2) — emission propensity is schema-shape-dependent, so this is a
|
|
407
616
|
// general caveat, not a reasoning-specific rule. The nudge additionally names the
|
|
408
617
|
// reasoning-position instance as the sharpest example (validate.ts).
|
|
409
|
-
|
|
618
|
+
// issue #313: G7' is ANTHROPIC-ONLY. Under OpenAI every property must be required, so a
|
|
619
|
+
// schema that reaches this point has no optionals at all and the omission hazard G7' warns
|
|
620
|
+
// about is structurally impossible. What replaces it is the MEASURED null-propensity of
|
|
621
|
+
// null-union properties — a different hazard needing different words and different numbers.
|
|
622
|
+
if (profile === 'openai' && ctx.nullUnionCount > 0) {
|
|
623
|
+
ctx.caveats.push({
|
|
624
|
+
code: 'null_union_emission',
|
|
625
|
+
path: '',
|
|
626
|
+
remediation: `this schema has ${ctx.nullUnionCount} null-union propert${ctx.nullUnionCount === 1 ? 'y' : 'ies'} (the OpenAI-sanctioned way to say "may be absent"). Measured over 24 real inputs: on gpt-4o a load-bearing field stayed filled 24/24 under strict, while a low-salience field shifted to null 21/24 (on gpt-4o-mini, 3/24 vs its own 2/24 unconstrained omission rate) — so a null here means "the model had nothing to say", not "the field is broken". Consumers MUST treat null as equivalent to absent${fixOwnerHint(ctx.subject)}`,
|
|
627
|
+
});
|
|
628
|
+
}
|
|
629
|
+
if (profile === 'anthropic' && ctx.optionalCount > 0) {
|
|
410
630
|
ctx.caveats.push({
|
|
411
631
|
code: 'optional_emission',
|
|
412
632
|
path: '',
|
|
@@ -428,6 +648,10 @@ export function assessStructuredOutputEligibility(input) {
|
|
|
428
648
|
/** Renders a step's structured_output declaration into a plain-English author message, combining
|
|
429
649
|
* every reason's own remediation (`; `-joined) — the shared formatter both the loader's typed
|
|
430
650
|
* error and create_workflow's PRE-register rejection use, so the two surfaces never drift. */
|
|
651
|
+
// Issue #313: the parameter is widened ADDITIVELY to the structural minimum this function has
|
|
652
|
+
// always used, so CAVEATS can feed it too (the drive-time remediation nudge prints for
|
|
653
|
+
// ineligible AND caveated verdicts). Every existing caller passes `StructuredOutputReason[]`,
|
|
654
|
+
// which remains assignable — verified at all three: validate.ts, create-workflow.ts, yaml-loader.ts.
|
|
431
655
|
export function renderIneligibleMessage(reasons) {
|
|
432
656
|
return reasons.map((r) => r.remediation).join('; ');
|
|
433
657
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured-output-eligibility.js","sourceRoot":"","sources":["../../src/workflow/structured-output-eligibility.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"structured-output-eligibility.js","sourceRoot":"","sources":["../../src/workflow/structured-output-eligibility.ts"],"names":[],"mappings":"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"}
|