Add Grok orchestration group routing (#8058)

* docs: design Grok orchestration group

* docs: plan Grok orchestration group implementation

* fix: add Grok orchestration group

* test(orchestration): accept Windows skill newlines

* Fix @grok orchestration group matching and remove stale planning docs

- Reuse the shared buildAgentNameRe matcher in groups.ts instead of a
  divergent local regex, so orchestration groups honor the same
  Windows launcher-suffix rule (grok.exe/.cmd/.bat/.ps1) as the rest
  of Orca's agent-title detection.
- Add test coverage for real Grok OSC title shapes (spinner-collapsed,
  session titles) and Windows launcher-suffix titles.
- Delete the now-completed design and implementation-plan docs for
  the Grok orchestration group work.

---------

Co-authored-by: Jinjing <6427696+AmethystLiang@users.noreply.github.com>
This commit is contained in:
BingZ
2026-07-11 21:43:20 -07:00
committed by GitHub
co-authored by Jinjing
parent 92ea918b63
commit be258e23ec
17 changed files with 109 additions and 63 deletions
+2 -7
View File
@@ -1,8 +1,5 @@
import { describe, expect, it } from 'vitest'
import {
DEFAULT_WARNING_DEDUPE_MAX_KEYS,
shouldEmitBoundedWarning
} from './bounded-warning-dedupe'
import { DEFAULT_WARNING_DEDUPE_MAX_KEYS, shouldEmitBoundedWarning } from './bounded-warning-dedupe'
describe('shouldEmitBoundedWarning', () => {
it('keeps retained warning keys quiet without cascade eviction after saturation', () => {
@@ -29,8 +26,6 @@ describe('shouldEmitBoundedWarning', () => {
)
expect(keys.filter((key) => shouldEmitBoundedWarning(warningKeys, key))).toEqual(keys)
expect(keys.filter((key) => shouldEmitBoundedWarning(warningKeys, key))).toEqual([
keys.at(-1)
])
expect(keys.filter((key) => shouldEmitBoundedWarning(warningKeys, key))).toEqual([keys.at(-1)])
})
})
+1 -4
View File
@@ -155,10 +155,7 @@ vi.mock('./ssh', () => ({
}))
import { registerRepoHandlers } from './repos'
import {
clearSubmodulePathsCacheForTests,
listSubmodulePaths
} from '../git/status'
import { clearSubmodulePathsCacheForTests, listSubmodulePaths } from '../git/status'
beforeEach(() => {
clearGitCapabilityStateForTests()