docs(orchestration): state that --types is a wake condition, not a batch filter

check --types without --wait returned an unmatched type. wakeTypes is an
existence probe in getOrCreateMailboxDelivery; the batch query that
follows has no type predicate, so a Delivery is never filtered. Behavior
is correct; only the guide and --help were silent.
This commit is contained in:
Jinwoo-H
2026-09-04 15:25:13 -04:00
parent cbe2d378fb
commit a4f416f5b4
5 changed files with 22 additions and 2 deletions
@@ -338,6 +338,9 @@ describe('owned orchestration references', () => {
expect(reference).toContain('oldest FIFO Delivery')
expect(squash(reference)).toContain('Process every row')
expect(squash(reference)).toContain(
'A Delivery therefore always carries the whole FIFO batch whatever its types, and a `check` without `--wait` hands that batch over unfiltered'
)
expect(reference).toContain('send --to dispatch:<dispatch_id>')
for (const group of ['@all', '@grok', '@cursor', '@worktree:<id>']) {
expect(reference).toContain(group)
@@ -24,7 +24,9 @@ A consuming coordinator `check` returns the bound Run's oldest FIFO Delivery,
up to 50 messages, and replays that exact batch until acknowledged. Process
every row and required terminal ownership decision before `--ack`. Type filters
decide when a waiter wakes; they do not authorize skipping older actionable
mail. `--peek` and `--all` are read-only inspection, not progress through the
mail. A Delivery therefore always carries the whole FIFO batch whatever its
types, and a `check` without `--wait` hands that batch over unfiltered.
`--peek` and `--all` are read-only inspection, not progress through the
coordinator inbox.
An empty wait or timeout is a checkpoint. Continue rolling waits until every
File diff suppressed because one or more lines are too long
+14
View File
@@ -15,3 +15,17 @@ describe('orchestration send command spec', () => {
)
})
})
describe('orchestration check command spec', () => {
it('documents --types as a wake condition rather than a batch filter', () => {
const checkSpec = ORCHESTRATION_COMMAND_SPECS.find(
(spec) => spec.path.join(' ') === 'orchestration check'
)
expect(checkSpec?.notes).toEqual(
expect.arrayContaining([
'--types is the wake condition for --wait; a returned Delivery is always the whole FIFO batch, so it is never filtered by type. Only --peek and --all filter their rows.'
])
)
})
})
+1
View File
@@ -109,6 +109,7 @@ export const ORCHESTRATION_COMMAND_SPECS: CommandSpec[] = [
],
notes: [
'On Windows PowerShell, quote comma-separated type filters, e.g. --types "worker_done,escalation".',
'--types is the wake condition for --wait; a returned Delivery is always the whole FIFO batch, so it is never filtered by type. Only --peek and --all filter their rows.',
'--format renders the returned rows as local text only; it never writes to another terminal.',
'A bound Run replays the same Delivery until --ack; process every message before acknowledging.'
]