@openwop/openwop-conformance 2.44.9 → 2.45.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 (66) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +3 -2
  3. package/dist/spec-artifacts.lock.json +2 -2
  4. package/package.json +2 -2
  5. package/requirements.json +150 -131
  6. package/scenario-majors.json +5 -2
  7. package/schemas/CORPUS-STAMP.json +12 -12
  8. package/src/lib/run-list-walk.ts +65 -0
  9. package/src/scenarios/agentConfidenceEscalation.test.ts +8 -1
  10. package/src/scenarios/agentMemoryCrossTenantIsolation.test.ts +8 -1
  11. package/src/scenarios/agentMemoryRedactionContract.test.ts +8 -1
  12. package/src/scenarios/agentMemoryRoundTrip.test.ts +8 -1
  13. package/src/scenarios/agentMemoryTtlExpiry.test.ts +8 -1
  14. package/src/scenarios/agentMessageReducer.test.ts +8 -1
  15. package/src/scenarios/agentMetadata.test.ts +8 -1
  16. package/src/scenarios/agentPackCatalog.test.ts +13 -5
  17. package/src/scenarios/agentPackExport.test.ts +8 -2
  18. package/src/scenarios/agentPackHandoffSchemaValidation.test.ts +17 -2
  19. package/src/scenarios/agentPackInstall.test.ts +8 -2
  20. package/src/scenarios/agentPackProvenance.test.ts +8 -1
  21. package/src/scenarios/agentReasoningEvents.test.ts +9 -1
  22. package/src/scenarios/agentReasoningStreaming.test.ts +14 -1
  23. package/src/scenarios/append-ordering.test.ts +7 -2
  24. package/src/scenarios/bulk-cancel.test.ts +11 -1
  25. package/src/scenarios/cap-breach.test.ts +8 -1
  26. package/src/scenarios/channel-ttl.test.ts +7 -1
  27. package/src/scenarios/conversationCapabilityNegotiation.test.ts +8 -1
  28. package/src/scenarios/conversationLifecycle.test.ts +8 -1
  29. package/src/scenarios/conversationReplayDeterminism.test.ts +8 -2
  30. package/src/scenarios/conversationVsLegacySuspend.test.ts +8 -1
  31. package/src/scenarios/cost-attribution.test.ts +17 -4
  32. package/src/scenarios/debugBundle.test.ts +16 -5
  33. package/src/scenarios/dispatch-cross-worker-handoff.test.ts +10 -2
  34. package/src/scenarios/dispatch-output-mapping.test.ts +20 -4
  35. package/src/scenarios/dispatchLoop.test.ts +7 -1
  36. package/src/scenarios/durability-poison-exhaustion.test.ts +7 -2
  37. package/src/scenarios/highConcurrency.test.ts +11 -1
  38. package/src/scenarios/host-callback-declaration.test.ts +10 -1
  39. package/src/scenarios/identity-passthrough.test.ts +7 -1
  40. package/src/scenarios/interrupt-approval.test.ts +25 -5
  41. package/src/scenarios/interrupt-auth-required-resume.test.ts +9 -3
  42. package/src/scenarios/interrupt-external-event-correlation.test.ts +9 -2
  43. package/src/scenarios/interrupt-parent-child-cascade.test.ts +10 -2
  44. package/src/scenarios/interrupt-quorum-resolution.test.ts +9 -2
  45. package/src/scenarios/interrupt-token-matrix.test.ts +11 -3
  46. package/src/scenarios/interruptRace.test.ts +13 -3
  47. package/src/scenarios/multi-agent-confidence-escalation.test.ts +14 -3
  48. package/src/scenarios/multi-agent-handoff-state-machine.test.ts +15 -3
  49. package/src/scenarios/multi-node-ordering.test.ts +7 -1
  50. package/src/scenarios/node-failed-payload-shape.test.ts +7 -1
  51. package/src/scenarios/orchestratorConservativePath.test.ts +8 -1
  52. package/src/scenarios/orchestratorDispatch.test.ts +9 -1
  53. package/src/scenarios/orchestratorTermination.test.ts +8 -1
  54. package/src/scenarios/owner-subject-echo.test.ts +9 -2
  55. package/src/scenarios/pause-resume.test.ts +19 -8
  56. package/src/scenarios/prompt-all-four-kinds-events.test.ts +9 -2
  57. package/src/scenarios/prompt-end-to-end-events.test.ts +10 -2
  58. package/src/scenarios/replay-fork-arbitrary.test.ts +11 -4
  59. package/src/scenarios/restart-during-run.test.ts +7 -1
  60. package/src/scenarios/secret-leakage-otel-attribute.test.ts +14 -5
  61. package/src/scenarios/stream-text-fixture.test.ts +8 -2
  62. package/src/scenarios/streamReconnect.test.ts +8 -2
  63. package/src/scenarios/subworkflow.test.ts +9 -1
  64. package/src/scenarios/v2-cors-preflight.test.ts +141 -0
  65. package/src/scenarios/v2-run-list.test.ts +14 -16
  66. package/src/scenarios/version-fold.test.ts +8 -2
@@ -34,7 +34,7 @@
34
34
  */
35
35
 
36
36
  import { describe, it, expect } from 'vitest';
37
- import { softSkip, blockedDespiteAssertions } from '../lib/soft-skip.js';
37
+ import { softSkip, blockedDespiteAssertions, type SoftSkipKind } from '../lib/soft-skip.js';
38
38
  import { driver, type OpenWOPResponse } from '../lib/driver.js';
39
39
  import { pollUntilTerminal } from '../lib/polling.js';
40
40
  import { isFixtureAdvertised } from '../lib/fixtures.js';
@@ -77,8 +77,13 @@ async function createForcedRun(version: number): Promise<OpenWOPResponse> {
77
77
  );
78
78
  }
79
79
 
80
- describe.skipIf(SKIP_NO_FIXTURE)('version-fold: forced engine versions fold-best-effort across the advertised range', () => {
80
+ /** Why the gate below holds, as RFC 0148 §A names it (openwop#1686: a describe-level skip recorded no disposition). */
81
+ const GATE_WHY: readonly [SoftSkipKind, string] =
82
+ (!isFixtureAdvertised(FIXTURE_ID)) ? ['blocked', `the \`${FIXTURE_ID}\` fixture is not advertised`] as const : ['blocked', 'the gate held for no named reason'] as const;
83
+
84
+ describe('version-fold: forced engine versions fold-best-effort across the advertised range', () => {
81
85
  it('each version in [min, current, max] completes + snapshot and event log stay readable', async () => {
86
+ if (SKIP_NO_FIXTURE) return softSkip(...GATE_WHY);
82
87
  const seam = await readForceSeam();
83
88
  if (seam === null) {
84
89
  // eslint-disable-next-line no-console
@@ -163,6 +168,7 @@ describe.skipIf(SKIP_NO_FIXTURE)('version-fold: forced engine versions fold-best
163
168
  });
164
169
 
165
170
  it('a forced version outside the advertised range is rejected with 400 unsupported_force_engine_version', async () => {
171
+ if (SKIP_NO_FIXTURE) return softSkip(...GATE_WHY);
166
172
  const seam = await readForceSeam();
167
173
  if (seam === null) {
168
174
  // eslint-disable-next-line no-console