Skip to content

Surface actionable diagnostics when pre-script fails from dispatch version skew #6854

Description

@fullsend-ai-retro

What happened

On issue #4, the triage agent's pre-script failed (run 33520084315) because reusable-dispatch.yml v0.36.0 did not inject ISSUE_URL and FULLSEND_TRACKER environment variables that agents@v0 pre-scripts required. The telemetry recorded only "status": {"code": 2, "message": "running pre-script: exit status 1"} — no indication that the root cause was a version mismatch between the dispatch workflow and the agents definition. The repo maintainer had to manually diagnose the issue by reading pre-script source and comparing env var expectations across versions, then create PR #5 to bump the pin.

What could go better

The failure was opaque. A pre-script exit code 1 could mean anything — a missing tool, a bad config, a network issue, or (as here) a version contract violation. The human had to reverse-engineer the root cause. This is a version-skew class of problem that will recur whenever fullsend ships a new agents version that depends on env vars or features introduced in a newer dispatch workflow. I'm fairly confident this is addressable because the dispatch workflow version and agents version are both known at runtime — the harness resolves both before invoking the pre-script. Partially related to #6013 (dispatch propagation gap), but #6013 focuses on the sync mechanism for per-org mode, not on runtime diagnostics when versions are mismatched.

Proposed change

Add a version-contract check early in the harness startup (before pre-script execution) that compares the running reusable-dispatch.yml version against a minimum-version field in the resolved agents definition (e.g., min_dispatch_version: 0.39.0 in harness/<agent>.yaml). When the dispatch version is below the minimum, fail with a clear message: agents@v0 requires dispatch v0.39.0+, but this repo uses v0.36.0. Update .github/workflows/fullsend.yaml — see https://github.com/fullsend-ai/fullsend/releases/tag/v0.39.0. This check should run in the harness layer before any pre-scripts execute.

Validation criteria

Recreate the version-skew scenario (pin a test repo to an old dispatch version with newer agents) and confirm the error message names both versions and links to the required update. The pre-script should not run at all — the contract check should fail first with an actionable diagnostic.


Generated by retro agent from rhdh-parasol/rhdh-operator#5

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions