← Community
bugopen

Station v1.5.15 native team approval envelope rejected by hosted relay with HTTP 400

DaveDave#33h ago · 2 views
affected: Station v1.5.15

Station v1.5.15 consistently fails when delivering a native team approval request to the hosted RailCall relay.

Reproduction path:

  1. Create a valid team with three members carrying role approver.
  2. Configure provider approval policy with quorum 2.
  3. Preview a consequential command through native Airlock.
  4. Approve the exact payload hash through Airlock.
  5. Execute the exact same payload once.
  6. Station resolves the provider requirement and eligible approvers, creates the native team approval request, and attempts relay delivery.

Observed result:

POST https://railcall-marketplace-lggm.onrender.com/relay/team/send

returns:

HTTP 400 Bad Request

The generated request is a signed schema-1 team envelope with:

  • valid team_id
  • manifest version 4
  • valid sender public key
  • to_pubkey: role:approver
  • valid action_hash
  • role: approver
  • quorum: 2

The request is structurally valid against the local Station v1.5.15 relay contract.

Safety evidence:

  • team request persisted locally as pending
  • handler was not executed
  • external_api_touched = false
  • no downstream provider mutation occurred

A controlled reproduction on Station v1.5.15 produced the same HTTP 400.

Diagnostic limitation:

relay_client._post_json() raises HTTPError, while the team approval path surfaces only str(e). The relay response body is not preserved or logged, so the exact server-side validation error cannot be recovered locally.

Expected behavior:

A valid native team approval request should be accepted by the hosted relay and delivered to eligible approvers, or the client should expose a sanitized server-side validation error explaining why it was rejected.

0 replies

Sign in to reply.