Use AI to help formalise intent after rapid local prototyping - #4
Merged
Conversation
ralphbean
approved these changes
Mar 10, 2026
ralphbean
left a comment
Member
There was a problem hiding this comment.
I like it, thank you!
At some point, I'd like to evaluate alternatives to spec-kit. I know others exist. Are any of them more promising than spec-kit in some way?
(I don't have special reason to disfavor spec-kit. This is just a good time to be flexible if we can be.)
Contributor
Author
Agreed. I made sure to word this as "spec-kit"-like, as I don't want to arbitrarily bind to that project. |
waynesun09
added a commit
that referenced
this pull request
Apr 12, 2026
Seven specialized agents for working on the fullsend project: - fullsend-architect (opus): architectural coherence guardian; knows all ADRs, five execution layers, story dependencies, repo-as-coordinator invariant - go-developer (sonnet): CLI specialist; forge abstraction, layered config, multi-role GitHub App model, known gaps in PR #132 - doc-architect (sonnet): problem doc and ADR writer; design-exploration conventions, org-agnostic authoring rules - stage-prompt-designer (opus): designs/reviews stage agent prompts; triage/implement/review/fix constraints, injection surface rules, known failure modes from live operation (Issues #4, #5, #010a) - security-reviewer (opus): applies fullsend threat model; prompt injection, ADR 0017 credential isolation, sandbox integrity, workflow file protection - workflow-engineer (sonnet): GitHub Actions and dispatch layer; label state machine, slash commands, concurrency groups, fixes for Issues #1 #003b #4 #5 #7 #9 #010a - e2e-integrator (opus): full flow tracing; integration gap analysis, demo readiness checklist, sprint prioritization across stories Also adds .claude/AGENTS.md with usage guide and team composition patterns.
This was referenced Apr 14, 2026
4 tasks
5 tasks
ggallen
referenced
this pull request
in ggallen/fullsend
May 6, 2026
…on decisions Resolves remaining low-priority review comments: **Code Comments (Low Issue #3):** - Document intentional asymmetry between enable --all and disable --all - enable --all: discovers current org repos via ListOrgRepos - disable --all: iterates cfg.Repos (handles deleted repos needing cleanup) **Concurrency Safety (Low Issue #4):** - Document read-modify-write pattern in loadRepoConfig - Acknowledge lack of optimistic concurrency control - Explain why this is acceptable for admin CLI usage - Note that production systems would use conditional writes (ETags) **Remaining Action Items:** - PR description needs manual update on GitHub to replace "mutual exclusivity enforcement" with "when --all is set, positional repository arguments are silently ignored" All tests pass (unrelated flake in run_test.go due to network timeout). Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
ggallen
referenced
this pull request
in ggallen/fullsend
May 7, 2026
…on decisions Resolves remaining low-priority review comments: **Code Comments (Low Issue #3):** - Document intentional asymmetry between enable --all and disable --all - enable --all: discovers current org repos via ListOrgRepos - disable --all: iterates cfg.Repos (handles deleted repos needing cleanup) **Concurrency Safety (Low Issue #4):** - Document read-modify-write pattern in loadRepoConfig - Acknowledge lack of optimistic concurrency control - Explain why this is acceptable for admin CLI usage - Note that production systems would use conditional writes (ETags) **Remaining Action Items:** - PR description needs manual update on GitHub to replace "mutual exclusivity enforcement" with "when --all is set, positional repository arguments are silently ignored" All tests pass (unrelated flake in run_test.go due to network timeout). Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
ggallen
referenced
this pull request
in ggallen/fullsend
May 7, 2026
…on decisions Resolves remaining low-priority review comments: **Code Comments (Low Issue #3):** - Document intentional asymmetry between enable --all and disable --all - enable --all: discovers current org repos via ListOrgRepos - disable --all: iterates cfg.Repos (handles deleted repos needing cleanup) **Concurrency Safety (Low Issue #4):** - Document read-modify-write pattern in loadRepoConfig - Acknowledge lack of optimistic concurrency control - Explain why this is acceptable for admin CLI usage - Note that production systems would use conditional writes (ETags) **Remaining Action Items:** - PR description needs manual update on GitHub to replace "mutual exclusivity enforcement" with "when --all is set, positional repository arguments are silently ignored" All tests pass (unrelated flake in run_test.go due to network timeout). Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
ascerra
added a commit
to ascerra/fullsend
that referenced
this pull request
May 14, 2026
When a human submits a PR and the review agent requests changes, the fix agent no longer auto-triggers. This is now the default behavior for human-authored PRs. Bot-authored PRs (from the code agent) continue to auto-trigger fixes as before. Humans can opt in to the review-fix loop by adding the `fullsend-fix` label to their PR. The existing `/fix` command for manual invocation is unaffected. Changes across all dispatch paths (org-level shim, reusable dispatcher, per-repo scaffold): - Gate fix dispatch on PR author ending in [bot] OR presence of `fullsend-fix` label - Add defense-in-depth check in reusable-fix.yml that verifies PR author and label before running the fix agent E2E tested in ascerra-fullsend-lab org (human-pr-fix-test repo): 1. Human PR, no label (PR fullsend-ai#1) — fix agent SKIPPED ✅ - Review: https://github.com/ascerra-fullsend-lab/.fullsend/actions/runs/25836235094 - Shim skipped dispatch-fix-bot: https://github.com/ascerra-fullsend-lab/human-pr-fix-test/actions/runs/25836370170 2. Human PR, fullsend-fix label (PR fullsend-ai#2) — fix agent auto-triggered ✅ - Review: https://github.com/ascerra-fullsend-lab/.fullsend/actions/runs/25837485822 - Shim dispatched fix: https://github.com/ascerra-fullsend-lab/human-pr-fix-test/actions/runs/25837620440 - Fix agent succeeded: https://github.com/ascerra-fullsend-lab/.fullsend/actions/runs/25837623950 3. Bot PR, no label (PR fullsend-ai#4, author: ascerra-fullsend-lab-coder[bot]) — fix agent auto-triggered ✅ - Code agent created PR: https://github.com/ascerra-fullsend-lab/.fullsend/actions/runs/25838129538 - Review requested changes: https://github.com/ascerra-fullsend-lab/.fullsend/actions/runs/25838396492 - Shim dispatched fix (no label needed): https://github.com/ascerra-fullsend-lab/human-pr-fix-test/actions/runs/25838580565 - Fix agent succeeded: https://github.com/ascerra-fullsend-lab/.fullsend/actions/runs/25838584099 Co-authored-by: Cursor <cursoragent@cursor.com>
4 tasks
ascerra
added a commit
to ascerra/fullsend
that referenced
this pull request
May 16, 2026
When a human submits a PR and the review agent requests changes, the fix agent no longer auto-triggers. This is now the default behavior for human-authored PRs. Bot-authored PRs (from the code agent) continue to auto-trigger fixes as before. Humans can opt in to the review-fix loop by adding the `fullsend-fix` label to their PR. The existing `/fs-fix` command for manual invocation is unaffected — it intentionally bypasses this gate so authorized users can always trigger fix regardless of labels. Changes across dispatch paths (reusable dispatcher, per-repo scaffold): - Gate fix dispatch on PR author ending in [bot] OR presence of `fullsend-fix` label - Add defense-in-depth check in reusable-fix.yml that verifies PR author and label before running the fix agent - Add inline comment clarifying /fs-fix bypass (per review feedback) Note: fullsend.yaml shim no longer needs this gate — upstream refactored it to delegate all routing to the reusable dispatch workflow. E2E tested in ascerra-fullsend-lab org (human-pr-fix-test repo): 1. Human PR, no label (PR fullsend-ai#1) — fix agent SKIPPED - Review: https://github.com/ascerra-fullsend-lab/.fullsend/actions/runs/25836235094 - Shim skipped dispatch-fix-bot: https://github.com/ascerra-fullsend-lab/human-pr-fix-test/actions/runs/25836370170 2. Human PR, fullsend-fix label (PR fullsend-ai#2) — fix agent auto-triggered - Review: https://github.com/ascerra-fullsend-lab/.fullsend/actions/runs/25837485822 - Shim dispatched fix: https://github.com/ascerra-fullsend-lab/human-pr-fix-test/actions/runs/25837620440 - Fix agent succeeded: https://github.com/ascerra-fullsend-lab/.fullsend/actions/runs/25837623950 3. Bot PR, no label (PR fullsend-ai#4, author: ascerra-fullsend-lab-coder[bot]) — fix agent auto-triggered - Code agent created PR: https://github.com/ascerra-fullsend-lab/.fullsend/actions/runs/25838129538 - Review requested changes: https://github.com/ascerra-fullsend-lab/.fullsend/actions/runs/25838396492 - Shim dispatched fix (no label needed): https://github.com/ascerra-fullsend-lab/human-pr-fix-test/actions/runs/25838580565 - Fix agent succeeded: https://github.com/ascerra-fullsend-lab/.fullsend/actions/runs/25838584099 Co-authored-by: Cursor <cursoragent@cursor.com>
This was referenced May 26, 2026
This was referenced Jun 4, 2026
This was referenced Jun 15, 2026
This was referenced Jun 23, 2026
This was referenced Jul 7, 2026
This was referenced Jul 16, 2026
8 tasks
13 tasks
8 tasks
10 tasks
This was referenced Jul 23, 2026
This was referenced Aug 3, 2026
6 tasks
5 tasks
This was referenced Aug 14, 2026
5 tasks
This was referenced Aug 21, 2026
3 tasks
This was referenced Sep 1, 2026
This was referenced Sep 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.