Build nodes are the individual work items inside a build graph. Each node represents a discrete piece of implementation work with a name, description, risk rating, and an AI-generated spec. Nodes start in aDocumentation Index
Fetch the complete documentation index at: https://docs.manticscore.com/llms.txt
Use this file to discover all available pages before exploring further.
collapsed state and can be expanded into children on demand. You can assess the risk and effort of any node, update its status as you work through it, and kick off a Forge run to produce a pull request directly from the node’s spec.
Node shape
Every endpoint that returns node data uses this structure. Nestedchildren contain nodes of the same shape.
UUID of the node.
UUID of the containing build graph.
UUID of the parent node, or
null for root nodes.Dot-notation path describing the node’s position in the hierarchy, e.g.
"auth.oauth".Zero-indexed depth in the tree. Root nodes have
depth: 0.Relative order among siblings. Lower values appear first.
"green", "yellow", or "red" — AI-assessed implementation risk at creation time.Lifecycle state of the node:
"collapsed"— has not been expanded yet"expanding"— expansion is in progress"expanded"— children have been generated"leaf"— terminal node, cannot be expanded further"implementing"— a Forge run is in progress for this node
"pending", "in_progress", "done", or "skipped" — your manually tracked progress.AI-assessed confidence after a risk assessment:
"low", "medium", or "high". null until assessed.AI-assessed effort after a risk assessment:
"small", "medium", "large", or "very_large". null until assessed.Open questions or ambiguities the AI identified during risk assessment.
Detailed implementation spec, populated when the node is expanded.
POST /build-nodes//expand
Expand acollapsed node into children. The expansion runs as a background task — listen to GET /build-graphs/{graph_id}/events to receive expand_start and expand_done events.
200 response
| Status | Cause |
|---|---|
403 | The build graph does not belong to your account |
409 | The node is already expanded, expanding, or is a leaf and cannot be expanded |
Auto-suggested Forge cards on expand. When expansion completes, the server scans the new leaf children and posts a Subscribe on the
card.forge_ready event to the project’s most recent chat session for each child where risk is green or low, effort is small, and confidence ≥ 0.7. At most 3 cards are posted per expansion to bound fan-out. Each card carries the suggested repository, branch, and a 300-character preview of the node’s emitted_prompt, plus a Ship it action that pre-fills start_implementation with the node’s spec. Cards are skipped silently when there is no GitHub connection, no default repository, no chat session, or an existing Forge run already covers the node.Card payload shape:chat channel for the project’s active session to receive these cards. iOS clients must ignore unknown event types so older builds remain forward-compatible.POST /build-nodes//re-expand
Re-run expansion for a node that was previously expanded. The old children are archived and a new revision is generated. Use this when you want a fresh decomposition of a node after updating your idea or constraints.200 response
The new revision number. Starts at 2 for the first re-expansion.
How many children were archived from the previous revision. Use this to verify the diff via
GET /build-nodes/{node_id}/diff.POST /build-nodes//assess
Run a synchronous LLM risk assessment on a node. This populates theconfidence, effort, and unknowns fields on the node row and returns the results immediately.
200 response
"low", "medium", or "high" — how confident the AI is in its implementation estimate."small", "medium", or "large" — AI-estimated implementation effort.Open questions and ambiguities that could affect the estimate.
PATCH /build-nodes/
Update a node’s tracking status, display order, name, or description. All fields are optional.Your tracking status for this node. One of
"pending", "in_progress", "done", or "skipped".Position among siblings. Lower values appear first.
Override the node name. Maximum 500 characters.
Override the node description. Maximum 5,000 characters.
GET /build-nodes//diff
Compare the current expansion revision to the previous one. Useful after a re-expand to see what changed.200 response (diff available)
200 response (no previous revision)
true when a previous revision exists to compare against.Nodes present in the current revision but not the previous one.
Nodes present in the previous revision but not the current one.
Nodes that exist in both revisions but have field-level differences.
Count of nodes identical across both revisions.
Human-readable diff summary.
POST /build-nodes/suggest-prerequisites
Given a node, ask the AI to suggest prerequisite work items that should be completed before tackling this node. Useful for identifying infrastructure, data model changes, or security work that gates the node.UUID of the node for which to generate prerequisite suggestions.
200 response
POST /build-nodes//implement
Kick off a Forge run that produces a pull request from this node’semitted_prompt. The node transitions to implementing status immediately. If you supply notes, ManticScore first refines the prompt using your guidance before handing off to Forge.
Target GitHub repository in
owner/name format. You must have push access to this repository.Branch to base the implementation on. Defaults to the repository’s default branch when
null.Optional guidance that Forge uses to refine the node’s emitted prompt before coding begins. Use this to steer the implementation without editing the node spec directly.
How Forge should handle the task:
"create_pr"— generate code and open a PR automatically"autonomous"— generate code and pause for your approval before creating the PR"generate_patch"— produce code edits without creating a PR"analyze_only"— produce a plan without writing any code
200 response
POST /build-nodes//ticket
Create a tracked issue in Linear or Jira from this node. ManticScore automatically maps the node’s effort assessment to a priority and uses your saved integration defaults for team, project, and assignee.Issue tracker to create the ticket in. Either
"linear" or "jira".Linear team ID. Falls back to your saved Linear default when omitted.
Jira project key. Falls back to your saved Jira default when omitted.
Explicit numeric priority override. When
null, ManticScore maps the node’s effort assessment to an appropriate priority automatically.200 response
POST /build-nodes//doc
Export this node to Notion as a structured page containing the objective, acceptance criteria, test checklist, and implementation prompt.Export destination. Currently only
"notion" is supported.Notion page or database ID to create the new page under. Uses your saved Notion default when
null.200 response