Feed-forward tasks

Open
#29 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
docker, wasm

Research direction

Begin by locating the Action, Executor, Invocation, and Receipt definitions referenced in the issue. Trace how delegations and receipt-dispatched work currently flow, then assess the safety constraints around keeping cryptographic material off the network. The issue names no files or tests; done would require an agreed implementation scope and security design.

Written by the indexing model from the issue text.

Description

Something that came up with @zeeshanlakhani and earlier in the process with @Gozala is if it's possible to produce a complete Invocation from a return value. I don't think we need to ship this in the v1.0, but could easily be extended to do this in a v1.x.

A rough sketch of the idea looks roughly like this:

  • Pass relevant delegations to the Executor in the original Action
  • The Executor knows how to sign those as part of execution
    • e.g. either directly, or if it's running Wasm or Docker or something, they can do it inside
  • Add a run: [Invocation] field to the Reciept that picks these up and immedietly dispatches them

In this world, the inner Action has all of the data it needs to construct a complete Invocation down to the cryptographic signature. This is dicey if you don't have a way to keep the cryptogtraphic material off of the network (i.e. don't put it in an argument to the function, so it's inherently effectful).

Fission has plans to handle this case safely, but I don't want to ship something that can inadvertently leak cryptographic material in the meantime.

Dominant language
No language data
Stars
20
Forks
7
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ucan-wg/invocation

All issues in ucan-wg/invocation

Similar issues

More Backend & API Design issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.