Repository navigation
Architect run with no Strong candidate: idea issue or already filed - #243
Merged
Merged
Conversation
…e issue that covers it A review that reports the idea issue it filed, or the open issue that already covers its top idea, no longer fails the Architect run. It swaps no label and dispatches nothing, prints that issue's URL on stdout and exits 0, with a last line on stderr saying which of the two it was. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…the outcome The already-filed line and the docs say top recommendation, as the glossary does. The outcome keeps the Issue URL it was read as, the two no-plan tests share their assertions, and two comments are rewrapped. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 1, 2026
Merged
Merged
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.
Summary
An Architect run whose Architecture review found no Strong candidate now ends as a success on the issue the review named, instead of failing with "published no plan".
conclude(final line of the review) "Architecture review plan: <url>" check the plan, swap needs-triage for ready-for-agent stdout: <url> stderr: plan <url> is ready for an agent exit 0 "Architecture review idea: <url>" - fail: the Architecture review published no plan exit 1 + no gh call, no label change, no dispatch + stdout: <url> stderr: no Strong candidate: the Architecture + review filed the idea <url> exit 0 "Architecture review already filed: <url>" - fail: the Architecture review published no plan exit 1 + no gh call, nothing filed or changed + stdout: <url> stderr: no Strong candidate: <url> already covers + the Architecture review's top + recommendation, so it filed nothing exit 0 anything else fail: the Architecture review ended without the final line its prompt asks forarchitect::runreturns anOutcome(PlanReady,IdeaFiled,AlreadyFiled) holding the issue it ended on. ItsDisplayis stderr's last line and its URL goes to stdout. The README has a new "No Strong candidate" section, andthirdshift helpdescribes both outcomes.--plan-onlystays required until #232.Seam under test: the
thirdshiftbinary, throughtests/architect_run.rswith the fakeclaudeandgh.Evidence
a_review_that_files_an_idea_prints_its_url_and_changes_no_labelfailed: exit1, withthe Architecture review published no plan: it filed the idea https://github.com/acme/widgets/issues/8. The already-filed test failed the same way.After: both pass. The idea test asserts exit
0, the idea's URL alone on stdout, the last stderr line, the label stillneeds-triage, and one session. The already-filed test asserts the fake GitHub's state is identical before and after.Unaddressed findings
Standards
Outcomemirrors the privateReport(Duplicated Code / Repeated Switches).Reportis what the review said andOutcomeis what the Architect run did. They diverge in Architect run dispatches its plan as a Spec run or a Run #232, when a plan goes on to a dispatched run.Outcomeas a{ kind, url }struct to dropurl(). The enum keeps each case's meaning on its variant, andurl()is one match arm.concludeas a mild Mysterious Name. No clearer name came up; its doc comment says what it ends and on what.Spec
ghcall and failure modes nobody specified. Worth a decision by the Day shift.architectsummary in the README and help usage still says "publish a plan". That is the command's purpose; the "No Strong candidate" section covers the other outcomes.Merge Danger
Door: two-way
Reverting restores the failure on a no-plan report. No data or labels are touched on these paths.
Blast Radius: small
Only
thirdshift architect --plan-only. A script that treated exit0as "a plan is ready" now also gets exit0for an idea issue or an already-filed issue; stderr's last line tells them apart. The missing-final-line failure message is reworded.Closes #231
🤖 Generated with Claude Code