Skip to content

dependabot-risk-rater still fails: agent produces no output after vertex-ai fix #32

Open

Description

@fullsend-ai-retro

What happened

PR #30 fixed the fullsend-vertex-ai provider error. The first post-fix run (33773492498, Sep 3 15:35 UTC) showed the provider error is gone and the sandbox started successfully. However, the agent ran for only ~4 minutes at $0.64 (very low for Opus), exited with code 0, but never wrote agent-result.json. The post-script then failed: agent-result.json not found. The run log contained a warning: env.sandbox key "FULLSEND_OUTPUT_FILE" is reserved for runner infrastructure; skipping — the harness config's FULLSEND_OUTPUT_FILE: agent-result.json in env.sandbox (line 88 of dependabot-risk-rater.yaml) was silently dropped. The agent definition at rhdh/agents/dependabot-risk-rater.md tells the agent to write to $FULLSEND_OUTPUT_DIR/${FULLSEND_OUTPUT_FILE:-agent-result.json}. This same post-script failure also occurred on Sep 2 19:22 (before the vertex-ai error started), suggesting it is a pre-existing, distinct bug.

What could go better

Two issues may be contributing:

  1. FULLSEND_OUTPUT_FILE silently dropped: The runner treats FULLSEND_OUTPUT_FILE as reserved and skips the config value. If the runner does inject its own value, this is cosmetic. If it does not reach the sandbox, the agent falls back to the hardcoded default (agent-result.json) but may write to a different directory than the post-script expects.

  2. Agent fails to complete its task: The $0.64 cost and ~4-minute runtime suggest the agent stalled during setup (skill loading, pr-data extraction, environment checks) and never reached the scoring/output step. The agent definition references a remote skill URL that must be fetched inside the sandbox; if skill loading fails silently, the agent may exit without producing output.

Confidence: medium. I can confirm the post-script failure and the FULLSEND_OUTPUT_FILE warning from the run logs. I cannot determine the exact root cause without the full agent transcript. The pre-existing nature of this bug (Sep 2 occurrence) increases confidence that it is independent of PR #30's changes.

Proposed change

Investigate the agent transcript from run 33773492498 to determine why the agent did not produce output. Likely areas to check:

  1. Verify FULLSEND_OUTPUT_FILE reaches the sandbox: Check whether the runner's reserved-key mechanism injects the value or only blocks the config override. If the variable is not available inside the sandbox, either remove it from env.sandbox (if the runner handles it) or move it to env.runner only (line 83 already sets it there).

  2. Check skill loading: The dependency-update-risk-rating skill is fetched from a remote URL inside the sandbox. Verify the skill loaded successfully. If the sandbox network policy or DNS resolution blocks it, the agent would stall.

  3. Check pr-data.tar availability: The agent extracts pre-fetched PR data from /sandbox/workspace/pr-data.tar. If the host_files mount failed silently (it is marked optional: true on line 66), the agent would have no data to process.

The fix depends on root cause. If it is the env var reservation, remove FULLSEND_OUTPUT_FILE from env.sandbox (line 88) since the runner already sets it in env.runner (line 83). If it is skill loading, verify the allowed_remote_resources in the harness config covers the skill URL. If it is pr-data.tar, remove the optional: true flag so the mount failure is caught early.

Validation criteria

A /fullsend-risk-rating command on any open dependabot PR produces a risk-rating comment. The post-script should find agent-result.json and post successfully. Verify on at least one run after the fix is applied.


Generated by retro agent from #30

Activity

  1. fullsend-ai-triage commented on Sep 3, 2026

    @fullsend-ai-triage

    🤖 Finished Triage · ✅ Success · Started 3:59 PM UTC · Completed 4:05 PM UTC

    Commit: 98ca9b4 · View workflow run →

    Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $0.92

  2. fullsend-ai-triage commented on Sep 3, 2026

    @fullsend-ai-triage

    Triage summary

    Severity: high — the dependabot-risk-rater feature is completely non-functional; no risk-rating comments can be posted.

    Root cause analysis

    The $0.64 cost and ~4-minute runtime strongly suggest the agent exits before reaching the scoring pipeline. Two areas warrant investigation:

    1. FULLSEND_OUTPUT_FILE in env.sandbox — the runner drops it as reserved. Removing it from env.sandbox in dependabot-risk-rater.yaml is a safe cleanup since env.runner already sets it and the agent definition has a :-agent-result.json fallback. This alone is unlikely to be the root cause but eliminates noise.

    2. Skill loading or data availability — the agent must fetch the dependency-update-risk-rating skill from a remote URL inside the sandbox and extract pr-data.tar from a host_files mount. Either could fail silently. The agent definition includes a guaranteed-output placeholder (cat > "$_OUT" as the first step), yet no file was written — suggesting the agent may not have executed its prompt at all, pointing to a harness-level issue rather than an agent logic failure.

    Related issues

    Recommended investigation

    Retrieve the agent transcript from run 33773492498 to identify the exact stall point. If the transcript shows the agent never received its prompt, the issue is in skill/resource loading at the harness level.

    Proposed test

    1. Apply fix (at minimum, remove FULLSEND_OUTPUT_FILE from env.sandbox)
    2. Comment /fullsend-risk-rating on any open dependabot PR
    3. Verify:
       - No "reserved key" warning in harness logs
       - agent-result.json exists with valid status
       - Risk-rating comment posted on the PR
    4. Edge case: kill the agent mid-run and verify the
       error-placeholder mechanism produces a file
    

    Next steps:

    • /fs-code — agent creates a PR to implement this issue
    • /fs-code <your instruction> — agent implements with your specific guidance
  3. fullsend-ai-coder commented on Sep 3, 2026

    @fullsend-ai-coder

    🤖 Finished Code · ✅ Success · Started 4:07 PM UTC · Completed 4:16 PM UTC

    Commit: cfc65bf · View workflow run →

    Runtime: claude · Model: claude-opus-4-6 · Cost: $1.83

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions