Fix multi-user inbox routing#4
Merged
tjb-tech merged 1 commit intoHKUDS:mainfrom Mar 18, 2026
Merged
Conversation
a24ibrah
pushed a commit
to a24ibrah/ClawTeam
that referenced
this pull request
Mar 30, 2026
Fix multi-user inbox routing
juntaochi
added a commit
to novix-science/ClawTeam-gstack
that referenced
this pull request
Apr 20, 2026
…st_command + deploy_url - 13 failing tests cover presence, frontmatter schema, stub detection (sections + blacklist), test-report rerun + cache-hit + exit-1 + timeout, and ship-notes deploy_url 2xx/non-2xx/URLError paths - Test-local schema fixtures (DesignDoc/TestReport/ShipNotes) inherit from ArtifactFrontmatterBase; Phase 3 GstackSprintPlugin ships the real subclasses - Pitfall HKUDS#4 proof: subprocess_runner injection seam asserted with shell-free list cmd + cwd pin + 300s timeout - Pitfall HKUDS#6 proof: unregistered artifact_type surfaces 'Phase 3 plugin must register' message - Pitfall HKUDS#10 proof: deploy_url_checker injection seam covers URLError offline-safety path - RED: all tests fail with ModuleNotFoundError on clawteam.harness.evidence_gate
juntaochi
added a commit
to novix-science/ClawTeam-gstack
that referenced
this pull request
Apr 27, 2026
Closes ROADMAP Phase 4 Success Criterion HKUDS#4. Exercises the full flow against a REAL tmp_path git repo (no subprocess mocks): - test_mid_review_push_integration_end_to_end: real git init + baseline commit, dispatch_review_phase with spawn_fn that injects a mid-dispatch commit, asserts MidReviewThrash fires with (review_sha, new_sha, diff_paths_added) payload and reviewer report carries thrash_decision field per D-19. - test_mid_review_push_no_thrash_when_head_stable: HEAD-stable control (no thrash, no thrash_decision). - test_mid_review_push_thrash_decision_field_enforced: reviewer picks 'superseded' — asserts the D-19 enum constraint holds both ways. Consumes clawteam.sprint.review_phase.dispatch_review_phase (Plan 10) and MidReviewThrash event (Plan 02) verbatim; no source code modifications.
juntaochi
added a commit
to novix-science/ClawTeam-gstack
that referenced
this pull request
Apr 27, 2026
SUMMARY.md + STATE.md advance + ROADMAP plan checkbox + REQUIREMENTS annotations for SPRINT-04/05 + QUALITY-07/09/13 + deferred-items log. - 4 D-18 deferral markers removed from pm/designer/reviewer prompts (INTERACTIVE-RUNTIME-DEFERRED x3 + SHA-PIN-DEFERRED x1) - 2 inverse-assertion regression tests added (test_markers_removed + test_markers_removed_and_runtime_present) - 4 existing deferral-marker assertions inverted in test_gstack_role_prompts.py - tests/test_mid_review_push_integration.py added (329 LOC, 3 tests, REAL subprocess against tmp_path git repo) - ROADMAP Phase 4 Success Criterion HKUDS#4 closed by the new end-to-end test - Task 3 ISS-06 no-op per plan pre-check (Plan 13 absorbed the mandate) - 68/68 plan-scoped tests green
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
task waitdefault to the resolved member inbox instead of the bare agent nameCLAWTEAM_USERRoot Cause
Team members are stored with user-scoped inbox names like
alice_leader, but several workflows still sent to or listened on the bare logical nameleader. That split the control plane in two: the board counted one inbox, while lifecycle and inbox-related commands used another.What Changed
TeamManagertask waitto monitor the leader's real inbox by defaultValidation
python -m pytest -qpython -m compileall clawteam testsruff check clawteam/team/mailbox.py clawteam/team/manager.py tests/test_inbox_routing.pyCLAWTEAM_USER=alice clawteam team spawn-team demoCLAWTEAM_USER=bob clawteam lifecycle idle demo --last-task task-1 --task-status blockedinboxCount=0while a strayteams/demo/inboxes/leaderdirectory was createdinboxCount=1, defaultclawteam inbox peek demoreads the leader inbox correctly, and onlyteams/demo/inboxes/alice_leaderexistsNotes
ruff check clawteam testsstill reports pre-existing baseline issues outside this change set