Skip to content

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

Merged
pelikhan merged 1 commit into
mainfrom
rig-claude-compat/2026-07-30-9927be4ce8dffe12
Jul 31, 2026
Merged

[rig-claude] Improve Claude dynamic-workflow compatibility for rig#312
pelikhan merged 1 commit into
mainfrom
rig-claude-compat/2026-07-30-9927be4ce8dffe12

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Compatibility gap addressed

call.workflow(child, args) — the rig equivalent of Claude dynamic-workflow's workflow(ref, args) — had no dedicated sample. Every other Claude dynamic-workflow primitive already had at least one sample:

Primitive Sample
log, budget, until 320-budget-aware-crawler
parallel, pipeline, phase 310-workflow-audit-verify, 60-workflow-parallel-linter
call.json, call.text 310-workflow-audit-verify, 70-multi-file-subagent-summarizer
call.workflow ❌ docs only — no sample

Why this improves transfer

Someone porting a Claude dynamic workflow that composes sub-workflows via workflow(ref, args) couldn't find a working rig example showing call.workflow. The new sample (330-nested-workflow-composition.md) closes that gap with a short, idiomatic program that:

  • defines a reusable child workflow with typed input
  • calls it from a parent workflow with call.workflow(child, { dir }, { label })
  • shows the inline sharing of budget, limiter, and event stream
  • includes the direct Claude→rig mapping comment

Files changed

  • skills/rig/samples/330-nested-workflow-composition.md — new sample

Validation run

npm run sample -- --testNamePattern="skill markdown samples typecheck"
✓ typechecks extracted rig programs with npx tsc (402 tests | 401 skipped)

Remaining intentional differences

  • effort / agentType / resume journal / worktree isolation — documented in claude-workflow-conversion.md, not modeled in rig
  • budget counts agent calls, not tokens — documented in conversion reference

Generated by Daily Rig Claude Dynamic Workflow Compatibility · sonnet46 39.1 AIC · ⌖ 8.15 AIC · ⊞ 5.4K ·

Closes the call.workflow discoverability gap — the last Claude dynamic-workflow
primitive without a dedicated rig sample. Every other primitive (log, budget,
until, parallel, pipeline, phase, call.json/text) already had samples; nested
workflow delegation via call.workflow had only docs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@pelikhan
pelikhan marked this pull request as ready for review July 31, 2026 00:04
@pelikhan
pelikhan merged commit 655e8c3 into main Jul 31, 2026
1 check passed
@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor Author

🧠 Matt Pocock Skills Reviewer has completed the skills-based review. ✅

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Skills-Based Review 🧠

Applied /codebase-design — the sample fits cleanly into the existing architecture. No blocking issues found.

📋 Key Themes & Highlights

Positive Highlights

  • ✅ Correctly uses WorkflowWithoutInputSpec for fullAudit (no input field needed on the entry-point workflow)
  • r?.issues optional chaining is accurate — call.json returns T | null, so the child workflow output is nullable
  • { label } option correctly applies to both call.json and call.workflow via their respective options types
  • ✅ Closes the documented gap: call.workflow was the only Claude dynamic-workflow primitive with no sample
  • ✅ PR description includes a validation run confirming typechecks pass

🧠 Reviewed using Matt Pocock's skills by Matt Pocock Skills Reviewer · sonnet46 37.1 AIC · ⌖ 4.07 AIC · ⊞ 6.3K
Comment /matt to run again

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.

1 participant