iiRecord
Agentic AI Atlas · GAP-TOOLS-029: Structured Output Tool
page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-029a5c.ai
II.
Page overview

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

Reference · live

GAP-TOOLS-029: Structured Output Tool overview

Inspect the raw attributes, linked wiki pages, and inbound or outbound graph edges for page:docs-harness-features-backlog-gaps-tools-capabilities-gap-tools-029.

PageOutgoing · 0Incoming · 1

Attributes

nodeKind
Page
sourcePath
docs/harness-features-backlog/gaps/tools-capabilities/GAP-TOOLS-029.md
sourceKind
repo-docs
title
GAP-TOOLS-029: Structured Output Tool
displayName
GAP-TOOLS-029: Structured Output Tool
slug
docs/harness-features-backlog/gaps/tools-capabilities/gap-tools-029
articlePath
wiki/docs/harness-features-backlog/gaps/tools-capabilities/GAP-TOOLS-029.md
article
# GAP-TOOLS-029: Structured Output Tool | Field | Value | |-------|-------| | Category | tools-capabilities | | Priority | Medium | | Effort | M | | Status | Missing | ## Description Produce structured output blocks (images, code blocks, downloadable files, tables, diagrams) from within orchestrated tasks. CC's `SyntheticOutputTool` creates rich output that appears in the conversation UI. ## Current State Task results are stored as JSON in `result.json`. Large outputs go to blobs (`BLOB_THRESHOLD_BYTES: 1 MiB`). But there's no concept of typed output blocks -- everything is unstructured text or JSON. No embedded SDK dashboard exists yet; `task:show` renders all results the same way. ## Target State A structured output system where effects can produce typed output blocks: - `code`: syntax-highlighted code blocks with language tag - `image`: base64 or file-referenced images (diagrams, screenshots) - `table`: structured tabular data - `diff`: unified diff output - `file`: downloadable file artifacts - `markdown`: rendered markdown Output blocks stored in task result as `{ blocks: [{ type, content, metadata }] }`. Embedded SDK dashboard and `task:show` render each block type appropriately. ## Dependencies - [GAP-UX-001b](../user-experience/GAP-UX-001b.md) -- diff rendering for diff blocks - [GAP-UX-001d](../user-experience/GAP-UX-001d.md) -- type-specific rendering ## Key Files | Component | Path | |-----------|------| | Task serializer | `packages/sdk/src/tasks/serializer.ts` | | Agentic tools | `packages/sdk/src/harness/agenticTools.ts` | ## Recommendation Phase 3 (M5). Define output block schema in task types. Add rendering support in embedded SDK dashboard. Most impactful for code-generation tasks where seeing diffs and code blocks is critical.
documents
[]

Outgoing edges

None.

Incoming edges

contains_page1