Skip to content

test: SDK feature parity batch 3 — 46 tests for #31, #47, #45, #46#428

Merged
bradygaster merged 2 commits intobradygaster:devfrom
williamhallatt:williamhallatt/347-sdk-parity-batch3
Mar 16, 2026
Merged

test: SDK feature parity batch 3 — 46 tests for #31, #47, #45, #46#428
bradygaster merged 2 commits intobradygaster:devfrom
williamhallatt:williamhallatt/347-sdk-parity-batch3

Conversation

@williamhallatt
Copy link
Copy Markdown
Contributor

@williamhallatt williamhallatt commented Mar 16, 2026

What

Adds 46 SDK feature parity tests (batch 3) for the #347 quality gate.

This batch covers features not tested by batch 1 (PR #422) or batch 2 (PR #425), plus deepens partial coverage from batch 1.

Tests (46 total)

Feature (from #341 matrix) Tests What is tested
#31 Ralph Idle-Watch Mode (⚠️→tested) 13 RalphMonitor construction, event handling (session lifecycle + milestones), stale session detection via healthCheck(), configurable threshold, cleanup
#47 Client Compatibility (⚠️→tested) 20 parseGitHubRemote() (HTTPS/SSH), parseAzureDevOpsRemote() (HTTPS/SSH/legacy), detectPlatformFromUrl() (GitHub/ADO/unknown), detectWorkItemSource() (planner override)
#45 Reviewer Lockout — Deepened 7 Rejection-triggers-lockout, locked agent cannot self-revise (hook blocks), different agent can work, per-artifact scope, lockout persistence through revision cycle
#46 Deadlock Handling — Deepened 6 All-agents-locked detection, clearLockout() escalation, clearAll() reset, deadlock recovery (agents work again after clear)

Combined ⚠️ Feature Coverage (all 3 batches)

Batch PR Tests Features
1 #422 22 #40 Skill Confidence, #42 Worktree, #45 Reviewer Lockout, #46 Deadlock
2 #425 64 #27 Manual Ceremonies, #28 Cooldown, #36 Human Members, #49 Constraints, #50 Multi-Agent Artifact
3 This PR 46 #31 Ralph Idle-Watch, #47 Platform Detection, #45/#46 Deepened
Total 132 11 of 13 ⚠️ features

2 remaining ⚠️ features need integration test infrastructure: #24 (Issue→PR lifecycle) and #32 (Watch mode) — both require gh CLI mocking.

Verification

  • npm run build
  • npm test — 46 passing (4229 total with baseline)
  • tsc --noEmit ✅ (lint clean)

Contributes to #341, #347.

…er#341)

46 tests covering 4 features:
- bradygaster#31 Ralph Idle-Watch Mode (RalphMonitor): 11 tests
- bradygaster#47 Client Compatibility (Platform Detection): 16 tests
- bradygaster#45 Reviewer Lockout (deepened): 11 tests
- bradygaster#46 Deadlock Handling (deepened): 8 tests

Combined with batch 1 (PR bradygaster#422) and batch 2 (PR bradygaster#425), automated
tests now cover 11 of 13 ⚠️ Needs Setup features from bradygaster#341.
@bradygaster
Copy link
Copy Markdown
Owner

And batch 3 brings it home — 46 more tests, Ralph idle-watch coverage, platform detection for both GitHub and ADO, plus you went back and deepened the reviewer lockout and deadlock tests from batch 1. Between your two PRs and my batch 1, we now have 132 tests covering 11 of 13 ⚠️ features from the parity matrix. That's a community contribution that genuinely moved the project forward. Thank you, William. 🚀

tamirdresher pushed a commit to tamirdresher/squad that referenced this pull request Mar 16, 2026
…l paths (bradygaster#440)

* chore(squad): quality review findings — 7 issues filed

Quality audit complete: 5 agents assessed CLI across testing, coverage, stability, accessibility, UX.
Results: 4 P0 blockers (bradygaster#365bradygaster#368), 3 P1 items (bradygaster#369bradygaster#371).
Blocking: Waingro dead sessions, ErrorBoundary, dropped input; Marquez help text consistency.

Changes:
- Logged session summary to .squad/log/2026-02-24T0205-quality-review-complete.md
- Updated .squad/identity/now.md with quality review findings and new issue numbers

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* chore(squad): merge decision — Marquez UX audit findings

Quality assessment merged from inbox (Grade B): 11 improvements (3 P0, 4 P1, 4 P2). help text, stub commands, vocabulary, separators, roster.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix bradygaster#418: Add progress indicator for long operations

Show 'Still working... (Xm Ys elapsed)' after 30 seconds, updating
every 30 seconds during sendAndWait timeout. Prevents users from
thinking the system has hung during long agent operations.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix bradygaster#428/bradygaster#401: Add pending input queue for disabled→enabled transition

The ref-based buffer from bradygaster#381 handles keystrokes during disabled state, but
fast typing during the disabled→enabled transition could race with React's
useEffect. Added pendingInputRef queue to catch characters that arrive before
the effect drains bufferRef.

Edge cases fixed:
- Paste events (rapid character arrival)
- Fast typing during transition window
- Race between useInput and useEffect restoration

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix bradygaster#430: Document and enhance coordinator streaming diagnostics

Verified that coordinator message_delta event wiring is correct:
- Both dispatchToCoordinator and dispatchToAgent use identical streaming patterns
- message_delta listener registered BEFORE awaitStreamedResponse call
- CopilotSessionAdapter maps 'message_delta' -> 'assistant.message_delta' correctly
- Coordinator session created with streaming: true config

Enhanced diagnostics:
- Added session creation logging (sessionId, capabilities)
- Added listener registration/removal logging
- Added fallback path logging to track when sendAndWait content is used
- Documented streaming architecture in function comments

All 41 streaming tests pass. No functional changes, only diagnostic improvements.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Update Kovash history: input buffering fix bradygaster#428/bradygaster#401

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants