Skip to content

fix(#376): standardize agent output filename to agent-result.json - #377

Merged
rh-hemartin merged 2 commits into
mainfrom
agent/376-standardize-output-filename
Jul 28, 2026
Merged

fix(#376): standardize agent output filename to agent-result.json#377
rh-hemartin merged 2 commits into
mainfrom
agent/376-standardize-output-filename

Conversation

@fullsend-ai-coder

Copy link
Copy Markdown
Contributor

Summary

Standardize agent output filenames so all agents write agent-result.json instead of per-agent names. The code agent previously wrote code-result.json and the fix agent wrote fix-result.json, diverging from the agent-result.json convention used by all other agents (triage, review, retro, prioritize, scribe).

Changes:

  • Remove FULLSEND_OUTPUT_FILE overrides from harness/code.yaml and harness/fix.yaml — the validator now uses the default agent-result.json
  • Update agents/code.md and agents/fix.md to write agent-result.json
  • Update post-code and post-fix scripts (source and bundled) to look for agent-result.json
  • Remove the result.json fallback from validate-output-schema.sh (added as a workaround in fix: accept result.json as fallback in output validation fullsend#1108)
  • Update code-implementation and fix-review skills to reference agent-result.json
  • Add test cases verifying fallback removal and default filename behavior

Follow-up

After this lands, a follow-up should revert the fallback added in fullsend-ai/fullsend#1108.

Testing

  • bash scripts/validate-output-schema-test.sh — all tests pass including new fallback removal tests
  • bash scripts/post-code-test.sh — all tests pass
  • bash scripts/post-fix-test.sh — all tests pass
  • make check-bundle — bundled scripts match source

Closes #376

Post-script verification

  • Branch is not main/master (agent/376-standardize-output-filename)
  • Secret scan passed (gitleaks — 07d44d7302b801b6024604fdfe3fe8402347c94d..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 22, 2026 15:05
@rh-hemartin

Copy link
Copy Markdown
Member

/fs-review

@fullsend-ai-review

fullsend-ai-review Bot commented Jul 22, 2026

Copy link
Copy Markdown

🤖 Finished Review · ✅ Success · Started 3:10 PM UTC · Completed 3:23 PM UTC
Commit: 7ada4e0 · View workflow run →

@fullsend-ai-review

Copy link
Copy Markdown

Review

Findings

Medium

  • [protected-path] All 12 files in this PR are under protected paths (agents/, harness/, scripts/, skills/). The PR links to issue Standardize agent output filename across all agent schemas #376 and the description explains the rationale for standardizing the output filename convention. Human approval is always required for protected-path changes, regardless of context.

The rename from per-agent filenames (code-result.json, fix-result.json) to the standard agent-result.json is mechanically correct and complete — no stale references remain in any file at the PR head. The FULLSEND_OUTPUT_FILE override removal from harness configs is safe because the validator already defaults to agent-result.json. The fallback removal from validate-output-schema.sh is clean, and the new tests adequately verify both the fallback rejection and the default filename behavior. The scope matches issue #376 exactly with no scope creep.

@fullsend-ai-review fullsend-ai-review Bot added the requires-manual-review Review requires human judgment label Jul 22, 2026

@rh-hemartin rh-hemartin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I reviewed and found no problems

@rh-hemartin

Copy link
Copy Markdown
Member

/fs-fix rebase and resolve the conflicts

@fullsend-ai-coder

fullsend-ai-coder Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Finished Fix · ✅ Success · Started 8:20 AM UTC · Completed 8:31 AM UTC
Commit: b2fedcf · View workflow run →

The code and fix agents used per-agent output filenames
(code-result.json and fix-result.json) while all other
agents used agent-result.json. This inconsistency caused
the validation script to need a result.json fallback
workaround (fullsend-ai/fullsend#1108).

Changes:
- Remove FULLSEND_OUTPUT_FILE overrides from
  harness/code.yaml and harness/fix.yaml so the
  validator uses the default agent-result.json
- Update agents/code.md and agents/fix.md to write
  agent-result.json instead of per-agent filenames
- Update post-code and post-fix scripts (source and
  bundled) to look for agent-result.json
- Remove result.json fallback from
  validate-output-schema.sh
- Update code-implementation and fix-review skills
  to reference agent-result.json
- Add test cases verifying fallback removal and
  default filename behavior

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

Closes #376
…son rename

Update test helper functions in post-code-test.sh and post-fix-test.sh to
use agent-result.json instead of code-result.json/fix-result.json, matching
the filename standardization in the rebased scripts. Remove result.json
fallback test cases since the fallback was removed from the scripts.

Addresses review feedback on #377
@fullsend-ai-coder

Copy link
Copy Markdown
Contributor Author

🔧 Fix agent — iteration 1 (human-triggered)

Rebased onto origin/main and resolved 5 merge conflicts. Updated 2 test files whose helper functions referenced old filenames. All 3 test suites pass (validate-output-schema-test, post-code-test, post-fix-test). Bundle consistency verified with make check-bundle.

Fixed (2):

  1. rebase and resolve merge conflicts: Rebased branch onto origin/main (52 commits ahead). Resolved merge conflicts in 5 files: post-code.sh, post-code.src.sh, post-fix.sh, post-fix.src.sh, and validate-output-schema-test.sh. Conflicts arose because main added FULLSEND_VALIDATED_ITERATION_DIR support (using old filenames) while the PR renamed filenames to agent-result.json. Resolution: kept the FULLSEND_VALIDATED_ITERATION_DIR structure from main but applied the PR's filename standardization (agent-result.json), removing the result.json fallback. For the test file, kept both main's in-progress action tests and the PR's fallback removal tests.
  2. stale test helpers after rebase: Updated FULLSEND_VALIDATED_ITERATION_DIR test helper functions in post-code-test.sh and post-fix-test.sh to use agent-result.json instead of code-result.json/fix-result.json, matching the filename standardization in the rebased scripts. Removed result.json fallback test cases since the fallback was removed from the scripts.

Tests: passed

Updated by fullsend fix agent

@fullsend-ai-coder
fullsend-ai-coder Bot force-pushed the agent/376-standardize-output-filename branch from b2fedcf to 7985da1 Compare July 27, 2026 08:31
@rh-hemartin
rh-hemartin added this pull request to the merge queue Jul 28, 2026
Merged via the queue into main with commit 8b770c4 Jul 28, 2026
12 checks passed
@rh-hemartin
rh-hemartin deleted the agent/376-standardize-output-filename branch July 28, 2026 09:45
@fullsend-ai-retro

fullsend-ai-retro Bot commented Jul 28, 2026

Copy link
Copy Markdown

🤖 Finished Retro · ✅ Success · Started 9:48 AM UTC · Completed 10:11 AM UTC
Commit: 7985da1 · View workflow run →

@fullsend-ai-retro

Copy link
Copy Markdown

Retro: PR #377 — Standardize agent output filename to agent-result.json

Timeline

  1. 2026-05-18 — Issue #376 filed by ralphbean about inconsistent output filenames (code-result.json, fix-result.json vs agent-result.json).
  2. 2026-07-22 14:49 — Issue transferred to fullsend-ai/agents; triage agent ran immediately, labeled ready-to-code.
  3. 2026-07-22 14:55–15:05 — Code agent produced PR fix(#376): standardize agent output filename to agent-result.json #377: 14 files changed (143+, 161−), mechanical rename across agents, harness configs, scripts, skills, and tests.
  4. 2026-07-22 15:08–15:23 — Review agent dispatched via /fs-review. Findings: mechanically correct and complete, no stale references, scope matches issue exactly. Only flag: protected-path requires human approval.
  5. 2026-07-23 10:31rh-hemartin approved: "I reviewed and found no problems."
  6. 2026-07-27 08:19–08:31rh-hemartin triggered /fs-fix rebase and resolve the conflicts. Fix agent rebased over 52 commits, resolved 5 merge conflicts, updated 2 test files. Force-pushed new head SHA.
  7. 2026-07-27 08:31pull_request_target/synchronize dispatch fired → "No stage matched — skipping dispatch." No automated re-review.
  8. 2026-07-28 09:45 — PR merged by rh-hemartin carrying the stale approval from 5 days earlier.

Workflow quality

Overall: well-executed. The code agent produced correct, well-scoped changes on the first attempt. The review agent's assessment was accurate and aligned perfectly with the human reviewer — zero delta between their evaluations. The fix agent correctly resolved non-trivial merge conflicts. No duplicate dispatches occurred (investigation confirmed two concurrent fix runs were for different PRs: #377 and #429).

One structural gap identified: The fix agent's force-push introduced conflict resolutions and test updates across 7 files, but these changes were never reviewed — neither by the automated review agent nor by a second human pass. The synchronize event from the force-push did not match any dispatch stage, so no review was triggered. The original approval (against a different commit SHA, 5 days stale) was carried forward to merge.

Existing issue coverage

The post-fix review gap is partially tracked by several existing issues:

  • fullsend#897 — proposes re-requesting review from human reviewers via the GitHub API after fix pushes (notification-side). This PR provides supporting evidence: the fix agent's force-push on 2026-07-27 resulted in no reviewer notification and no re-review.
  • fullsend#5417 — proposes removing stale labels/approvals on force-push (lifecycle management). This PR demonstrates the risk: a 5-day-stale approval on a different SHA was carried to merge.
  • fullsend#827 — the review bot did not revoke its stale APPROVED review after the head SHA changed.

However, none of these issues address the dispatch routing gap: fix-agent-originated synchronize events should route to the review stage to trigger an automated re-review. See proposal below.

Autonomy notes

The review agent and human reviewer were fully aligned on this PR. For mechanical rename PRs, the review agent correctly identified scope compliance, completeness, and safety of the changes. The protected-path flag was the only finding, and it was procedurally appropriate. This is a positive data point for review agent competence on mechanical/rename changes across protected paths.

Proposals filed

ggallen pushed a commit that referenced this pull request Aug 19, 2026
…son rename

Update test helper functions in post-code-test.sh and post-fix-test.sh to
use agent-result.json instead of code-result.json/fix-result.json, matching
the filename standardization in the rebased scripts. Remove result.json
fallback test cases since the fallback was removed from the scripts.

Addresses review feedback on #377
ggallen pushed a commit to ggallen/agents that referenced this pull request Aug 19, 2026
…son rename

Update test helper functions in post-code-test.sh and post-fix-test.sh to
use agent-result.json instead of code-result.json/fix-result.json, matching
the filename standardization in the rebased scripts. Remove result.json
fallback test cases since the fallback was removed from the scripts.

Addresses review feedback on fullsend-ai#377
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

requires-manual-review Review requires human judgment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Standardize agent output filename across all agent schemas

1 participant