Skip to content

test(#5715): commit agent fixtures when registering local custom harness - #5719

Merged
ifireball merged 1 commit into
mainfrom
agent/5715-custom-harness-agent-fixture
Jul 30, 2026
Merged

test(#5715): commit agent fixtures when registering local custom harness#5719
ifireball merged 1 commit into
mainfrom
agent/5715-custom-harness-agent-fixture

Conversation

@fullsend-ai-coder

Copy link
Copy Markdown
Contributor

Summary

givenCustomHarness and givenDisabledCustomHarness in dispatch.go commit the harness YAML and register it in config.yaml, but never create the agent/policy MD files referenced by the harness's agent: field. After scaffold agent files were removed (#5552 / #5588), clean pool repos fail at harness validation with stat .../.fullsend/agents/triage.md: no such file or directory.

Related Issue

Fixes #5715

Changes

  • Add commitLocalHarnessResources helper in dispatch.go that parses harness YAML for relative agent: and policy: paths and commits minimal stub files under .fullsend/ on the config repo
  • Call the helper from both givenCustomHarness and givenDisabledCustomHarness after committing the harness YAML
  • Mirrors the existing commitRelativeResources pattern in url_dispatch.go (used by URL-sourced harnesses) but writes to the config repo with the .fullsend/ prefix
  • Reuses the existing minimalAgentContent constant for agent stubs

Testing

  • go test ./pkg/behaviourtest/steps/ passes (all existing + new tests)
  • go vet ./pkg/behaviourtest/steps/ passes
  • Tests added for givenCustomHarness with agent, agent+policy, absolute/URL paths (skipped), disabled harness, and commitLocalHarnessResources directly (agent, URL skip, absolute skip, no-agent-field, invalid YAML)

Checklist

  • PR title follows Conventional Commits (correct type, ! for breaking changes)
  • No secrets or sensitive data in the diff

Note: pre-commit could not run in sandbox (network restriction on git fetch). The post-script runs it authoritatively.


Closes #5715

Post-script verification

  • Branch is not main/master (agent/5715-custom-harness-agent-fixture)
  • Secret scan passed (gitleaks — a6da8a87d71713bdf4e517cc2c65dae1997972c5..HEAD)
  • PR body secret scan passed (gitleaks — no-git)
  • Pre-commit hooks passed (authoritative run on runner)
  • Tests ran inside sandbox

@fullsend-ai-coder
fullsend-ai-coder Bot requested a review from a team as a code owner July 29, 2026 14:06
@fullsend-ai-coder fullsend-ai-coder Bot added the ready-for-review Triggers review agent dispatch label Jul 29, 2026
@fullsend-ai-review

fullsend-ai-review Bot commented Jul 29, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 2:08 PM UTC · Completed 2:20 PM UTC
Commit: c196a69 · View workflow run →

@codecov

codecov Bot commented Jul 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@fullsend-ai-review

Copy link
Copy Markdown

Review

Findings

Low

  • [edge-case] pkg/behaviourtest/steps/dispatch.go:163 — The filter for relative paths only checks for https:// URLs and / absolute paths, but does not filter http:// URLs. An agent: http://example.com/agent.md value would be treated as a relative path and committed under .fullsend/http:/example.com/agent.md. This is inherited from the existing commitRelativeResources pattern in url_dispatch.go and is not a regression introduced by this PR.

Labels: PR modifies behaviour test harness registration logic in pkg/behaviourtest/steps/

@fullsend-ai-review fullsend-ai-review Bot added ready-for-merge All reviewers approved — ready to merge component/e2e End-to-end tests component/harness Agent harness, config, and skills loading type/bug Confirmed defect in existing behavior labels Jul 29, 2026
@ifireball
ifireball enabled auto-merge July 29, 2026 14:47
@ifireball
ifireball added this pull request to the merge queue Jul 29, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 29, 2026
@ifireball
ifireball added this pull request to the merge queue Jul 29, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 29, 2026
@ifireball
ifireball added this pull request to the merge queue Jul 29, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 29, 2026
@ifireball
ifireball added this pull request to the merge queue Jul 29, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 29, 2026
@ifireball

Copy link
Copy Markdown
Member

/fs-fix rebase onto main to pick up the podman 4.x pin from #5738 (ci(#5733)), so merge-queue behaviour tests stop failing on sandbox/podman API errors.

@ifireball

Copy link
Copy Markdown
Member

/fs-fix rebase onto main

@fullsend-ai-coder

fullsend-ai-coder Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Finished Fix · ❌ Failure · Started 4:40 AM UTC · Completed 4:45 AM UTC
Commit: 5802cfd · View workflow run →

givenCustomHarness and givenDisabledCustomHarness commit the harness
YAML and register it in config.yaml but never create the agent (or
policy) MD file referenced by the harness's agent: field. After
scaffold agent files were removed (#5552 / #5588), clean pool repos
fail at harness validation with "no such file or directory" for
.fullsend/agents/triage.md.

Add commitLocalHarnessResources that parses the harness YAML for
relative agent and policy paths and commits minimal stub files under
.fullsend/ on the config repo. This mirrors commitRelativeResources
in url_dispatch.go (used by URL-sourced harnesses) but writes to
the config repo with the .fullsend/ prefix.

Closes #5715

Signed-off-by: Barak Korren <bkorren@redhat.com>
@fullsend-ai-coder

Copy link
Copy Markdown
Contributor Author

⚠️ Post-fix script failed — Structured output processing failed (exit code 1)

The fix agent completed, but the post-fix script failed before finishing.

Workflow run: https://github.com/fullsend-ai/.fullsend/actions/runs/30514420193

Details:
process-fix-result.py failed with exit code 1 (bad input) for PR #5719 in fullsend-ai/fullsend
Please check the workflow logs for full details and retry with /fs-fix if appropriate.

@fullsend-ai-coder
fullsend-ai-coder Bot force-pushed the agent/5715-custom-harness-agent-fixture branch from 5802cfd to bccce6c Compare July 30, 2026 04:45
@ifireball
ifireball added this pull request to the merge queue Jul 30, 2026
Merged via the queue into main with commit c83eff9 Jul 30, 2026
13 checks passed
@ifireball
ifireball deleted the agent/5715-custom-harness-agent-fixture branch July 30, 2026 07:07
@fullsend-ai-retro

fullsend-ai-retro Bot commented Jul 30, 2026

Copy link
Copy Markdown

🤖 Finished Retro · ✅ Success · Started 7:10 AM UTC · Completed 7:23 AM UTC
Commit: bccce6c · View workflow run →

@fullsend-ai-retro

Copy link
Copy Markdown

Retro: PR #5719test(#5715): commit agent fixtures when registering local custom harness

Workflow overview

This was a well-executed end-to-end agent workflow. Issue #5715 (custom harness registration not creating referenced agent fixture files) went from creation to code agent PR in 28 minutes, with a clean first-try implementation that required zero rework from review findings.

Timeline

Time (UTC) Event
Jul 29 13:38 Issue #5715 created by ifireball
13:39–13:43 Triage run #1 — found draft PR #5714, proposed it as a solution
13:48 Human re-triggered triage with instructions to disregard draft PR
13:49–13:56 Triage run #2 — proper root-cause analysis, applied ready-to-code
13:56–14:06 Code agent — created PR #5719 (187 additions, 2 files)
14:06–14:20 Review agent — approved with one low-severity finding
14:18 Human (ifireball) approved
19:50 Fix run #1 — failed at podman install step (5.x installed, 4.x required)
Jul 30 04:38 Fix run #2 — agent succeeded (rebase + push), but post-fix script failed on schema path resolution
07:07 PR merged by ifireball

What went well

  • Code agent first-try quality: The code agent produced a clean, well-tested fix that mirrored the existing commitRelativeResources pattern from url_dispatch.go. 8 new test functions, 100% coverage on changed lines per Codecov.
  • Review accuracy: The review agent found a valid edge case (http:// URLs not filtered alongside https://) and correctly classified it as inherited from the existing pattern, not a regression. Final verdict aligned with the human reviewer.
  • Review challenger value: The challenger sub-agent caught a high-severity false positive ("incomplete implementation") that the intent sub-agent produced because it received a condensed diff with placeholder comments. Without the challenger, this false positive could have blocked approval.

Evidence for existing open issues

Already-resolved issues encountered

Proposals

No new proposals — all identified improvement areas are already covered by existing open issues. The workflow performed well overall, with the primary friction coming from infrastructure issues (podman version, schema path) that have already been addressed.

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

Labels

component/e2e End-to-end tests component/harness Agent harness, config, and skills loading ready-for-merge All reviewers approved — ready to merge ready-for-review Triggers review agent dispatch type/bug Confirmed defect in existing behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test(behaviour): custom harness creation does not create referenced agent MD file

1 participant