OAI / OAI/Arazzo-Specification

Add enhanced looping capabilities

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

Nobody has claimed this yet.

enhancement
Dominant language
JavaScript
Stars
471
Forks
69
Avg merge
17h 58m
Merged PRs (30d)
19

Description

The current specification is arguably Turing complete in so far as it supports conditional branching with the ability to go to other steps or workflows depending on those conditions. Recursively looping it theoretically possible while a particular condition holds true.

In the presentation of the draft specification to the OAS TDC, it was mentioned that the ability to have a more verbose looping process (especially based on the output of a previous step/workflow) might be advantageous for various use-cases.

Example:
Say an API call returns a list of flights matching certain criteria, then one might want to be able to loop over those flights and get flight prices for each of those flights before moving on to a further step.

The purpose of this issue is to discuss the need for a more advance looping system as part of the initial specification version and if warranted propose and add the looping ability to the specification

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.

Research direction

Start by reviewing the current specification's conditional branching, go-to behavior, and workflow outputs. Determine whether enhanced looping belongs in the initial version, then develop and document a concrete proposal for looping over previous step or workflow results. Done means the need and proposed specification changes are resolved, but this issue names no files or tests.

Written by the indexing model from the issue text.

Assessment

Domain
api
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.