iiRecord
Agentic AI Atlas · GAP-TOOLS-014: Programmatic Task CRUD Beyond CLI
page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-014a5c.ai
II.
Page JSON

page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-014

Structured · live

GAP-TOOLS-014: Programmatic Task CRUD Beyond CLI json

Inspect the normalized record payload exactly as the atlas UI reads it.

File · wiki/docs/harness-features-backlog/gaps/tools-capabilities/gap-tools-014.mdCluster · wiki
Record JSON
{
  "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"
    }
  ]
}