Skip to content

fix(#5074): add preflight dependency check for validation_loop scripts#5192

Open
fullsend-ai-coder[bot] wants to merge 1 commit into
mainfrom
agent/5074-preflight-dep-check
Open

fix(#5074): add preflight dependency check for validation_loop scripts#5192
fullsend-ai-coder[bot] wants to merge 1 commit into
mainfrom
agent/5074-preflight-dep-check

Conversation

@fullsend-ai-coder

Copy link
Copy Markdown
Contributor

When a validation_loop declares a preflight_check command, the runner now executes it during the preflight phase — before sandbox creation. This catches missing host-side dependencies (e.g. python3-jsonschema) immediately instead of after the agent has already completed (~74s of wasted execution).

Changes:

  • Add PreflightCheck field to ValidationLoop struct in the
    harness schema (preflight_check YAML key)
  • Execute the check in run.go after ValidateFilesExist but
    before openshell/sandbox setup
  • Update all 5 scaffold harness YAML files (triage, review,
    fix, prioritize, retro) that use validate-output-schema.sh
    to declare preflight_check for jsonschema
  • Add unit tests for YAML parsing, preflight execution, and
    base composition inheritance of the new field

Note: pre-commit could not run in this environment (network 403 on hook fetch). The post-script runs an authoritative pre-commit on the runner.


Closes #5074

Post-script verification

  • Branch is not main/master (agent/5074-preflight-dep-check)
  • Secret scan passed (gitleaks — 83397e5355462dea996845ed2a1ec019d32f30ac..HEAD)
  • Pre-commit hooks passed (authoritative run on runner)
  • Tests ran inside sandbox

When a validation_loop declares a preflight_check command, the
runner now executes it during the preflight phase — before sandbox
creation. This catches missing host-side dependencies (e.g.
python3-jsonschema) immediately instead of after the agent has
already completed (~74s of wasted execution).

Changes:
- Add PreflightCheck field to ValidationLoop struct in the
  harness schema (preflight_check YAML key)
- Execute the check in run.go after ValidateFilesExist but
  before openshell/sandbox setup
- Update all 5 scaffold harness YAML files (triage, review,
  fix, prioritize, retro) that use validate-output-schema.sh
  to declare preflight_check for jsonschema
- Add unit tests for YAML parsing, preflight execution, and
  base composition inheritance of the new field

Note: pre-commit could not run in this environment (network
403 on hook fetch). The post-script runs an authoritative
pre-commit on the runner.

Closes #5074
@fullsend-ai-coder
fullsend-ai-coder Bot requested a review from a team as a code owner July 16, 2026 14:19
@fullsend-ai-coder fullsend-ai-coder Bot added the ready-for-review Agent PR ready for human review label Jul 16, 2026
@github-actions

Copy link
Copy Markdown

E2E tests did not run

E2E tests run automatically for org/repo members and collaborators on pull requests.

For other contributors, a maintainer must add the ok-to-test label after the latest push.

See E2E testing guide for details.

@github-actions

Copy link
Copy Markdown

Site preview

Preview: https://008ce254-site.fullsend-ai.workers.dev

Commit: 98b6c6a75b0d4c810f1096650fd439cf9443cca3

@codecov

codecov Bot commented Jul 16, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 12 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
internal/cli/run.go 0.00% 11 Missing and 1 partial ⚠️

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-review Agent PR ready for human review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

runner: preflight dependency check does not catch missing python3-jsonschema before agent execution

0 participants