Requirements
Requirements describe product behavior. In Tiden, they are structured enough for traceability and agent workflows, but still editable as Markdown.
Fields
| Field | Purpose |
|---|---|
| Title | Short requirement name |
| Content | Markdown body |
| Type | Requirement category used for filtering |
| Status | Backlog, Active, Review, or Done |
| Priority | Not set, Low, Medium, High, or Critical |
| Parent | Optional parent requirement for hierarchy |
| Component | Product area used for grouping and risk |
| Assignee | Optional user responsible for the requirement |
| Sources | Structured provenance attached to the requirement |
Requirement tree
Requirements can be nested. The left tree supports filtering by requirement type, compact mode, branch status indicators, and direct selection by URL.
Sources
Sources preserve where a requirement came from. A source can reference:
- Repository files.
- Documentation URLs.
- Manual input.
- Attachments.
- Agent artifacts.
- Other evidence.
When using the CLI, pass a JSON file with --sources-file. The file may be
either an array or an object with a sources array.
{
"sources": [
{
"sourceType": "documentation_url",
"title": "Checkout spec",
"url": "https://example.com/specs/checkout"
}
]
}
Updating a requirement with --sources-file replaces the full source set.
Passing an empty array clears sources.
Attachments
Attachments can be added to requirements from the web UI. Use attachments for supporting files that should stay with the requirement.
History and restore
Requirement history lets you inspect past changes. Deleted requirements can be restored through the web UI when restore is available for that item.
Branch behavior
On main, edits update the canonical requirement. On a non-main branch, editing
a main requirement creates a branch copy. New branch requirements stay branch
local until merge.