oh-my-opencode 5.0.0-beta.63 → 5.0.0-beta.65
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/dist/cli/index.js +28 -23
- package/dist/cli-node/index.js +28 -23
- package/dist/hooks/plan-format-validator/hook.d.ts +19 -0
- package/dist/index.js +149 -86
- package/dist/oh-my-opencode.schema.json +4 -4
- package/dist/skills/ulw-plan/references/full-workflow.md +1 -0
- package/dist/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -0
- package/dist/tui.js +13 -8
- package/package.json +14 -14
- package/packages/omo-codex/plugin/.codex-plugin/plugin.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/dist/cli.js +8 -3
- package/packages/omo-codex/plugin/components/bootstrap/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/bootstrap/package.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/comment-checker/package.json +1 -1
- package/packages/omo-codex/plugin/components/git-bash/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/git-bash/package.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/lazycodex-executor-verify/package.json +1 -1
- package/packages/omo-codex/plugin/components/lsp/dist/.omo-runtime-manifest.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/hooks/hooks.json +2 -2
- package/packages/omo-codex/plugin/components/lsp/package.json +1 -1
- package/packages/omo-codex/plugin/components/rules/hooks/hooks.json +4 -4
- package/packages/omo-codex/plugin/components/rules/package.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/teammode/package.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/telemetry/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/agents/plan.toml +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/package.json +1 -1
- package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -0
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/hooks/hooks.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-execute-continuation/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-codex-validation.d.ts +7 -5
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint-codex-validation.js +7 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/checkpoint.js +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/cli.js +364 -135
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.d.ts +6 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/codex-goal-snapshot.js +20 -12
- package/packages/omo-codex/plugin/components/ulw-loop/dist/domain-types.d.ts +3 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/driver-objective-ack.d.ts +4 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/driver-objective-ack.js +18 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence-artifacts.d.ts +1 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence-artifacts.js +37 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence.d.ts +1 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/evidence.js +8 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.d.ts +1 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/paths.js +6 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.d.ts +4 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-crud.js +6 -3
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-goal-factory.d.ts +10 -3
- package/packages/omo-codex/plugin/components/ulw-loop/dist/plan-goal-factory.js +38 -31
- package/packages/omo-codex/plugin/components/ulw-loop/dist/review-blockers.js +8 -4
- package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/factory.js +17 -8
- package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/manifest.d.ts +335 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/manifest.js +109 -10
- package/packages/omo-codex/plugin/components/ulw-loop/dist/sdk/types.d.ts +3 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-mutations.d.ts +3 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-mutations.js +4 -4
- package/packages/omo-codex/plugin/components/ulw-loop/dist/steering-types.d.ts +9 -1
- package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.d.ts +3 -2
- package/packages/omo-codex/plugin/components/ulw-loop/dist/steering.js +6 -6
- package/packages/omo-codex/plugin/components/ulw-loop/dist/success-criteria-input.d.ts +9 -0
- package/packages/omo-codex/plugin/components/ulw-loop/dist/success-criteria-input.js +41 -0
- package/packages/omo-codex/plugin/components/ulw-loop/hooks/hooks.json +5 -5
- package/packages/omo-codex/plugin/components/ulw-loop/package.json +1 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint-codex-validation.ts +15 -3
- package/packages/omo-codex/plugin/components/ulw-loop/src/checkpoint.ts +2 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/codex-goal-snapshot.ts +26 -14
- package/packages/omo-codex/plugin/components/ulw-loop/src/domain-types.ts +3 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/driver-objective-ack.ts +20 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/evidence-artifacts.ts +45 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/evidence.ts +7 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/paths.ts +7 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/plan-crud.ts +9 -3
- package/packages/omo-codex/plugin/components/ulw-loop/src/plan-goal-factory.ts +63 -31
- package/packages/omo-codex/plugin/components/ulw-loop/src/review-blockers.ts +8 -4
- package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/factory.ts +17 -7
- package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/manifest.ts +124 -10
- package/packages/omo-codex/plugin/components/ulw-loop/src/sdk/types.ts +3 -0
- package/packages/omo-codex/plugin/components/ulw-loop/src/steering-mutations.ts +5 -4
- package/packages/omo-codex/plugin/components/ulw-loop/src/steering-types.ts +13 -1
- package/packages/omo-codex/plugin/components/ulw-loop/src/steering.ts +7 -6
- package/packages/omo-codex/plugin/components/ulw-loop/src/success-criteria-input.ts +56 -0
- package/packages/omo-codex/plugin/components/ulw-loop/test/codex-goal-snapshot.test.ts +37 -1
- package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-driver-states.test.ts +33 -4
- package/packages/omo-codex/plugin/components/ulw-loop/test/sdk-dx.test.ts +219 -0
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-git-bash-mcp-reminder.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-lsp-diagnostics-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-compact-resetting-project-rule-cache.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-comments.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-lsp-diagnostics.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-checking-thread-title-hygiene.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-matching-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/post-tool-use-recording-spawn-admission.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-enforcing-unlimited-goal-budget.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-guarding-ulw-loop-spawns.json +1 -1
- package/packages/omo-codex/plugin/hooks/pre-tool-use-recommending-git-bash-mcp.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-auto-update.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-checking-bootstrap-provisioning.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/hooks/session-start-recording-session-telemetry.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-execute-continuation.json +1 -1
- package/packages/omo-codex/plugin/hooks/stop-checking-ulw-loop-resume.json +1 -1
- package/packages/omo-codex/plugin/hooks/subagent-stop-verifying-lazycodex-executor-evidence.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ultrawork-trigger.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-checking-ulw-loop-steering.json +1 -1
- package/packages/omo-codex/plugin/hooks/user-prompt-submit-loading-project-rules.json +1 -1
- package/packages/omo-codex/plugin/package-lock.json +12 -12
- package/packages/omo-codex/plugin/package.json +1 -1
- package/packages/omo-codex/plugin/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -0
- package/packages/omo-codex/scripts/install-dist/install-local.mjs +10 -5
- package/packages/shared-skills/skills/ulw-plan/references/full-workflow.md +1 -0
- package/packages/shared-skills/skills/ulw-plan/scripts/scaffold-plan.mjs +1 -0
|
@@ -5839,8 +5839,8 @@ var OmoGitMasterSettingsShape = {
|
|
|
5839
5839
|
};
|
|
5840
5840
|
var OmoGitMasterSettingsLayerSchema = object(OmoGitMasterSettingsShape).partial().strict();
|
|
5841
5841
|
var OmoGitMasterSettingsSchema = OmoGitMasterSettingsLayerSchema.extend({
|
|
5842
|
-
commit_footer: union([boolean2(), string2()]).default(
|
|
5843
|
-
include_co_authored_by: boolean2().default(
|
|
5842
|
+
commit_footer: union([boolean2(), string2()]).default(false),
|
|
5843
|
+
include_co_authored_by: boolean2().default(false)
|
|
5844
5844
|
}).strict();
|
|
5845
5845
|
|
|
5846
5846
|
// ../../omo-config-core/src/schema/harness.ts
|
|
@@ -6243,6 +6243,7 @@ var OmoFormatOnMutationSchema = OmoFormatOnMutationLayerSchema.extend({
|
|
|
6243
6243
|
|
|
6244
6244
|
// ../../omo-config-core/src/schema/config.ts
|
|
6245
6245
|
var OmoOpenCodeHarnessConfigSchema = record(string2(), unknown());
|
|
6246
|
+
var OmoDisabledSkillsSchema = array(string2());
|
|
6246
6247
|
var OmoTypedHarnessConfigSchema = object({
|
|
6247
6248
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
6248
6249
|
categories: OmoCategoriesConfigSchema.optional(),
|
|
@@ -6254,7 +6255,8 @@ var OmoTypedHarnessConfigSchema = object({
|
|
|
6254
6255
|
model_profiles: OmoModelProfilesLayerSchema.optional(),
|
|
6255
6256
|
model_profile: string2().optional(),
|
|
6256
6257
|
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
6257
|
-
telemetry: OmoTelemetrySettingsLayerSchema.optional()
|
|
6258
|
+
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
6259
|
+
disabled_skills: OmoDisabledSkillsSchema.optional()
|
|
6258
6260
|
}).strict();
|
|
6259
6261
|
var OmoConfigProfileSchema = object({
|
|
6260
6262
|
formatOnMutation: OmoFormatOnMutationLayerSchema.optional(),
|
|
@@ -6268,6 +6270,7 @@ var OmoConfigProfileSchema = object({
|
|
|
6268
6270
|
model_profile: string2().optional(),
|
|
6269
6271
|
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
6270
6272
|
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
6273
|
+
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
6271
6274
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
6272
6275
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
6273
6276
|
"[codex]": OmoTypedHarnessConfigSchema.optional()
|
|
@@ -6285,6 +6288,7 @@ var OmoConfigSchema = object({
|
|
|
6285
6288
|
model_profile: string2().optional(),
|
|
6286
6289
|
memory: OmoMemorySettingsSchema.optional(),
|
|
6287
6290
|
telemetry: OmoTelemetrySettingsSchema.optional(),
|
|
6291
|
+
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
6288
6292
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
6289
6293
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
6290
6294
|
"[codex]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -6305,6 +6309,7 @@ var OmoConfigLayerSchema = object({
|
|
|
6305
6309
|
model_profile: string2().optional(),
|
|
6306
6310
|
memory: OmoMemorySettingsLayerSchema.optional(),
|
|
6307
6311
|
telemetry: OmoTelemetrySettingsLayerSchema.optional(),
|
|
6312
|
+
disabled_skills: OmoDisabledSkillsSchema.optional(),
|
|
6308
6313
|
"[opencode]": OmoOpenCodeHarnessConfigSchema.optional(),
|
|
6309
6314
|
"[senpi]": OmoTypedHarnessConfigSchema.optional(),
|
|
6310
6315
|
"[codex]": OmoTypedHarnessConfigSchema.optional(),
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/bootstrap/dist/cli.js\" hook session-start",
|
|
9
9
|
"commandWindows": "powershell -NoProfile -ExecutionPolicy Bypass -File \"${PLUGIN_ROOT}\\components\\bootstrap\\scripts\\bootstrap.ps1\"",
|
|
10
10
|
"timeout": 30,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.65) Checking Bootstrap Provisioning"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sisyphuslabs/codex-bootstrap",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.65",
|
|
4
4
|
"description": "Codex SessionStart bootstrap component that provisions LazyCodex runtime dependencies from a detached worker.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": true,
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook pre-tool-use",
|
|
10
10
|
"timeout": 5,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.65) Recommending Git Bash MCP"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"type": "command",
|
|
21
21
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
|
|
22
22
|
"timeout": 5,
|
|
23
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
23
|
+
"statusMessage": "(OmO 5.0.0-beta.65) Resetting Git Bash MCP Reminder"
|
|
24
24
|
}
|
|
25
25
|
]
|
|
26
26
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/components/lazycodex-executor-verify/dist/cli.js\" hook subagent-stop",
|
|
10
10
|
"timeout": 10,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.65) Verifying LazyCodex Executor Evidence"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-lazycodex-executor-verify",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.65",
|
|
4
4
|
"description": "Codex SubagentStop evidence verifier for LazyCodex executor completions.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"version": "5.0.0-beta.
|
|
4
|
-
"inputDigest": "sha256:
|
|
3
|
+
"version": "5.0.0-beta.65",
|
|
4
|
+
"inputDigest": "sha256:e9d94bd9d259aa942411bac2133216cfa63a487b99dae691c5657cb69fc712f7",
|
|
5
5
|
"outputs": [
|
|
6
6
|
{
|
|
7
7
|
"path": "cli.d.ts",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
|
|
10
10
|
"timeout": 60,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.65) Checking LSP Diagnostics"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"type": "command",
|
|
22
22
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
|
|
23
23
|
"timeout": 5,
|
|
24
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
24
|
+
"statusMessage": "(OmO 5.0.0-beta.65) Resetting LSP Diagnostics Cache"
|
|
25
25
|
}
|
|
26
26
|
]
|
|
27
27
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook session-start",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.65) Loading Project Rules"
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
13
|
}
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"type": "command",
|
|
20
20
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook user-prompt-submit",
|
|
21
21
|
"timeout": 10,
|
|
22
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
22
|
+
"statusMessage": "(OmO 5.0.0-beta.65) Loading Project Rules"
|
|
23
23
|
}
|
|
24
24
|
]
|
|
25
25
|
}
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"type": "command",
|
|
33
33
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
|
|
34
34
|
"timeout": 10,
|
|
35
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
35
|
+
"statusMessage": "(OmO 5.0.0-beta.65) Matching Project Rules"
|
|
36
36
|
}
|
|
37
37
|
]
|
|
38
38
|
}
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"type": "command",
|
|
46
46
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-compact",
|
|
47
47
|
"timeout": 10,
|
|
48
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
48
|
+
"statusMessage": "(OmO 5.0.0-beta.65) Resetting Project Rule Cache"
|
|
49
49
|
}
|
|
50
50
|
]
|
|
51
51
|
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"type": "command",
|
|
9
9
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook post-tool-use",
|
|
10
10
|
"timeout": 10,
|
|
11
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
11
|
+
"statusMessage": "(OmO 5.0.0-beta.65) Checking Thread Title Hygiene"
|
|
12
12
|
}
|
|
13
13
|
]
|
|
14
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-telemetry",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.65",
|
|
4
4
|
"description": "Codex plugin component that emits omo-codex anonymous daily-active telemetry on SessionStart.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
|
@@ -32,7 +32,7 @@ Write ONE plan to `.omo/plans/<slug>.md` (create the directory if absent). No "P
|
|
|
32
32
|
## TL;DR
|
|
33
33
|
> Summary: <1-2 sentences>
|
|
34
34
|
> Deliverables: <bullet list>
|
|
35
|
-
> Effort: <Quick | Short | Medium | Large | XL>
|
|
35
|
+
> Effort: <Quick | Short | Medium | Large | XL> (one band, never hours/days: Quick = single edit, minutes of agent work; Short = one focused change, a few files; Medium = multi-file feature in one session; Large = several waves, one long session; XL = multi-session or architectural work)
|
|
36
36
|
> Risk: <Low | Medium | High> - <one-line driver>
|
|
37
37
|
|
|
38
38
|
## Scope
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/dist/cli.js\" hook user-prompt-submit",
|
|
9
9
|
"timeout": 5,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.65) Checking Ultrawork Trigger"
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
13
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@code-yeongyu/codex-ultrawork",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.65",
|
|
4
4
|
"description": "Codex plugin that injects the ultrawork orchestration directive and ships LazyCodex planning, review, QA, and gate agent roles.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "npm@11.12.1",
|
package/packages/omo-codex/plugin/components/ultrawork/skills/ulw-plan/scripts/scaffold-plan.mjs
CHANGED
|
@@ -238,6 +238,7 @@ export function buildPlanSkeleton(slug, intent) {
|
|
|
238
238
|
**What it will NOT do:** <fill last - 1-3 plain lines mirroring Must NOT have>
|
|
239
239
|
|
|
240
240
|
**Effort:** <Quick | Short | Medium | Large | XL>
|
|
241
|
+
<!-- Effort is exactly ONE band, never hours/days. Quick = single edit, minutes of agent work; Short = one focused change, a few files; Medium = multi-file feature in one session; Large = several waves, one long session; XL = multi-session or architectural work. A written duration is rewritten to a band. -->
|
|
241
242
|
**Risk:** <Low | Medium | High> - <one-line driver>
|
|
242
243
|
${decisionsLine}
|
|
243
244
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "command",
|
|
8
8
|
"command": "node \"${PLUGIN_ROOT}/components/ulw-execute-continuation/dist/cli.js\" hook stop",
|
|
9
9
|
"timeout": 10,
|
|
10
|
-
"statusMessage": "(OmO 5.0.0-beta.
|
|
10
|
+
"statusMessage": "(OmO 5.0.0-beta.65) Checking Ulw-Execute Continuation"
|
|
11
11
|
}
|
|
12
12
|
]
|
|
13
13
|
}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import type { UlwLoopScope } from "./paths.js";
|
|
2
2
|
import type { UlwLoopItem, UlwLoopPlan } from "./types.js";
|
|
3
3
|
import { UlwLoopError } from "./types.js";
|
|
4
|
+
export interface CheckpointCodexGoalValidation {
|
|
5
|
+
readonly raw: unknown;
|
|
6
|
+
readonly nextActions: readonly string[];
|
|
7
|
+
readonly warnings: readonly string[];
|
|
8
|
+
readonly unacknowledgedObjective?: string;
|
|
9
|
+
}
|
|
4
10
|
export declare function validateCheckpointCodexGoal(input: {
|
|
5
11
|
readonly repoRoot: string;
|
|
6
12
|
readonly plan: UlwLoopPlan;
|
|
@@ -8,9 +14,5 @@ export declare function validateCheckpointCodexGoal(input: {
|
|
|
8
14
|
readonly raw: string | undefined;
|
|
9
15
|
readonly evidence: string;
|
|
10
16
|
readonly scope?: UlwLoopScope;
|
|
11
|
-
}): Promise<
|
|
12
|
-
readonly raw: unknown;
|
|
13
|
-
readonly nextActions: readonly string[];
|
|
14
|
-
readonly warnings: readonly string[];
|
|
15
|
-
}>;
|
|
17
|
+
}): Promise<CheckpointCodexGoalValidation>;
|
|
16
18
|
export declare function combineCheckpointValidationErrors(codexError: UlwLoopError, gateError: UlwLoopError): UlwLoopError;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CodexGoalSnapshotError, formatCodexGoalReconciliation, readCodexGoalSnapshotInput, reconcileCodexGoalSnapshot, } from "./codex-goal-snapshot.js";
|
|
2
|
+
import { acknowledgedDriverObjectives } from "./driver-objective-ack.js";
|
|
2
3
|
import { codexGoalMode, compatibleCodexObjectives, expectedCodexObjective } from "./goal-status.js";
|
|
3
4
|
import { UlwLoopError } from "./types.js";
|
|
4
5
|
export async function validateCheckpointCodexGoal(input) {
|
|
@@ -6,6 +7,7 @@ export async function validateCheckpointCodexGoal(input) {
|
|
|
6
7
|
const expected = expectedCodexObjective(input.plan, input.goal);
|
|
7
8
|
const reconciliation = reconcileCodexGoalSnapshot(snapshot, {
|
|
8
9
|
expectedObjective: expected,
|
|
10
|
+
acknowledgedObjectives: acknowledgedDriverObjectives(input.plan),
|
|
9
11
|
...(codexGoalMode(input.plan) === "aggregate"
|
|
10
12
|
? { acceptedObjectives: compatibleCodexObjectives(input.plan) }
|
|
11
13
|
: {}),
|
|
@@ -14,8 +16,11 @@ export async function validateCheckpointCodexGoal(input) {
|
|
|
14
16
|
throw new CodexGoalSnapshotError(formatCodexGoalReconciliation(reconciliation));
|
|
15
17
|
return {
|
|
16
18
|
raw: snapshot?.raw,
|
|
17
|
-
nextActions: reconciliation.
|
|
18
|
-
warnings: reconciliation.warnings
|
|
19
|
+
nextActions: reconciliation.nextActions,
|
|
20
|
+
warnings: reconciliation.warnings,
|
|
21
|
+
...(reconciliation.unacknowledgedObjective === undefined
|
|
22
|
+
? {}
|
|
23
|
+
: { unacknowledgedObjective: reconciliation.unacknowledgedObjective }),
|
|
19
24
|
};
|
|
20
25
|
}
|
|
21
26
|
export function combineCheckpointValidationErrors(codexError, gateError) {
|
|
@@ -3,6 +3,7 @@ import { existsSync, statSync } from "node:fs";
|
|
|
3
3
|
import { readFile } from "node:fs/promises";
|
|
4
4
|
import { resolve } from "node:path";
|
|
5
5
|
import { combineCheckpointValidationErrors, validateCheckpointCodexGoal, } from "./checkpoint-codex-validation.js";
|
|
6
|
+
import { acknowledgeDriverObjective } from "./driver-objective-ack.js";
|
|
6
7
|
import { requireAllCriteriaPass, requireAllPlanCriteriaPass, requireEssentialCriteriaPass } from "./evidence.js";
|
|
7
8
|
import { codexGoalMode, isFinalRunCompletionCandidate } from "./goal-status.js";
|
|
8
9
|
import { ulwLoopAttemptEvidenceDir } from "./paths.js";
|
|
@@ -139,6 +140,7 @@ export async function checkpointUlwLoop(repoRoot, args, scope, dependencies) {
|
|
|
139
140
|
codexGoal = validation.raw;
|
|
140
141
|
nextActions = validation.nextActions;
|
|
141
142
|
warnings = validation.warnings;
|
|
143
|
+
acknowledgeDriverObjective(plan, validation.unacknowledgedObjective);
|
|
142
144
|
}
|
|
143
145
|
catch (error) {
|
|
144
146
|
if (!(error instanceof UlwLoopError))
|