mirror of
https://github.com/stablyai/orca.git
synced 2026-09-29 16:02:50 +00:00
docs(orchestration): stop the kernel from looping on an informational nextAction
For a healthy in-progress worker the projection returns nextAction
{kind:'inspect', argv:['orchestration','worker-show','--dispatch',<same id>]}
with attention.requiresAction false, and the kernel told the coordinator to
follow the literal argv. Raises the kernel line budget 200 -> 202: the
paragraph had zero slack and no existing guidance was worth cutting.
This commit is contained in:
@@ -77,7 +77,8 @@ describe('orchestration kernel', () => {
|
||||
'## Conditional references'
|
||||
]
|
||||
|
||||
expect(kernel.split('\n').length).toBeLessThanOrEqual(200)
|
||||
// Why: 202 is the budget after the anti-loop nextAction rule; the kernel is always in context.
|
||||
expect(kernel.split('\n').length).toBeLessThanOrEqual(202)
|
||||
for (let index = 1; index < headings.length; index += 1) {
|
||||
expect(kernel.indexOf(headings[index])).toBeGreaterThan(kernel.indexOf(headings[index - 1]))
|
||||
}
|
||||
@@ -161,6 +162,9 @@ describe('orchestration kernel', () => {
|
||||
expect(kernel).toContain(
|
||||
'`projection.attention` categories, `projection.attention.requiresAction`, and literal `projection.nextAction` argv'
|
||||
)
|
||||
expect(kernel).toContain(
|
||||
'An `inspect` `nextAction` on a `live` row with `attention.requiresAction` false is informational, not a command to re-run: keep waiting with `check --wait`'
|
||||
)
|
||||
expect(kernel).toContain('choose `worker-stop` or `worker-abandon`')
|
||||
})
|
||||
|
||||
|
||||
@@ -137,7 +137,9 @@ editor from timeout, idle state, heartbeat, relay loss, or missing client alone.
|
||||
After three consecutive empty waits, stop waiting blindly and enumerate with
|
||||
`ORCA orchestration worker-list --json`, acting on each row's
|
||||
`projection.attention` categories, `projection.attention.requiresAction`, and
|
||||
literal `projection.nextAction` argv. Leave the wait only on positive proof the
|
||||
literal `projection.nextAction` argv. An `inspect` `nextAction` on a `live` row
|
||||
with `attention.requiresAction` false is informational, not a command to re-run:
|
||||
keep waiting with `check --wait`. Leave the wait only on positive proof the
|
||||
agent stopped: `exited` liveness, the worker's own observation of process exit,
|
||||
or a transcript whose final agent turn sent no `worker_done`. Then load
|
||||
`references/recovery-and-cleanup.md` and choose `worker-stop` or
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user