II.
Page JSON
Structured · livepage:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-014
GAP-TOOLS-014: Programmatic Task CRUD Beyond CLI json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-014",
"_kind": "Page",
"_file": "wiki/docs/harness-features-backlog/gaps/tools-capabilities/gap-tools-014.md",
"_cluster": "wiki",
"attributes": {
"nodeKind": "Page",
"sourcePath": "docs/harness-features-backlog/gaps/tools-capabilities/GAP-TOOLS-014.md",
"sourceKind": "repo-docs",
"title": "GAP-TOOLS-014: Programmatic Task CRUD Beyond CLI",
"displayName": "GAP-TOOLS-014: Programmatic Task CRUD Beyond CLI",
"slug": "docs/harness-features-backlog/gaps/tools-capabilities/gap-tools-014",
"articlePath": "wiki/docs/harness-features-backlog/gaps/tools-capabilities/GAP-TOOLS-014.md",
"article": "\n# GAP-TOOLS-014: Programmatic Task CRUD Beyond CLI\n\n| Field | Value |\n|-------|-------|\n| Category | tools-capabilities |\n| Priority | High |\n| Effort | M |\n| Status | Partial |\n\n## Description\nExpose full task lifecycle management (create, read, update, delete, query) as a programmatic API surface beyond the CLI commands. Process definitions and external integrations need to manipulate tasks without shelling out to `babysitter task:*` commands.\n\n## Current State\nTask management is available via CLI commands (`task:post`, `task:list`, `task:show`) and internally via the SDK's task module (`defineTask`, serializer, registry, batching). However, there is no unified programmatic API for external consumers. The MCP server exposes some task operations but not full CRUD. The JSON interaction gaps (GAP-JSON-001, GAP-JSON-002) cover API surface but not task-specific CRUD.\n\n## Target State\nA `TaskManager` API class exposing: create task from definition, query tasks by status/kind/labels, update task metadata, cancel pending tasks, bulk operations on task sets. Available as both SDK export and MCP tool surface. Consistent with the JSON effect dispatch protocol.\n\n## Dependencies\n- [GAP-JSON-001](../json-interaction/GAP-JSON-001.md) -- JSON API for programmatic access\n- [GAP-JSON-002](../json-interaction/GAP-JSON-002.md) -- effect dispatch protocol for task creation\n\n## Key Files\n| Component | Path |\n|-----------|------|\n| Task definitions | `packages/sdk/src/tasks/` |\n| Task serializer | `packages/sdk/src/tasks/serializer.ts` |\n| Task registry | `packages/sdk/src/tasks/registry.ts` |\n| MCP server | `packages/sdk/src/mcp/` |\n| CLI task commands | `packages/sdk/src/cli/` |\n\n## Recommendation\nPhase 2 implementation. Extract a `TaskManager` class from the existing task module internals. Expose via SDK public API and MCP tool surface. Align with JSON API conventions from GAP-JSON-001.\n",
"documents": []
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "page:docs-harness-features-backlog",
"to": "page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-014",
"kind": "contains_page"
}
]
}