[ Concepts · Dependencies ]

Dependencies

Dependencies are first-class graph edges. Hydrant stores blocking and related relationships as data, not prose, so agents can ask the graph what work is blocked, what it blocks, and what is merely related.

Dependency prose rots. A typed edge can drive preflight, planning, and agent routing without asking a model to infer project state from a paragraph.

Shape

fromIssueId
issueId
Source issue for issue dependencies.
toIssueId
issueId
Target issue for issue dependencies.
fromKind / toKind
issue | milestone
Entity kinds for milestone dependency edges.
fromId / toId
string
Entity ids for milestone dependency edges.
type
blocks | relatesTo
Relationship kind. blockedBy is the inverse view of blocks.

Variants

  • blockedBy: this item cannot proceed until another item moves first.
  • blocks: this item is upstream of another item.
  • relatesTo: this item is connected but does not block sequencing.
  • Set dependencies by replacing the full desired state, not by maintaining lists in issue descriptions.

How It Appears In MCP / REST

MCP
set_dependencies({
  issueId,
  blockedBy: [upstreamIssueId],
  blocks: [downstreamIssueId],
  relatesTo: [relatedIssueId]
})
REST
POST /api/v1/issues/HYD-454/dependencies
{
  "blockedBy": [],
  "blocks": ["HYD-456"],
  "relatesTo": []
}

Related Concepts