فهرست منبع

Increase default orchestrator wake interval from 5 to 10 minutes

Alvin Unreal 1 هفته پیش
والد
کامیت
2c691323e5
6فایلهای تغییر یافته به همراه17 افزوده شده و 17 حذف شده
  1. 2 2
      docs/background-orchestration.md
  2. 4 4
      docs/configuration.md
  3. 4 4
      oh-my-opencode-slim.schema.json
  4. 1 1
      src/config/runtime.ts
  5. 2 2
      src/config/schema.test.ts
  6. 4 4
      src/config/schema.ts

+ 2 - 2
docs/background-orchestration.md

@@ -321,14 +321,14 @@ multiplexer panes attached while the parent orchestrator continues scheduling.
 
 
 When an orchestrator parent stays continuously idle, the plugin may send a
 When an orchestrator parent stays continuously idle, the plugin may send a
 periodic internal wake prompt so incomplete TODOs are not abandoned. This is
 periodic internal wake prompt so incomplete TODOs are not abandoned. This is
-**enabled by default** with a **5-minute** interval:
+**enabled by default** with a **10-minute** interval:
 
 
 ```jsonc
 ```jsonc
 {
 {
   "backgroundJobs": {
   "backgroundJobs": {
     "orchestratorWake": {
     "orchestratorWake": {
       "enabled": true,
       "enabled": true,
-      "intervalMs": 300000
+      "intervalMs": 600000
     }
     }
   }
   }
 }
 }

+ 4 - 4
docs/configuration.md

@@ -151,8 +151,8 @@ Presets can also be switched at runtime without restarting using the `/preset` c
 | `backgroundJobs.readContextMaxFiles` | integer | `8` | Maximum number of recent read-context files shown per reusable child session (0–50) See [Background Job Management](#background-job-management). |
 | `backgroundJobs.readContextMaxFiles` | integer | `8` | Maximum number of recent read-context files shown per reusable child session (0–50) See [Background Job Management](#background-job-management). |
 | `backgroundJobs.maxRetainedSnapshots` | integer | `20` | Maximum board snapshots retained per checkpoint cache epoch (1–100). Adding a snapshot beyond the limit starts a new epoch with only the current snapshot, intentionally creating one cache miss See [Background Job Management](#background-job-management). |
 | `backgroundJobs.maxRetainedSnapshots` | integer | `20` | Maximum board snapshots retained per checkpoint cache epoch (1–100). Adding a snapshot beyond the limit starts a new epoch with only the current snapshot, intentionally creating one cache miss See [Background Job Management](#background-job-management). |
 | `backgroundJobs.strategy` | `"latest"` \| `"checkpoint-compatible"` | `"latest"` | Board injection strategy. `latest` preserves the current strip-and-replace behavior; `checkpoint-compatible` appends only when the formatted board changes and uses `backgroundJobs.maxRetainedSnapshots` per cache epoch. Cache state resets on compaction/session boundaries and is lost on plugin restart See [Background Job Management](#background-job-management). |
 | `backgroundJobs.strategy` | `"latest"` \| `"checkpoint-compatible"` | `"latest"` | Board injection strategy. `latest` preserves the current strip-and-replace behavior; `checkpoint-compatible` appends only when the formatted board changes and uses `backgroundJobs.maxRetainedSnapshots` per cache epoch. Cache state resets on compaction/session boundaries and is lost on plugin restart See [Background Job Management](#background-job-management). |
-| `backgroundJobs.orchestratorWake.enabled` | boolean | `true` | When true, idle orchestrator sessions with incomplete todos may receive periodic internal wake prompts (default every 5 minutes of continuous parent idle). Requires host session APIs; inactive on the v2 shim. See [Background Orchestration](background-orchestration.md#orchestrator-wake-scheduler) See [Background Job Management](#background-job-management). |
-| `backgroundJobs.orchestratorWake.intervalMs` | integer | `300000` | Continuous parent-idle interval between wake evaluations (`60000`–`2147483647` ms). `0` is invalid. See [Background Orchestration](background-orchestration.md#orchestrator-wake-scheduler) See [Background Job Management](#background-job-management). |
+| `backgroundJobs.orchestratorWake.enabled` | boolean | `true` | When true, idle orchestrator sessions with incomplete todos may receive periodic internal wake prompts (default every 10 minutes of continuous parent idle). Requires host session APIs; inactive on the v2 shim. See [Background Orchestration](background-orchestration.md#orchestrator-wake-scheduler) See [Background Job Management](#background-job-management). |
+| `backgroundJobs.orchestratorWake.intervalMs` | integer | `600000` | Continuous parent-idle interval between wake evaluations (`60000`–`2147483647` ms). `0` is invalid. See [Background Orchestration](background-orchestration.md#orchestrator-wake-scheduler) See [Background Job Management](#background-job-management). |
 | `backgroundJobs.wallClockTimeoutMs` | integer | `0` | **Opt-in wall-clock supervisor.** `0` disables it. Otherwise, only native `task(..., background: true)` child sessions are supervised; accepted values are `60000`–`2147483647` milliseconds See [Background Job Management](#background-job-management). |
 | `backgroundJobs.wallClockTimeoutMs` | integer | `0` | **Opt-in wall-clock supervisor.** `0` disables it. Otherwise, only native `task(..., background: true)` child sessions are supervised; accepted values are `60000`–`2147483647` milliseconds See [Background Job Management](#background-job-management). |
 | `backgroundJobs.abortGraceMs` | integer | `10000` | Grace period after a wall-clock deadline for a terminal confirmation. Accepted values are `1000`–`60000` milliseconds; a hanging or failed abort does not extend this grace See [Background Job Management](#background-job-management). |
 | `backgroundJobs.abortGraceMs` | integer | `10000` | Grace period after a wall-clock deadline for a terminal confirmation. Accepted values are `1000`–`60000` milliseconds; a hanging or failed abort does not extend this grace See [Background Job Management](#background-job-management). |
 | `disabled_mcps` | string[] | `[]` | MCP server IDs to disable globally |
 | `disabled_mcps` | string[] | `[]` | MCP server IDs to disable globally |
@@ -301,7 +301,7 @@ The wall-clock supervisor is separately opt-in and remains disabled unless
     "maxRetainedSnapshots": 10,
     "maxRetainedSnapshots": 10,
     "orchestratorWake": {
     "orchestratorWake": {
       "enabled": true,
       "enabled": true,
-      "intervalMs": 300000
+      "intervalMs": 600000
     },
     },
     "wallClockTimeoutMs": 900000,
     "wallClockTimeoutMs": 900000,
     "abortGraceMs": 10000
     "abortGraceMs": 10000
@@ -309,7 +309,7 @@ The wall-clock supervisor is separately opt-in and remains disabled unless
 }
 }
 ```
 ```
 
 
-`orchestratorWake` defaults to enabled with a 5-minute continuous-idle interval.
+`orchestratorWake` defaults to enabled with a 10-minute continuous-idle interval.
 Set `enabled: false` to keep idle reconciliation and background-job orchestration
 Set `enabled: false` to keep idle reconciliation and background-job orchestration
 without periodic wake prompts. See the
 without periodic wake prompts. See the
 [Background Orchestration](background-orchestration.md) guide for the concept,
 [Background Orchestration](background-orchestration.md) guide for the concept,

+ 4 - 4
oh-my-opencode-slim.schema.json

@@ -1027,9 +1027,9 @@
         "orchestratorWake": {
         "orchestratorWake": {
           "default": {
           "default": {
             "enabled": true,
             "enabled": true,
-            "intervalMs": 300000
+            "intervalMs": 600000
           },
           },
-          "description": "Periodic orchestrator wake scheduler for idle sessions with incomplete todos. Default enabled at a 5-minute interval. Requires host session APIs (session.get, todo, children, status, promptAsync); inactive on the v2 shim.",
+          "description": "Periodic orchestrator wake scheduler for idle sessions with incomplete todos. Default enabled at a 10-minute interval. Requires host session APIs (session.get, todo, children, status, promptAsync); inactive on the v2 shim.",
           "type": "object",
           "type": "object",
           "properties": {
           "properties": {
             "enabled": {
             "enabled": {
@@ -1038,8 +1038,8 @@
               "type": "boolean"
               "type": "boolean"
             },
             },
             "intervalMs": {
             "intervalMs": {
-              "default": 300000,
-              "description": "Continuous parent-idle interval between orchestrator wake evaluations (60,000–2,147,483,647ms). Default 300,000 (5 minutes). 0 is invalid.",
+              "default": 600000,
+              "description": "Continuous parent-idle interval between orchestrator wake evaluations (60,000–2,147,483,647ms). Default 600,000 (10 minutes). 0 is invalid.",
               "type": "integer",
               "type": "integer",
               "minimum": 60000,
               "minimum": 60000,
               "maximum": 2147483647
               "maximum": 2147483647

+ 1 - 1
src/config/runtime.ts

@@ -79,7 +79,7 @@ const DEFAULT_BACKGROUND_JOBS: BackgroundJobsConfig = {
   readContextMinLines: DEFAULT_READ_CONTEXT_MIN_LINES,
   readContextMinLines: DEFAULT_READ_CONTEXT_MIN_LINES,
   readContextMaxFiles: DEFAULT_READ_CONTEXT_MAX_FILES,
   readContextMaxFiles: DEFAULT_READ_CONTEXT_MAX_FILES,
   maxRetainedSnapshots: DEFAULT_MAX_RETAINED_SNAPSHOTS,
   maxRetainedSnapshots: DEFAULT_MAX_RETAINED_SNAPSHOTS,
-  orchestratorWake: { enabled: true, intervalMs: 300_000 },
+  orchestratorWake: { enabled: true, intervalMs: 600_000 },
   wallClockTimeoutMs: 0,
   wallClockTimeoutMs: 0,
   abortGraceMs: 10_000,
   abortGraceMs: 10_000,
 };
 };

+ 2 - 2
src/config/schema.test.ts

@@ -75,14 +75,14 @@ describe('PluginConfigSchema backgroundJobs', () => {
     }
     }
   });
   });
 
 
-  it('defaults orchestratorWake to enabled with a 5-minute interval', () => {
+  it('defaults orchestratorWake to enabled with a 10-minute interval', () => {
     const result = PluginConfigSchema.safeParse({ backgroundJobs: {} });
     const result = PluginConfigSchema.safeParse({ backgroundJobs: {} });
 
 
     expect(result.success).toBe(true);
     expect(result.success).toBe(true);
     if (result.success) {
     if (result.success) {
       expect(result.data.backgroundJobs?.orchestratorWake).toEqual({
       expect(result.data.backgroundJobs?.orchestratorWake).toEqual({
         enabled: true,
         enabled: true,
-        intervalMs: 300_000,
+        intervalMs: 600_000,
       });
       });
     }
     }
   });
   });

+ 4 - 4
src/config/schema.ts

@@ -164,14 +164,14 @@ export const BackgroundJobsConfigSchema = z.object({
         .int()
         .int()
         .min(60_000)
         .min(60_000)
         .max(2_147_483_647)
         .max(2_147_483_647)
-        .default(300_000)
+        .default(600_000)
         .describe(
         .describe(
-          'Continuous parent-idle interval between orchestrator wake evaluations (60,000–2,147,483,647ms). Default 300,000 (5 minutes). 0 is invalid.',
+          'Continuous parent-idle interval between orchestrator wake evaluations (60,000–2,147,483,647ms). Default 600,000 (10 minutes). 0 is invalid.',
         ),
         ),
     })
     })
-    .default({ enabled: true, intervalMs: 300_000 })
+    .default({ enabled: true, intervalMs: 600_000 })
     .describe(
     .describe(
-      'Periodic orchestrator wake scheduler for idle sessions with incomplete todos. Default enabled at a 5-minute interval. Requires host session APIs (session.get, todo, children, status, promptAsync); inactive on the v2 shim.',
+      'Periodic orchestrator wake scheduler for idle sessions with incomplete todos. Default enabled at a 10-minute interval. Requires host session APIs (session.get, todo, children, status, promptAsync); inactive on the v2 shim.',
     ),
     ),
   wallClockTimeoutMs: z
   wallClockTimeoutMs: z
     .union([z.literal(0), z.number().int().min(60_000).max(2_147_483_647)])
     .union([z.literal(0), z.number().int().min(60_000).max(2_147_483_647)])