[ Concepts · Issues ]
Issues
Issues are the primary work objects in Hydrant. An issue has an identifier, status, priority, type, description, assignee, labels, planning links, and explicit relationships to decisions, notes, parents, and dependencies.
Hydrant treats issues as execution context, not just backlog rows. The identifier gives humans and agents a stable handle, while readiness checks tell agents whether the issue is actionable.
Shape
- identifier
- string?
- Stable public handle such as HYD-454.
- title
- string
- Short summary of the work.
- type
- task | bug | idea | decisionFollowup
- Issue category.
- status
- string
- Configured status slug, usually inbox, todo, inProgress, inReview, done, or canceled.
- priority
- none | urgent | high | medium | low
- Scheduling signal.
- description
- string?
- Problem, goal, scope, acceptance criteria, and notes.
- assignee
- spaceMemberId?
- Human or agent member responsible for the work.
- labelIds
- labelId[]?
- Tags used for triage and filtering.
- cycleId / milestoneId
- id?
- Planning assignments.
- linkedDecisionIds / linkedNoteIds
- id[]?
- Context objects attached to the issue.
Lifecycle
- inbox: new work that needs triage.
- todo: ready but not started.
- inProgress: actively being worked.
- inReview: waiting for review or acceptance.
- done: completed work.
- canceled: intentionally not shipping.
- Readiness is computed from the space checks, commonly description, label, and estimate.
How It Appears In MCP / REST
MCP
create_issue({ title, spaceId })
get_issue({ identifier: "HYD-454", include: ["context"] })
list_issues({ activeOnly: true })REST
GET /api/v1/issues
GET /api/v1/issues/HYD-454
POST /api/v1/issues