feat(runner): workflow-runner core - #9
Open
RobertCrupa wants to merge 3 commits into
Open
RobertCrupa wants to merge 3 commits into
RobertCrupa wants to merge 3 commits into
Conversation
RobertCrupa
added this pull request to stack #12
September 21, 2026 13:26
Reads a Langfuse dataset (a suite), runs one headless Claude Code session per scenario in parallel, emits traces (agent span + per-turn generations + per-tool observations), collects evidence (Actor runs, dataset items, reference runs), scores deterministic checks, calls the judge, and reports team-facing scope/health/Slack digest results. The harness adapter registry supports a single kind, claude-code; Codex is added as a second backend in a later branch. Builds on feat/judge-actor.
…fault Number(healthThresholdInput) || 0.9 replaced a legal "0" (never fail on health) with the 0.9 default, so a run could still exit with code 10. The scheduled-run Slack digest default never fired either: Apify sets APIFY_META_ORIGIN=SCHEDULER, which lowercases to "scheduler" and never equals the "schedule" literal the check compares against. Both resolutions move to a pure src/config.ts so they can be tested without importing the Actor entry point: resolveHealthThreshold falls back only on a missing or non-finite value, resolveTrigger normalises the scheduler origin to the "schedule" label the input schema documents, and shouldNotify reads that label. The notify field loses its false default so an unset value can mean "scheduled runs only".
Sessions are spawned detached, so each `claude` process group survived an abort and kept burning compute and tokens after the run stopped. Track every live child in adapters/shared.ts and kill the whole set from an Actor 'aborting' handler before exiting, as AGENTS.md requires.
RobertCrupa
force-pushed
the
feat/workflow-runner-core
branch
from
September 21, 2026 13:29
572d72c to
d4b2e40
Compare
artogahr
approved these changes
Sep 21, 2026
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.
Adds the workflow-runner Actor (`actors/workflow-runner/`): reads a Langfuse dataset, runs one headless Claude Code session per scenario in parallel, emits traces, collects evidence, scores deterministic checks, calls the judge, and reports team-facing scope/health/Slack digest results.
The harness adapter registry supports a single kind (`claude-code`) here; Codex is added as a second backend in a later PR in this stack.
Depends on the judge Actor from #8.
🤖 Generated with Claude Code