Summary
runTaskCronCycle task dispatch currently needs two reliability fixes for Codex-heavy setups:
- Codex task-cron dispatch timeout should default to 30 minutes (not 10 minutes).
- Task-cron dispatch env should merge
process.env with optional overrides, so child processes always inherit base environment variables.
Current behavior
In @opengoat/core/dist/core/opengoat/application/opengoat.service.js:
TASK_CRON_DISPATCH_TIMEOUT_CODEX_MS can revert to 10 minutes on updates (too short for long-running Codex tasks).
const invocationEnv = options.env ?? process.env; can drop base environment variables when options.env is provided.
Expected behavior
- Codex default timeout should be
30 * 60 * 1000.
- Dispatch env should be merged:
const invocationEnv = {
...process.env,
...(options.env ?? {}),
};
Why it matters
- Prevents false timeout failures for valid long-running task delegations.
- Avoids missing credentials/config in child process execution when env overrides are used.
Suggested fix
Apply this in source (not dist patching) and ship in the next release so local patching workarounds are no longer needed.
Summary
runTaskCronCycletask dispatch currently needs two reliability fixes for Codex-heavy setups:process.envwith optional overrides, so child processes always inherit base environment variables.Current behavior
In
@opengoat/core/dist/core/opengoat/application/opengoat.service.js:TASK_CRON_DISPATCH_TIMEOUT_CODEX_MScan revert to 10 minutes on updates (too short for long-running Codex tasks).const invocationEnv = options.env ?? process.env;can drop base environment variables whenoptions.envis provided.Expected behavior
30 * 60 * 1000.Why it matters
Suggested fix
Apply this in source (not dist patching) and ship in the next release so local patching workarounds are no longer needed.