Skip to content

[rig-claude] Improve Claude dynamic-workflow compatibility for rig - #524

Draft
github-actions[bot] wants to merge 1 commit into
mainfrom
rig-claude-compat/2026-09-01-bd9ed5e2e4bbcf7b
Draft

[rig-claude] Improve Claude dynamic-workflow compatibility for rig#524
github-actions[bot] wants to merge 1 commit into
mainfrom
rig-claude-compat/2026-09-01-bd9ed5e2e4bbcf7b

Conversation

@github-actions

@github-actions github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Compatibility gap addressed

dynamic-workflows.md (the primary rig workflow API reference) was missing the TypeScript single-type constraint for parallel and the Promise.all avoidance note. Both were documented in claude-workflow-conversion.md's primitive mapping table, but a user reading only the core API reference would not see either warning.

This is the most impactful discoverability gap for Claude dynamic-workflow porters: they commonly use parallel with different agent output types (e.g., one thunk returning { findings }, another returning { verdict }), and Promise.all is the natural reflex when parallel isn't known. Missing this information silently produces TypeScript errors or bypasses the concurrency limiter.

Why this improves transfer

Claude's parallel(thunks) injects each thunk's result as any, so mixed return types compile without cast. Rig's parallel<Result> is generic over a single type, so porting users hit a TypeScript error when their thunks return different shapes. Surfacing the cast pattern directly in dynamic-workflows.md makes the mapping obvious without requiring a second pass through the conversion reference.

Files changed

  • skills/rig/references/dynamic-workflows.md — expanded the parallel row in the Context table with the TypeScript constraint note and the Promise.all avoidance guidance

Validation

Only docs changed; no TypeScript sources were modified. Verified no broken relative links in the edited file. The sample typecheck test (npm run sample -- --testNamePattern="skill markdown samples typecheck") timed out on npx tsc — a pre-existing environment issue unrelated to this doc-only change.

Remaining intentional differences

  • parallel requires homogeneous types (by design in rig's typed API); the cast workaround is now documented in both references.
  • Promise.all is not forbidden but bypasses the limiter; both references now warn against it.

Generated by Daily Rig Claude Dynamic Workflow Compatibility · sonnet46 86.4 AIC · ⌖ 5.07 AIC · ⊞ 5.4K ·

The parallel row in the context table was missing the single-type
TypeScript constraint and the Promise.all avoidance note. Both were
documented in claude-workflow-conversion.md but not in the primary
dynamic-workflows.md reference, so users who read only the API doc
would not see the hint about heterogeneous casts or the concurrency
limiter bypass warning.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants