feat(task-system): add experimental task system with Claude Code spec alignment (#1415)
* feat(hooks): add tasks-todowrite-disabler hook to block TodoRead/TodoWrite Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * feat(task-tools): add parallel execution guidance to descriptions Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * refactor(index): migrate task system to experimental.task_system flag Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * docs: update AGENTS.md for experimental task system Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * fix(task-tests): align test field names with Claude Code spec (subject, blockedBy, addBlockedBy) * fix: address Cubic review feedback Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai> * fix: add optional chaining for tasksTodowriteDisabler null check --------- Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
@@ -23,14 +23,18 @@ export function createTaskUpdateTool(
|
||||
config: Partial<OhMyOpenCodeConfig>,
|
||||
ctx?: PluginInput,
|
||||
): ToolDefinition {
|
||||
return tool({
|
||||
description: `Update an existing task with new values.
|
||||
return tool({
|
||||
description: `Update an existing task with new values.
|
||||
|
||||
Supports updating: subject, description, status, activeForm, owner, metadata.
|
||||
For blocks/blockedBy: use addBlocks/addBlockedBy to append (additive, not replacement).
|
||||
For metadata: merge with existing, set key to null to delete.
|
||||
Syncs to OpenCode Todo API after update.`,
|
||||
args: {
|
||||
Syncs to OpenCode Todo API after update.
|
||||
|
||||
**IMPORTANT - Dependency Management:**
|
||||
Use \`addBlockedBy\` to declare dependencies on other tasks.
|
||||
Properly managed dependencies enable maximum parallel execution.`,
|
||||
args: {
|
||||
id: tool.schema.string().describe("Task ID (required)"),
|
||||
subject: tool.schema.string().optional().describe("Task subject"),
|
||||
description: tool.schema.string().optional().describe("Task description"),
|
||||
|
||||
Reference in New Issue
Block a user