agent-conveyor 0.1.11 → 0.1.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -5
- package/dist/cli/typescript-runtime.js +182 -5
- package/dist/cli/typescript-runtime.js.map +1 -1
- package/dist/runtime/app-autonomy.d.ts +64 -0
- package/dist/runtime/app-autonomy.js +196 -0
- package/dist/runtime/app-autonomy.js.map +1 -1
- package/docs/manager-recipes.md +11 -0
- package/package.json +1 -1
- package/skills/manage-codex-workers/SKILL.md +24 -0
|
@@ -82,6 +82,58 @@ export interface AppWakeupDispatchPlan {
|
|
|
82
82
|
total_actions: number;
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
+
export type AppAutopilotDesiredState = "active" | "stopped" | "unconfigured";
|
|
86
|
+
export type AppAutopilotQuiescenceState = "monitoring" | "not_applicable" | "stop_recommended";
|
|
87
|
+
export interface AppAutopilotRoleAutomation {
|
|
88
|
+
blocker: string | null;
|
|
89
|
+
can_create: boolean;
|
|
90
|
+
interval_minutes: number;
|
|
91
|
+
kind: "heartbeat";
|
|
92
|
+
name: string;
|
|
93
|
+
prompt: string;
|
|
94
|
+
role: AppLoopRole;
|
|
95
|
+
rrule: string;
|
|
96
|
+
target_thread_id: string | null;
|
|
97
|
+
target_thread_title: string | null;
|
|
98
|
+
}
|
|
99
|
+
export interface AppAutopilotPlan {
|
|
100
|
+
automation_specs: AppAutopilotRoleAutomation[];
|
|
101
|
+
control: {
|
|
102
|
+
dispatcher_command: string;
|
|
103
|
+
note: string;
|
|
104
|
+
status_command: string;
|
|
105
|
+
stop_command: string;
|
|
106
|
+
wakeup_dispatch_command: string;
|
|
107
|
+
};
|
|
108
|
+
desired_state: AppAutopilotDesiredState;
|
|
109
|
+
dispatcher: AppWakeupPlan["dispatcher"];
|
|
110
|
+
interval_minutes: number;
|
|
111
|
+
last_policy_event: {
|
|
112
|
+
event_id: string;
|
|
113
|
+
event_type: string;
|
|
114
|
+
recorded_at: string;
|
|
115
|
+
} | null;
|
|
116
|
+
quiescence: {
|
|
117
|
+
quiet_after: string | null;
|
|
118
|
+
quiet_cycles: number;
|
|
119
|
+
reason: string | null;
|
|
120
|
+
recommended_action: "continue" | "stop_autopilot";
|
|
121
|
+
state: AppAutopilotQuiescenceState;
|
|
122
|
+
threshold_cycles: number;
|
|
123
|
+
};
|
|
124
|
+
status: AppLoopStatus;
|
|
125
|
+
summary: {
|
|
126
|
+
blocked_automations: number;
|
|
127
|
+
creatable_automations: number;
|
|
128
|
+
dispatcher_required: boolean;
|
|
129
|
+
quiescence_recommended: boolean;
|
|
130
|
+
total_automations: number;
|
|
131
|
+
};
|
|
132
|
+
task: {
|
|
133
|
+
id: string;
|
|
134
|
+
name: string;
|
|
135
|
+
};
|
|
136
|
+
}
|
|
85
137
|
export declare function appLoopStatusSync(database: DatabaseSync, options: {
|
|
86
138
|
dbPath?: string | null;
|
|
87
139
|
dispatcherId: string;
|
|
@@ -89,6 +141,18 @@ export declare function appLoopStatusSync(database: DatabaseSync, options: {
|
|
|
89
141
|
now: string;
|
|
90
142
|
taskName: string;
|
|
91
143
|
}): AppLoopStatus;
|
|
144
|
+
export declare function appAutopilotPlanSync(database: DatabaseSync, options: {
|
|
145
|
+
dbPath?: string | null;
|
|
146
|
+
dispatchIntervalSeconds: number;
|
|
147
|
+
dispatcherId: string;
|
|
148
|
+
desiredState?: AppAutopilotDesiredState | null;
|
|
149
|
+
heartbeatIntervalMinutes: number;
|
|
150
|
+
quietAfterCycles: number;
|
|
151
|
+
heartbeatStaleSeconds: number;
|
|
152
|
+
now: string;
|
|
153
|
+
taskName: string;
|
|
154
|
+
watchIterations: number;
|
|
155
|
+
}): AppAutopilotPlan;
|
|
92
156
|
export declare function appWakeupPlanSync(database: DatabaseSync, options: {
|
|
93
157
|
dbPath?: string | null;
|
|
94
158
|
dispatcherId: string;
|
|
@@ -100,6 +100,85 @@ export function appLoopStatusSync(database, options) {
|
|
|
100
100
|
worker,
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
|
+
export function appAutopilotPlanSync(database, options) {
|
|
104
|
+
const status = appLoopStatusSync(database, {
|
|
105
|
+
dbPath: options.dbPath ?? null,
|
|
106
|
+
dispatcherId: options.dispatcherId,
|
|
107
|
+
heartbeatStaleSeconds: options.heartbeatStaleSeconds,
|
|
108
|
+
now: options.now,
|
|
109
|
+
taskName: options.taskName,
|
|
110
|
+
});
|
|
111
|
+
const lastPolicy = latestAppAutopilotPolicyEvent(database, status.task.id, options.dispatcherId);
|
|
112
|
+
const desiredState = options.desiredState ?? lastPolicy?.desired_state ?? "unconfigured";
|
|
113
|
+
const quiescence = appAutopilotQuiescenceSync(database, {
|
|
114
|
+
desiredState,
|
|
115
|
+
dispatcherId: options.dispatcherId,
|
|
116
|
+
quietAfterCycles: options.quietAfterCycles,
|
|
117
|
+
status,
|
|
118
|
+
taskId: status.task.id,
|
|
119
|
+
});
|
|
120
|
+
const dispatcherCommand = [
|
|
121
|
+
"conveyor dispatch --watch",
|
|
122
|
+
`--watch-iterations ${options.watchIterations}`,
|
|
123
|
+
`--interval ${formatNumber(options.dispatchIntervalSeconds)}`,
|
|
124
|
+
`--dispatcher-id ${shellQuote(options.dispatcherId)}`,
|
|
125
|
+
pathFlag(options.dbPath ?? null).trim(),
|
|
126
|
+
].filter(Boolean).join(" ");
|
|
127
|
+
const automationSpecs = ["manager", "worker"].map((role) => {
|
|
128
|
+
const roleStatus = role === "manager" ? status.manager : status.worker;
|
|
129
|
+
const wakeup = roleWakeup(role, roleStatus, status.task.name, options.dbPath ?? null, roleStatus.lease.state);
|
|
130
|
+
const name = `Conveyor ${status.task.name} ${role} heartbeat`;
|
|
131
|
+
return {
|
|
132
|
+
blocker: roleStatus.codex_app_thread_id
|
|
133
|
+
? null
|
|
134
|
+
: `No Codex app thread id is registered for the ${role}; register app thread metadata before creating an app heartbeat automation.`,
|
|
135
|
+
can_create: Boolean(roleStatus.codex_app_thread_id),
|
|
136
|
+
interval_minutes: options.heartbeatIntervalMinutes,
|
|
137
|
+
kind: "heartbeat",
|
|
138
|
+
name,
|
|
139
|
+
prompt: wakeup.prompt,
|
|
140
|
+
role,
|
|
141
|
+
rrule: `FREQ=MINUTELY;INTERVAL=${options.heartbeatIntervalMinutes}`,
|
|
142
|
+
target_thread_id: roleStatus.codex_app_thread_id,
|
|
143
|
+
target_thread_title: roleStatus.codex_app_thread_title,
|
|
144
|
+
};
|
|
145
|
+
});
|
|
146
|
+
const creatable = automationSpecs.filter((spec) => spec.can_create).length;
|
|
147
|
+
return {
|
|
148
|
+
automation_specs: automationSpecs,
|
|
149
|
+
control: {
|
|
150
|
+
dispatcher_command: dispatcherCommand,
|
|
151
|
+
note: "A plain shell CLI cannot call Codex app thread tools. Create or pause these heartbeat automations from a Codex app session, then use this CLI for status/start/stop receipts.",
|
|
152
|
+
status_command: `conveyor app-autopilot status ${shellQuote(status.task.name)}${pathFlag(options.dbPath ?? null)} --json`,
|
|
153
|
+
stop_command: `conveyor app-autopilot stop ${shellQuote(status.task.name)}${pathFlag(options.dbPath ?? null)} --json`,
|
|
154
|
+
wakeup_dispatch_command: `conveyor app-wakeup-dispatch ${shellQuote(status.task.name)} --dispatcher-id ${shellQuote(options.dispatcherId)}${pathFlag(options.dbPath ?? null)} --json`,
|
|
155
|
+
},
|
|
156
|
+
desired_state: desiredState,
|
|
157
|
+
dispatcher: {
|
|
158
|
+
command: dispatcherCommand,
|
|
159
|
+
required: status.dispatch.state !== "healthy",
|
|
160
|
+
state: status.dispatch.state,
|
|
161
|
+
},
|
|
162
|
+
interval_minutes: options.heartbeatIntervalMinutes,
|
|
163
|
+
last_policy_event: lastPolicy
|
|
164
|
+
? {
|
|
165
|
+
event_id: lastPolicy.event_id,
|
|
166
|
+
event_type: lastPolicy.event_type,
|
|
167
|
+
recorded_at: lastPolicy.recorded_at,
|
|
168
|
+
}
|
|
169
|
+
: null,
|
|
170
|
+
quiescence,
|
|
171
|
+
status,
|
|
172
|
+
summary: {
|
|
173
|
+
blocked_automations: automationSpecs.length - creatable,
|
|
174
|
+
creatable_automations: creatable,
|
|
175
|
+
dispatcher_required: status.dispatch.state !== "healthy",
|
|
176
|
+
quiescence_recommended: quiescence.recommended_action === "stop_autopilot",
|
|
177
|
+
total_automations: automationSpecs.length,
|
|
178
|
+
},
|
|
179
|
+
task: status.task,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
103
182
|
export function appWakeupPlanSync(database, options) {
|
|
104
183
|
const status = appLoopStatusSync(database, options);
|
|
105
184
|
const wakeups = [];
|
|
@@ -189,6 +268,12 @@ export function directInboxPollCommand(role, taskName, dbPath) {
|
|
|
189
268
|
const inbox = role === "manager" ? "manager-inbox" : "worker-inbox";
|
|
190
269
|
return `conveyor ${inbox} ${shellQuote(taskName)} --consume-next --wait --timeout 60${pathFlag(dbPath ?? null)} --json`;
|
|
191
270
|
}
|
|
271
|
+
function workerNotifyManagerCommand(taskName, dbPath) {
|
|
272
|
+
return `conveyor enqueue-notify-manager ${shellQuote(taskName)} --message ${shellQuote("<compact completion/blocker report with files, commands, evidence, residual risk, and next recommended worker task>")} --correlation-id ${shellQuote("<worker-result-id>")}${pathFlag(dbPath ?? null)} --json`;
|
|
273
|
+
}
|
|
274
|
+
function workerNotifyDispatchCommand(dbPath) {
|
|
275
|
+
return `conveyor dispatch --watch --watch-iterations 1 --interval 2 --dispatcher-id dispatch-local${pathFlag(dbPath ?? null)} --json`;
|
|
276
|
+
}
|
|
192
277
|
function roleStatus(options) {
|
|
193
278
|
const hasTmux = Boolean(options.tmuxSession);
|
|
194
279
|
return {
|
|
@@ -211,9 +296,19 @@ function roleStatus(options) {
|
|
|
211
296
|
function roleWakeup(role, status, taskName, dbPath, state) {
|
|
212
297
|
const pollCommand = appHeartbeatPollCommand(role, taskName, dbPath);
|
|
213
298
|
const directInboxCommand = directInboxPollCommand(role, taskName, dbPath);
|
|
299
|
+
const workerNotifyCommand = workerNotifyManagerCommand(taskName, dbPath);
|
|
300
|
+
const workerDispatchCommand = workerNotifyDispatchCommand(dbPath);
|
|
214
301
|
const roleInstruction = role === "manager"
|
|
215
302
|
? "If an item is consumed, verify worker claims before recording conclusions, require concrete evidence, update Conveyor state as appropriate, and produce exactly one next worker task."
|
|
216
303
|
: "If an item is consumed, execute only that single worker instruction and return exact commands, compact evidence, blockers or residual risk, and exactly one next recommended worker task.";
|
|
304
|
+
const durableWorkerNotification = role === "worker"
|
|
305
|
+
? [
|
|
306
|
+
"Before your final answer after any consumed item, notify the manager durably; a direct app-thread final answer is not a manager receipt and is not task completion.",
|
|
307
|
+
`Run: ${workerNotifyCommand}`,
|
|
308
|
+
`Then run: ${workerDispatchCommand}`,
|
|
309
|
+
"If either notify/dispatch command fails, include that failure as the blocker and do not claim the manager was notified.",
|
|
310
|
+
]
|
|
311
|
+
: [];
|
|
217
312
|
return {
|
|
218
313
|
prompt: [
|
|
219
314
|
"Use the manage-codex-workers skill.",
|
|
@@ -221,6 +316,7 @@ function roleWakeup(role, status, taskName, dbPath, state) {
|
|
|
221
316
|
`Run: ${pollCommand}`,
|
|
222
317
|
`If the heartbeat result asks for direct inbox polling, run: ${directInboxCommand}`,
|
|
223
318
|
roleInstruction,
|
|
319
|
+
...durableWorkerNotification,
|
|
224
320
|
"If no item is consumed, stop after a one-line idle receipt.",
|
|
225
321
|
"Idle polling is not completion and does not authorize heartbeat teardown.",
|
|
226
322
|
].join("\n"),
|
|
@@ -236,6 +332,103 @@ function dispatchLeaseState(value, now, staleSeconds) {
|
|
|
236
332
|
const state = leaseState(value, now, staleSeconds);
|
|
237
333
|
return state === "healthy" ? "healthy" : state === "stale" ? "stale" : "missing";
|
|
238
334
|
}
|
|
335
|
+
function latestAppAutopilotPolicyEvent(database, taskId, dispatcherId) {
|
|
336
|
+
const row = database.prepare(`
|
|
337
|
+
select id, event_type, timestamp
|
|
338
|
+
from telemetry_events
|
|
339
|
+
where task_id = ?
|
|
340
|
+
and event_type in ('app_autopilot_started', 'app_autopilot_stopped')
|
|
341
|
+
and json_extract(correlation_json, '$.dispatcher_id') = ?
|
|
342
|
+
order by timestamp desc, rowid desc
|
|
343
|
+
limit 1
|
|
344
|
+
`).get(taskId, dispatcherId);
|
|
345
|
+
if (!row) {
|
|
346
|
+
return null;
|
|
347
|
+
}
|
|
348
|
+
return {
|
|
349
|
+
desired_state: row.event_type === "app_autopilot_started" ? "active" : "stopped",
|
|
350
|
+
event_id: row.id,
|
|
351
|
+
event_type: row.event_type,
|
|
352
|
+
recorded_at: row.timestamp,
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
function appAutopilotQuiescenceSync(database, options) {
|
|
356
|
+
const threshold = Math.max(0, options.quietAfterCycles);
|
|
357
|
+
if (options.desiredState !== "active" || threshold === 0) {
|
|
358
|
+
return {
|
|
359
|
+
quiet_after: null,
|
|
360
|
+
quiet_cycles: 0,
|
|
361
|
+
reason: null,
|
|
362
|
+
recommended_action: "continue",
|
|
363
|
+
state: "not_applicable",
|
|
364
|
+
threshold_cycles: threshold,
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
const anchor = database.prepare(`
|
|
368
|
+
select max(timestamp) as timestamp
|
|
369
|
+
from telemetry_events
|
|
370
|
+
where task_id = ?
|
|
371
|
+
and (
|
|
372
|
+
event_type in ('command_created', 'dispatch_inbox_consumed')
|
|
373
|
+
or (
|
|
374
|
+
event_type = 'app_autopilot_started'
|
|
375
|
+
and json_extract(correlation_json, '$.dispatcher_id') = ?
|
|
376
|
+
)
|
|
377
|
+
)
|
|
378
|
+
`).get(options.taskId, options.dispatcherId);
|
|
379
|
+
const quietAfter = anchor?.timestamp ?? null;
|
|
380
|
+
if (!quietAfter) {
|
|
381
|
+
return {
|
|
382
|
+
quiet_after: null,
|
|
383
|
+
quiet_cycles: 0,
|
|
384
|
+
reason: "No app-autopilot start or task command receipt anchors the quiet-cycle window.",
|
|
385
|
+
recommended_action: "continue",
|
|
386
|
+
state: "monitoring",
|
|
387
|
+
threshold_cycles: threshold,
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
const heartbeatRows = database.prepare(`
|
|
391
|
+
select actor, count(*) as count
|
|
392
|
+
from telemetry_events
|
|
393
|
+
where task_id = ?
|
|
394
|
+
and event_type = 'app_heartbeat'
|
|
395
|
+
and timestamp > ?
|
|
396
|
+
and actor in ('manager', 'worker')
|
|
397
|
+
group by actor
|
|
398
|
+
`).all(options.taskId, quietAfter);
|
|
399
|
+
let managerHeartbeats = 0;
|
|
400
|
+
let workerHeartbeats = 0;
|
|
401
|
+
for (const row of heartbeatRows) {
|
|
402
|
+
if (row.actor === "manager") {
|
|
403
|
+
managerHeartbeats = Number(row.count);
|
|
404
|
+
}
|
|
405
|
+
else if (row.actor === "worker") {
|
|
406
|
+
workerHeartbeats = Number(row.count);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
const quietCycles = Math.min(managerHeartbeats, workerHeartbeats);
|
|
410
|
+
const idleHealthy = options.status.ok && options.status.next_actions.length === 0;
|
|
411
|
+
if (idleHealthy && quietCycles >= threshold) {
|
|
412
|
+
return {
|
|
413
|
+
quiet_after: quietAfter,
|
|
414
|
+
quiet_cycles: quietCycles,
|
|
415
|
+
reason: `No app-loop action has been recorded for ${quietCycles} healthy heartbeat cycle(s) since ${quietAfter}. Stop autopilot or wait for an external unblock before restarting.`,
|
|
416
|
+
recommended_action: "stop_autopilot",
|
|
417
|
+
state: "stop_recommended",
|
|
418
|
+
threshold_cycles: threshold,
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
return {
|
|
422
|
+
quiet_after: quietAfter,
|
|
423
|
+
quiet_cycles: quietCycles,
|
|
424
|
+
reason: idleHealthy
|
|
425
|
+
? `Healthy idle loop has ${quietCycles}/${threshold} quiet heartbeat cycle(s) since ${quietAfter}.`
|
|
426
|
+
: "Loop still has pending health actions, so quiet-cycle stop is not evaluated.",
|
|
427
|
+
recommended_action: "continue",
|
|
428
|
+
state: "monitoring",
|
|
429
|
+
threshold_cycles: threshold,
|
|
430
|
+
};
|
|
431
|
+
}
|
|
239
432
|
function leaseState(value, now, staleSeconds) {
|
|
240
433
|
if (!value) {
|
|
241
434
|
return "missing";
|
|
@@ -257,6 +450,9 @@ function ageSeconds(value, now) {
|
|
|
257
450
|
function pathFlag(dbPath) {
|
|
258
451
|
return dbPath ? ` --path ${shellQuote(dbPath)}` : "";
|
|
259
452
|
}
|
|
453
|
+
function formatNumber(value) {
|
|
454
|
+
return Number.isInteger(value) ? String(value) : String(value);
|
|
455
|
+
}
|
|
260
456
|
function shellQuote(value) {
|
|
261
457
|
return `'${value.replace(/'/g, "'\"'\"'")}'`;
|
|
262
458
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-autonomy.js","sourceRoot":"","sources":["../../src/runtime/app-autonomy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app-autonomy.js","sourceRoot":"","sources":["../../src/runtime/app-autonomy.ts"],"names":[],"mappings":"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"}
|
package/docs/manager-recipes.md
CHANGED
|
@@ -304,11 +304,22 @@ conveyor app-heartbeat "$TASK" --role worker --json
|
|
|
304
304
|
conveyor app-loop-status "$TASK" --json
|
|
305
305
|
conveyor app-wakeup-plan "$TASK" --json
|
|
306
306
|
conveyor app-wakeup-dispatch "$TASK" --json
|
|
307
|
+
conveyor app-autopilot start "$TASK" --json
|
|
307
308
|
```
|
|
308
309
|
|
|
309
310
|
Use `app-loop-status` as the operator status surface. If it reports stale
|
|
310
311
|
manager, worker, or Dispatch leases, use `app-wakeup-plan` to get the exact
|
|
311
312
|
thread prompt to send through Codex app automation or `send_message_to_thread`.
|
|
313
|
+
Use `app-autopilot start` from the operator session to record the pair-level
|
|
314
|
+
heartbeat policy and emit the exact Codex app heartbeat automation specs plus a
|
|
315
|
+
bounded Dispatch watch command. `app-autopilot stop` records the teardown policy
|
|
316
|
+
decision; it does not itself delete Codex app automations because that action
|
|
317
|
+
belongs to the Codex app automation layer.
|
|
318
|
+
Each operator pulse should inspect `app-autopilot status --json`; if
|
|
319
|
+
`plan.quiescence.recommended_action` is `stop_autopilot`, record
|
|
320
|
+
`app-autopilot stop`, pause/delete the app heartbeat automations, and report the
|
|
321
|
+
blocked or idle state once instead of continuing to wake healthy sessions with
|
|
322
|
+
empty `next_actions`.
|
|
312
323
|
Use `app-wakeup-dispatch` when the manager needs a durable Conveyor receipt for
|
|
313
324
|
which app wake actions were prepared, skipped, or blocked. It only prepares
|
|
314
325
|
adapter-ready actions; direct app-thread delivery remains an app/operator
|
package/package.json
CHANGED
|
@@ -67,6 +67,12 @@ Skill behavior:
|
|
|
67
67
|
loop until no inbox item remains or `max_iterations` is reached. Consuming a
|
|
68
68
|
`continue_iteration` inbox item advances the Ralph-loop run's durable
|
|
69
69
|
`current_iteration` and writes `ralph_loop_iteration_advanced` telemetry.
|
|
70
|
+
After completing or blocking on any consumed item, the worker must run the
|
|
71
|
+
generated `conveyor enqueue-notify-manager ... --json` command and then run
|
|
72
|
+
the generated one-iteration `conveyor dispatch --watch ... --json` command
|
|
73
|
+
before its final app-thread answer. If either command fails, treat that as
|
|
74
|
+
the blocker; a direct app-thread final answer alone is not manager
|
|
75
|
+
notification and is not task completion.
|
|
70
76
|
9. After each worker pass, require concrete evidence and structured
|
|
71
77
|
`loop-evidence adversarial-check` proof before queueing another
|
|
72
78
|
`enqueue-continue-iteration`.
|
|
@@ -89,6 +95,24 @@ Idle polling rule for Codex app/no-tmux sessions:
|
|
|
89
95
|
A timeout is not completion; it is only a quiet poll interval.
|
|
90
96
|
- Keep `conveyor dispatch --watch --dispatcher-id dispatch-local` running so
|
|
91
97
|
Dispatch can route new messages into those inboxes.
|
|
98
|
+
- After a worker consumes and acts on a manager instruction, require a durable
|
|
99
|
+
`conveyor enqueue-notify-manager <task> --message ... --json` receipt plus a
|
|
100
|
+
one-iteration Dispatch run before treating the worker pass as reported. A
|
|
101
|
+
direct Codex app final answer is local thread text; it does not notify the
|
|
102
|
+
manager inbox or prove the manager saw the result.
|
|
103
|
+
- Prefer `conveyor app-autopilot start <task> --json` from the operator or
|
|
104
|
+
manager session when setting up a Codex app/no-tmux pair for autonomous
|
|
105
|
+
heartbeat management. It records a durable pair-level heartbeat policy and
|
|
106
|
+
emits manager/worker Codex app heartbeat automation specs plus the bounded
|
|
107
|
+
Dispatch watch command. Use `conveyor app-autopilot status <task> --json` to
|
|
108
|
+
inspect the current policy, loop health, and `plan.quiescence`. If
|
|
109
|
+
`plan.quiescence.recommended_action` is `stop_autopilot`, the operator should
|
|
110
|
+
record `conveyor app-autopilot stop <task> --json` and pause/delete the Codex
|
|
111
|
+
app heartbeat automations instead of sending another idle pulse. Use
|
|
112
|
+
`--quiet-after N` to tune the number of paired manager/worker idle
|
|
113
|
+
heartbeats required before that recommendation. The CLI cannot create or
|
|
114
|
+
delete Codex app automations by itself; apply the emitted automation specs
|
|
115
|
+
through Codex app automation tools.
|
|
92
116
|
- Use `conveyor app-loop-status <task> --json` as the operator status surface,
|
|
93
117
|
and `conveyor app-wakeup-plan <task> --json` to produce exact stale-thread
|
|
94
118
|
wake prompts for Codex app automation or `send_message_to_thread`.
|