Skip to content

feat: add fullsend AI pilot with custom workspace-review agent#2543

Open
durandom wants to merge 4 commits into
mainfrom
fullsend-pilot
Open

feat: add fullsend AI pilot with custom workspace-review agent#2543
durandom wants to merge 4 commits into
mainfrom
fullsend-pilot

Conversation

@durandom
Copy link
Copy Markdown
Member

@durandom durandom commented Jun 1, 2026

Summary

  • Install fullsend (per-repo mode) with triage, coder, review, and fix agents
  • Review auto-triggers on PRs touching workspaces/backstage-plugins-for-aws/ only — all other agents are slash-command-driven (/fs-triage, /fs-code, /fs-review, /fs-fix)
  • Auth-gated slash commands (OWNER/MEMBER/COLLABORATOR only) to prevent external token burning on this public repo
  • Uses standard upstream agents — no custom prompts or harness overrides
  • CODEOWNERS protection for .fullsend/ and .github/workflows/fullsend.yaml

Prerequisites (already done)

GCP infrastructure and GitHub secrets are pre-provisioned on rhdh-sidekick-167988:

  • ✅ WIF provider gh-rhdeveloper-plugin-export active
  • FULLSEND_MINT_URL = https://fullsend-mint-gljhbkcloq-uc.a.run.app
  • FULLSEND_GCP_REGION = global
  • FULLSEND_GCP_WIF_PROVIDER set (pointing to rhdh-sidekick-167988)
  • FULLSEND_GCP_PROJECT_ID set
  • ⚠️ GitHub App access — verify that rhdh-plugin-export-overlays is in the repo access list for fullsend-ai-triage, fullsend-ai-coder, and fullsend-ai-review apps

Post-merge

Test with a PR touching workspaces/backstage-plugins-for-aws/ — the review agent should auto-trigger.

Files

Path Purpose
.fullsend/config.yaml Declares enabled roles (triage, coder, review, fix)
.fullsend/customized/ Empty scaffold for future agent customization
.github/workflows/fullsend.yaml Event shim with auth gate and paths filter
docs/fullsend.md Operational docs: scope, commands, expansion, debugging

🤖 Generated with Claude Code

Install fullsend (per-repo mode) with triage, coder, review, and fix agents.
Review auto-triggers on PRs touching workspaces/backstage-plugins-for-aws/.
All other agents are reachable via /fs-* slash commands (auth-gated to
org members/collaborators for public repo safety).

Custom review agent adds an 8th review dimension — workspace & catalog
correctness — via the workspace-review skill. This validates source.json
structure, metadata consistency, catalog entity references, support tier
alignment, and branch policy compliance.

Post-merge steps:
- Run `fullsend admin install` to set GitHub secrets/variables and WIF
- Ensure fullsend GitHub Apps have access to this repo
- Test with a pilot workspace PR

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Jun 1, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

Document how the workspace-review skill works, how custom agents diverge
from standard fullsend agents, when and how to sync on fullsend version
bumps, and concrete post-merge setup steps (gh CLI, no fullsend CLI needed).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions github-actions Bot added the non-workspace-changes PR changes files outside workspace directories label Jun 1, 2026
durandom and others added 2 commits June 2, 2026 11:54
Remove custom agents/review.md, harness/review.yaml, and
skills/workspace-review/ to avoid drift from upstream fullsend.
The v0.13.0 review agent rearchitecture (parallel sub-agents) makes
full prompt replacement too costly to maintain. Standard agents
work well for this repo; custom dimensions can be added later
as sub-agent files if needed.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Document the review orchestrator pattern, sub-agent model pinning,
and how to add a custom review dimension via sub-agent files without
overriding the upstream agent prompt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@durandom durandom marked this pull request as ready for review June 2, 2026 09:59
@durandom durandom requested a review from gashcrumb as a code owner June 2, 2026 09:59
Copilot AI review requested due to automatic review settings June 2, 2026 09:59
@durandom durandom requested review from a team and kadel as code owners June 2, 2026 09:59
@sonarqubecloud
Copy link
Copy Markdown

sonarqubecloud Bot commented Jun 2, 2026

Quality Gate Failed Quality Gate failed

Failed conditions
1 Security Hotspot

See analysis details on SonarQube Cloud

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces a per-repository Fullsend installation (config + GitHub Actions shim) to enable AI triage/coding/review/fix workflows, with review auto-trigger scoped to PRs touching workspaces/backstage-plugins-for-aws/**, plus documentation and CODEOWNERS protection for the new automation surface area.

Changes:

  • Add .github/workflows/fullsend.yaml to dispatch supported GitHub events into Fullsend’s reusable workflow, including a slash-command auth gate and a /fs-fix-stop helper.
  • Add .fullsend/config.yaml and an empty .fullsend/customized/ scaffold for future customization.
  • Add operational documentation (docs/fullsend.md) and CODEOWNERS rules for .fullsend/ and the Fullsend workflow.

Reviewed changes

Copilot reviewed 4 out of 11 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
docs/fullsend.md Documents pilot scope, triggers, auth model, customization options, and debugging steps.
.github/workflows/fullsend.yaml Adds the Fullsend “shim” workflow to route events into Fullsend’s reusable dispatcher.
.github/CODEOWNERS Protects .fullsend/ and .github/workflows/fullsend.yaml behind required owners.
.fullsend/config.yaml Declares enabled Fullsend roles for per-repo mode.
.fullsend/customized/agents/.gitkeep Creates placeholder directory for future agent prompt overrides.
.fullsend/customized/env/.gitkeep Creates placeholder directory for future env customization.
.fullsend/customized/harness/.gitkeep Creates placeholder directory for future harness overrides.
.fullsend/customized/policies/.gitkeep Creates placeholder directory for future policy customization.
.fullsend/customized/schemas/.gitkeep Creates placeholder directory for future schema customization.
.fullsend/customized/scripts/.gitkeep Creates placeholder directory for future scripts customization.
.fullsend/customized/skills/.gitkeep Creates placeholder directory for future skills customization.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +67 to +73
&& (
github.event.comment.author_association == 'OWNER'
|| github.event.comment.author_association == 'MEMBER'
|| github.event.comment.author_association == 'COLLABORATOR'
|| github.event.comment.author_association == 'CONTRIBUTOR'
|| github.event.comment.user.login == github.event.issue.user.login
)
Comment on lines +25 to +26
issues:
types: [opened, edited, labeled]
Comment thread docs/fullsend.md
Comment on lines +20 to +23
| Agent | What actually happens | How to trigger manually |
|-------|----------------------|------------------------|
| Triage | Auto-triggers on `issues/opened` (fixed in v0.13.0). | `/fs-triage` on an issue |
| Coder | Does not auto-trigger from triage. Triage labels `triaged`, not `ready-to-code`. | `/fs-code` on a triaged issue, or manually add `ready-to-code` label |
|| github.event.comment.author_association == 'COLLABORATOR'
)
)
uses: fullsend-ai/fullsend/.github/workflows/reusable-dispatch.yml@v0
Copy link
Copy Markdown

@schultzp2020 schultzp2020 left a comment

Choose a reason for hiding this comment

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

/lgtm

Copy link
Copy Markdown
Member

@nickboldt nickboldt left a comment

Choose a reason for hiding this comment

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

a) there are copilot security concerns which don't have a comment addressing them (1 high, 3 medium)
b) there is no linked JIRA or explanation WHY we want this and what it'll do

Please fix those two issues before we merge this.

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

Labels

non-workspace-changes PR changes files outside workspace directories

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants