feat: add fullsend AI pilot with custom workspace-review agent#2543
feat: add fullsend AI pilot with custom workspace-review agent#2543durandom wants to merge 4 commits into
Conversation
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>
|
Skipping CI for Draft Pull Request. |
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>
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>
|
There was a problem hiding this comment.
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.yamlto dispatch supported GitHub events into Fullsend’s reusable workflow, including a slash-command auth gate and a/fs-fix-stophelper. - Add
.fullsend/config.yamland 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.
| && ( | ||
| 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 | ||
| ) |
| issues: | ||
| types: [opened, edited, labeled] |
| | 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 |
nickboldt
left a comment
There was a problem hiding this comment.
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.


Summary
workspaces/backstage-plugins-for-aws/only — all other agents are slash-command-driven (/fs-triage,/fs-code,/fs-review,/fs-fix).fullsend/and.github/workflows/fullsend.yamlPrerequisites (already done)
GCP infrastructure and GitHub secrets are pre-provisioned on
rhdh-sidekick-167988:gh-rhdeveloper-plugin-exportactiveFULLSEND_MINT_URL=https://fullsend-mint-gljhbkcloq-uc.a.run.appFULLSEND_GCP_REGION=globalFULLSEND_GCP_WIF_PROVIDERset (pointing to rhdh-sidekick-167988)FULLSEND_GCP_PROJECT_IDsetrhdh-plugin-export-overlaysis in the repo access list for fullsend-ai-triage, fullsend-ai-coder, and fullsend-ai-review appsPost-merge
Test with a PR touching
workspaces/backstage-plugins-for-aws/— the review agent should auto-trigger.Files
.fullsend/config.yaml.fullsend/customized/.github/workflows/fullsend.yamldocs/fullsend.md🤖 Generated with Claude Code