Repository navigation
#1038 An empty first team read blocks later automatic settling when teams appear - #3
Merged
Tevin2119 merged 3 commits intoOct 5, 2026
Conversation
added 3 commits
October 4, 2026 21:17
…not offered Fixed Orchestrator fallback to use offered teams and added loaded-list availability guards, visible messages, and regression tests. Task task-9169e8495d, revision 2, run run-7cc819d450.
…not offered Repaired the typecheck blocker by removing duplicate defaults from the picker test render helper. Retained the existing Orchestrator fallback implementation. Task task-9169e8495d, revision 2, run run-7cc819d450.
…ppear reconcileTeam now leaves an awaiting draft without an engine thread untouched (same state object) on an empty team list, so it settles on the first non-empty list: current team if offered, else development, else the first team. Engine-backed awaiting drafts still settle immediately on an empty list, and chooseTeam and settle-once are unchanged. In the controls, 'No teams are available to choose from.' now shows whenever the list is loaded and empty and takes precedence over 'Teams are still loading.' in blocked, onSave and the Save tooltip; the unavailable-team message stays gated on settlement. Tests encoding the old behaviour were rewritten and store and component tests for the empty-then-non-empty sequence were added. Task task-851d1c1114, revision 2, run run-4b7a52aea4.
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.
Task pingdotgg#1038, run run-4b7a52aea4. Approved by Tevin Tendai Muparadzi for commit 4799c5e, which passed its checks and the QA gate.
What was asked
Found by qa-attack (zhipu) while testing task task-9169e8495d.
Steps: In .qa/attack.component.test.tsx 'attack: an empty list that later becomes non-empty...': enter Orchestrator mode with nothing remembered, let /api/teams answer [] (the draft settles once, keeping 'development'), then let the reading refresh to [rnd, alpha]. The same holds from the store: reconcileTeam('t1', []) then reconcileTeam('t1', ['rnd']) is a no-op after the first call.
Expected: The draft settles on a team the environment offers once a non-empty list arrives.
Actual: The draft stays on 'development' (or the remembered team) and Start is blocked with 'Team development is not offered here. Choose another team.' until the person picks a team from the select. No start request is sent. Requires a re-read of /api/teams after the first empty answer (this reading has no polling; refresh comes from reconnect or the team-defaults dialog), so it is an edge of the deliberate settle-once semantics.
Done when
Opened by the delivery engine after a person's approval. Merging is a separate step.