sinra

Issues

Issues are the fundamental unit of work in Sinra. Every specification, plan, task, and bug is an issue. Learn how they work, what fields they carry, and how each type carries a single status that matches its nature.

What is an Issue?

An issue represents a concrete piece of work: a bug to fix, a task to build, a specification to write. Every deliverable in Sinra traces back to an issue.

Unlike traditional “user story” formats with rigid structure, Sinra issues use direct, descriptive names. “CSV export for reports” is more useful than “As a user, I want to export reports so that I can analyze data.”

Issue Types

TypeWhen to useStatus it carries
SpecificationSays what must be verified: the requirement, written downWriting status
PlanOptional. Says how the specification will be builtWriting status
TaskA unit of implementation workDevelopment status
BugA defect to fixDevelopment status

The type is chosen when the issue is created, from the New menu, and it cannot be changed afterwards. The global New button creates a bug.

Specifications, plans, tasks and bugs all follow the same planning rules: they can sit in a capability, a release and a cycle. What differs is the status they carry, how they count in capacity, and which links they accept. The traceability page explains how they connect.

Core Fields

  • Name: concise, descriptive title
  • Body: rich text with images and @mentions
  • Priority: Low, Medium, High
  • Estimated time: in days, feeds capacity calculations
  • Labels: custom tags per organization
  • Platform: Backend, Frontend, Mobile, etc.

Assignment

Issues can be assigned to a specific user or to an entire team. When assigned to a team, any team member can pick it up.

One Status per Type

An issue carries exactly one status, the one that matches its nature:

TypeStatusWhy
Specification, planWriting statusThey are written, reviewed and approved
Task, bugDevelopment statusThey are implemented, tested and closed

The form, the issue page and the lists only show the status that applies. A new issue starts at the initial status of its type.

Realization

A specification or a plan never has a development status of its own. Instead, its realization is calculated from its tasks and shown next to its writing status:

RealizationWhen
Not startedNo task yet, or every task is still to do
In progressAt least one task has started, but not all are done
DoneAt least one task, and all of them are done

The realization comes with the count of tasks done out of the total (for example 2/5). A specification counts all its tasks, those attached directly and those under its plans. You never type the realization: it follows the tasks.

“Done” for a specification is therefore two separate questions: is it written (writing status) and is it built (realization). A cycle counts the first one.

A plan or a task can say which issue it carries out, through its Parent issue:

  • A plan has a specification as parent.
  • A task has a plan or a specification as parent.
  • A specification and a bug have no parent.

The parent is always optional, and parent and child are always in the same capability. Choosing a parent attaches the issue to the parent’s capability. If a parent moves to another capability, its children follow.

The issue page shows the chain as a tree: the ancestors, the issue, then its plans and tasks, each with type, name, status and realization. A specification page shows how many tasks are done out of the total, and an Add a plan or Add a task action opens the creation form with the parent and the capability already filled in.

Deleting in a Chain

Deleting never leaves an orphan:

  • Deleting a plan that has a specification as parent: its tasks move up and attach to the specification.
  • Deleting an issue whose children have nowhere to go (a specification with plans or tasks, a plan without parent that has tasks) is refused. The message gives the number of attached issues. Move or delete them first.

Release and Wished Release

An issue in a capability always has the release, and the wished release, of that capability. Both fields are read-only on the form and show where the value comes from (“Inherited from” the capability). An issue without a capability chooses its release freely. See Releases for the full rule.

A bug found after delivery cannot enter the capability it comes from: it would take a release already shipped. An issue without a capability can instead declare the capability it Concerns. This link is informative only: it changes neither the release of the issue nor any progress, load or capacity figure. It disappears as soon as the issue is attached to a capability.

Time Tracking

Log time spent directly on an issue. Sinra compares spent time against the estimate, surfacing overruns before they become surprises. These numbers feed the cycle workload calculation. The time is saved as soon as you leave the field (Enter, Tab or a click elsewhere) and a short confirmation appears. A negative value is refused with a message, and what you typed stays in the field.

Your Role on an Issue

A person can be linked to an issue in four ways: assigned to it, assigned through their team, its creator, or its tester. “My issues” shows the first one by default and lets you pick another.

Choosing a Capability from a Past Release

The capability selector of an issue offers every capability, including those of a past release, which come last and carry a “Past release: v0.9” mark. Choosing one makes the issue follow that release, as for any capability.

Duplicate Warning

When you create an issue, typing a title of at least 8 characters looks for open issues with a close title, whatever the word order (“Follow-up badge company” finds “Company badge: follow-up”). A warning links to up to three of them, each in a new tab. It never blocks anything: you can still create the issue.

Comments and Mentions

Each issue has a threaded comment section with rich text and @mentions. Mentioning a user triggers an email notification with full context. Discussion stays attached to the work, not lost in Slack.

Mentions land in your notification center: the counter in the top bar, a link that opens the exact comment, and a Waiting for a reply box to follow questions until they are answered.

The Publish button posts the comment; an empty comment, or one with only spaces, is refused with a message (an @mention alone counts as content). In the @ menu, press Enter or Tab to insert the highlighted person without losing what you typed; deactivated members are not offered. Long comments wrap instead of being cut off.

The type of an issue is set at creation. When you edit an issue, it is shown read-only.

Created from an Action

An issue can be created from an action of a retrospective or a postmortem (Convert to issue). The form arrives pre-filled and fully editable: title, a link back to the origin, type (a task from a retro, a bug from a postmortem), assignee, release and cycle. The issue page then shows “Created from the action … of …” with a link, or “origin deleted” if the retro or postmortem no longer exists.

From then on the action follows the issue: done when the issue is finished, abandoned when it is deactivated, back to in progress when it is reopened. Deleting the issue gives the action its previous status back and removes the link. An action converts into one issue only: converting it again creates the issue without a link and tells you so.