Issues
Issues are the core unit of work in Gnoll. Everything you track — tasks, bugs, features, epics, and decisions — is an issue.
Issue Types
| Type | Use For |
task | General work items, to-dos, action items |
bug | Defects, regressions, things that need fixing |
story | User-facing features described from the user's perspective |
epic | Large initiatives that contain child issues |
decision | Decision records — track context, outcome, and consequences |
Statuses
Issues move through these built-in statuses:
| Status | Meaning |
open | Ready to be worked on (or waiting for prioritization) |
in_progress | Actively being worked on |
closed | Complete or resolved |
You can also define custom statuses in Settings to match your team's workflow (e.g., "In Review", "QA", "Deployed").
Priority Levels
| Value | Level | Description |
0 | None | No priority set |
1 | Low | Nice to have, do when possible |
2 | Medium | Should be done soon |
3 | High | Important, address promptly |
4 | Urgent | Drop everything and fix |
Creating Issues
From the All Issues page, click + New Issue. Required fields:
- Title — Brief description of the work
- Type — Select from the dropdown
Optional fields:
- Body — Detailed description or spec
- Priority — 0-4 integer
- Assignee — Who's responsible
- Parent ID — Nest under an epic or other issue
- Due Date — When it needs to be done
- Labels — Categorize with tags
- Estimated Minutes — Time estimate for the work (displayed as hours/minutes)
- Acceptance Criteria — Definition of done for this issue
Issue Detail View
Click any issue to see its full detail page. From here you can:
- Edit the title, body, status, priority, and assignee
- Add and remove labels
- Manage dependencies (what this issue blocks / is blocked by)
- Add comments for discussion
- View the activity history with field-level diffs
- Attach external references (GitHub PRs, URLs)
- Move the issue to another project
- Close or reopen the issue
Epics & Child Issues
Epics are issues that contain other issues. Set an issue's parentId to an epic to nest it. The epic's detail view shows a completion bar based on how many children are closed.
Decision Records
Decision-type issues include extra fields for structured decision tracking:
- Decision Status — proposed, accepted, deprecated, superseded
- Context — Why this decision is being made
- Outcome — What was decided
- Consequences — Downstream impact
- Superseded By — Link to the decision that replaces this one
Due Dates & Deferred Issues
Set a due date on any issue to track deadlines. Issues are flagged as:
- Overdue — Past the due date and still open
- Due Today — Due within the current day
- Due Soon — Due within 3 days
Deferring an issue hides it from the Ready queue until a specified date. Useful for "not yet" work that you don't want cluttering your backlog.
Estimated Time & Acceptance Criteria
Two optional fields help with planning and quality:
- Estimated Minutes — Set a time estimate for the work. Displayed as hours and minutes (e.g., 90 minutes shows as "1h 30m"). Useful for sprint planning and workload estimation.
- Acceptance Criteria — Define what "done" looks like. Shown as a separate card on the issue detail page. Use this to capture specific requirements that must be met before closing.
Filtering & Sorting
The All Issues page supports filtering by:
- Status (open, in_progress, closed)
- Type (task, bug, story, epic, decision)
- Priority (0-4)
- Due date range
Sort by: created date, updated date, priority, or due date.