Skip to content

Encoded storage operations - #4

Merged
alob-mtc merged 3 commits into
mainfrom
feat/encoded-storage
Sep 29, 2026
Merged

alob-mtc merged 3 commits into
mainfrom
feat/encoded-storage

Conversation

@alob-mtc

@alob-mtc alob-mtc commented Sep 29, 2026 •

Copy link
Copy Markdown
Collaborator

Protocol side of alob-mtc/runnerq-go#67, which adds payload/result encodings and failure details to the storage contract so TypeScript workers can use hosted storage with their own semantics.

  • Generator: tools/generate.py reads the SDK's new EncodedStorage interface. The protocol gains DequeueBatchEncoded, AckSuccessEncoded and SignalActivityEncoded, and the generated client implements them.
  • storaged dispatch (generated into runnerq-cloud):
    • it serves the new operations;
    • the encoded claim gets the same 25-second long-poll cap as DequeueBatch;
    • encoding names are bounded (at most 64 bytes, at most 8 per claim).
  • New fields: QueuedActivity.Serialization, ActivityResult.Serialization and FailureKind.Details come through the protocol's argument types as they are. They're omitempty, so Go workers send the same JSON as before.
  • Dependency: builds against runnerq-go 08d282d (#67 merged).

Checked: the adapter's tests pass. The storaged side is runnerq/runnerq-cloud (the feat/encoded-storage PR), where a new test drives the operations through this client.

The generator reads the SDK's new EncodedStorage interface: the protocol
gains DequeueBatchEncoded, AckSuccessEncoded and SignalActivityEncoded,
and the client implements them. storaged's generated dispatch serves them,
with the long-poll cap on the encoded claim and bounds on encoding
names. Builds against runnerq-go ae06f34 until #67 merges.
@alob-mtc
alob-mtc marked this pull request as ready for review September 29, 2026 20:16
@alob-mtc
alob-mtc merged commit d518580 into main Sep 29, 2026
@alob-mtc
alob-mtc deleted the feat/encoded-storage branch September 29, 2026 20:16
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.

1 participant