feat: add versioning skill for functions and events#7
Open
ejirocodes wants to merge 5 commits into
Open
Conversation
Create inngest-versioning skill covering step memoization, safe deploy patterns, timestamp-based and event version routing for major rewrites, gradual rollout, and migration best practices.
- Replace event.v == null with event.v != "2" to match official docs - Clarify that the v field is purely metadata with no platform semantics - Add resync requirement to migration checklist - Update troubleshooting table for unversioned event handling
There was a problem hiding this comment.
1 issue found across 1 file
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="skills/inngest-versioning/SKILL.md">
<violation number="1" location="skills/inngest-versioning/SKILL.md:268">
P2: Combined routing example is non-exhaustive and can drop post-cutover non-v2 events with no matching handler.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
Simplify combined pattern to timestamp-only routing (pre-cutover vs post-cutover) so all events match exactly one handler. Previously, post-cutover events without v:"2" would match neither function.
There was a problem hiding this comment.
1 issue found across 1 file (changes from recent commits).
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="skills/inngest-versioning/SKILL.md">
<violation number="1" location="skills/inngest-versioning/SKILL.md:282">
P2: Combined versioning example no longer enforces `event.v` in routing, so post-cutover non-v2/unversioned events can hit the V2 handler despite claiming version+timestamp control.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
Use three exhaustive handlers: event.v == "2" for versioned events, event.v != "2" with timestamp split for unversioned legacy vs fallback. Ensures no events are dropped while genuinely combining both strategies.
Contributor
Author
|
@djfarrelly this is ready for review when you get a chance |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #1
inngest-versioningskill covering patterns for versioning functions and eventsvfield, gradual rollout, and backward-compatible event evolutionTest plan
Summary by cubic
Adds the
inngest-versioningskill with TypeScript examples to help version Inngest functions and events without breaking in-progress runs. Shows safe deploys, side-by-side upgrades, and event schema evolution.New Features
vrouting (CEL examples).vis metadata only.inngest-versioningto the README skills table.Bug Fixes
event.v == "2", pre-cutover non‑v2, and post‑cutover fallback (no dropped events).Written for commit b9de99a. Summary will update on new commits.