Skip to content

docs(rfc): add stovepipe process step design #308

Open
mnoah1 wants to merge 2 commits into
mainfrom
mnoah1/process-docs-update
Open

docs(rfc): add stovepipe process step design #308
mnoah1 wants to merge 2 commits into
mainfrom
mnoah1/process-docs-update

Conversation

@mnoah1

@mnoah1 mnoah1 commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Adding a more detailed design/implementation plan for MVP version of the process step in the overall stovepipe workflow.

mnoah1 added 2 commits July 7, 2026 20:42
…ditions

The existing Request entity deliberately omits timestamps (schema documents
"No timestamps: created/updated times are not part of the Request entity"),
and nothing in the process algorithm reads them. Align the RFC's Request
additions table with that decision.
@mnoah1 mnoah1 marked this pull request as ready for review July 7, 2026 21:59
@mnoah1 mnoah1 requested review from a team, behinddwalls and sbalabanov as code owners July 7, 2026 21:59
Comment on lines +26 to +29
5. Coalesce: if R.Sequence < Q.latest_request_seq:
- a newer head exists -> mark R superseded, ack, return. (No slot consumed.)
6. R is the latest head. Gate: if Q.in_flight_count >= Q.max_concurrent:
- park the delivery (extend visibility, no ack/nack, no state change) -> re-check until the slot frees (admit) or a newer head supersedes it. See [Waiting for a slot](#waiting-for-a-slot).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we have to worry about maxAttempt when we increase the visibility timeout or do we need to just do publishAfter semantics in this case? i think when we admit, are we sending for build step right away or waiting for previous run to complete

| `name` | Stable logical id (`monorepo/main`); the string ingest accepts | ingest (create) |
| `last_green_uri` | Bookmark; empty until first green | record |
| `in_flight_count` | Active Phase 1 validations | process (+1), record/DLQ (−1) |
| `max_concurrent` | Concurrency cap (default 1) | config at create |

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we need this in DB or should this be wire up into the Queue config or some sort of extension?

|---|---|
| `Sequence` | The per-Queue counter value `n` behind the id; the coalescing order key |
| `BuildStrategy` | `incremental_since_green` \| `full_monorepo`; immutable once set by `process` |
| `BaselineURI` | Last-green URI used as the incremental baseline; empty for full builds |

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe just BaseURI?

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