Skip to content

Add template variables, conditional steps, dry-run, abort handling, and GitHub summary to harness#2960

Open
Myestery wants to merge 2 commits intoskillsfrom
harness-enhancements
Open

Add template variables, conditional steps, dry-run, abort handling, and GitHub summary to harness#2960
Myestery wants to merge 2 commits intoskillsfrom
harness-enhancements

Conversation

@Myestery
Copy link
Contributor

@Myestery Myestery commented Mar 11, 2026

Summary

Closes #2885, closes #2884, closes #2914, closes #2917, closes #2904

Test plan

  • npx tsc --noEmit passes
  • 84 unit + integration tests pass (all suites except watcher which is pre-existing flaky due to fswatch)
  • npx tsx src/run.ts --dry-run --scenarios scenarios validates and prints step summaries
  • Integration tests verify variable substitution flows through executor to shell commands, prompts, invoke fields, and create_agent names
  • Integration tests verify conditional skip/run with abort signal mid-scenario

…nd GitHub summary to harness

- Template variable substitution ({{agent}}, {{language}}, {{workspace}}, {{scenario}}) in step fields
- Conditional step execution with only_if/skip_if on agent, language, and os
- --dry-run flag to validate scenarios and print step summaries without executing
- Graceful Ctrl+C handling with partial result writing via AbortController
- GitHub Actions job summary markdown output via GITHUB_STEP_SUMMARY
- Remove issue number references from comments
# Conflicts:
#	golem-skills/tests/harness/src/driver/base.ts
#	golem-skills/tests/harness/src/executor.ts
#	golem-skills/tests/harness/tests/abort.test.ts
#	golem-skills/tests/harness/tests/conditions.test.ts
#	golem-skills/tests/harness/tests/github-summary.test.ts
#	golem-skills/tests/harness/tests/loader.test.ts
#	golem-skills/tests/harness/tests/variables-integration.test.ts
#	golem-skills/tests/harness/tests/variables.test.ts
#	tests/harness/src/driver/claude.ts
#	tests/harness/src/driver/gemini.ts
#	tests/harness/src/driver/opencode.ts
#	tests/harness/src/run.ts
#	tests/harness/tests/assertions.test.ts
#	tests/harness/tests/executor.test.ts
#	tests/harness/tests/watcher.test.ts
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