Skip to content

Test: carry uwreqs.challenge_id in the swap-scenario fixture - #68

Merged
heifner merged 1 commit into
masterfrom
fix/uwreq-fixture-challenge-id
Aug 13, 2026
Merged

Test: carry uwreqs.challenge_id in the swap-scenario fixture#68
heifner merged 1 commit into
masterfrom
fix/uwreq-fixture-challenge-id

Conversation

@heifner

@heifner heifner commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

master does not compile. Every E2E run since the underwriter-challenge merges dies in the platform build, before a single flow starts:

packages/cluster-tool prepare: tests/flow/contexts/SwapScenarioContext.test.ts(58,3): error TS2322:
  Property 'challenge_id' is optional in type '{ ... }' but required in type 'SysioUwritUwRequestTType'

Cause

wire-sysio#549 adds challenge_id to both uw_request_t and the locks row — the marker holdlocks stamps while an underwriter-fault challenge is open. wire-libraries-ts#61 regenerated SysioContractTypes, so the field is a required property on SysioUwritUwRequestTType and SysioUwritLockEntryType.

#56 carried the new field into lockRow() but not into uwreqRow(). Both fixtures return the full row type rather than a Partial, so the omission fails tsc -b in packages/cluster-tool and takes pnpm build — and the E2E gate behind it — down with it.

Same break as #58, which added target_amount to this same fixture for the same reason.

Fix

     attestation_outbound_data: "",
+    challenge_id: 0,
     ...overrides

Scope

uwreqRow() and lockRow() are the only positions in the repo that construct these rows; every other SysioUwritUwRequestTType reference is a read position. Key-diffing every generated-type literal in the tree against the wire-libraries-ts master interfaces leaves nothing else short a required field: reserveRow 22/22, uwreqRow 23/23 with this line, lockRow 10/10, and the three SysioSystem*/SysioBios* literals in the orchestration tests complete.

…xture

wire-sysio#549 adds `challenge_id` to both `uw_request_t` and the `locks` row, and the regenerated `sdk-core` types carry it as a required property on `SysioUwritUwRequestTType` and `SysioUwritLockEntryType`.

#56 added the field to `lockRow()` but not to `uwreqRow()`. Both return the full row type rather than a `Partial`, so the omission stops `packages/cluster-tool` compiling — `tsc -b` fails with TS2322 and takes `pnpm build` with it, which is why every e2e run since the companion merges dies in the platform build before a single flow starts.

That fixture is the whole surface: `uwreqRow()` and `lockRow()` are the only positions in the repo that construct these rows; every other `SysioUwritUwRequestTType` reference is a read position.
@heifner
heifner requested a review from jglanz August 13, 2026 17:52
@heifner
heifner merged commit ad34670 into master Aug 13, 2026
@heifner
heifner deleted the fix/uwreq-fixture-challenge-id branch August 13, 2026 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants