Bug reports

A bug report is a projectdocs entry of type bugreport. Report and fix live in the same file: the symptom and the cause at the top, one Fix (date) section per fix below. The lifecycle status is a reserved tag in the frontmatter.

flowchart LR
    O["open"] --> P["in-progress"] --> C["closed"]

Feature requests and tickets have the same status bar. Feature requests end in finished instead of closed.

Record a bug

  1. In the dashboard toolbar, click Create a new entry in a phase.
  2. Choose the phase and the type bugreport.
  3. Enter a title that names the symptom, for example "Tile cache not invalidated when a new model run is ingested".
  4. Click Create.
  5. Click Edit body in place and describe the symptom, the steps to reproduce and, once known, the cause. Save.
  6. Anchor the symbols involved.

The new entry has the status open.

Change the status

In the entry view, the row Bug status: shows Open, In Progress and Closed. Click a status to set it.

In a phase list, right-click the entry and choose the status under Set Status.

Record the fix

  1. Open the bug report.
  2. In the Bug status: row, click Append Fix Note.
  3. Keep or change the Heading. The default is Fix (<today>).
  4. Under Fix description (markdown), describe what changed, where and why.
  5. Leave Mark bugreport as closed after appending on to close the bug in the same step.
  6. Click Append.

The section is appended to the end of the file. The frontmatter stays as it was.

After committing the fix, add the commit as a commit anchor, so the entry leads to its diff.

How bug reports set the phase status

A phase with the status completed that contains a bug report with the status open or in-progress changes to open-issues. When the last of these bug reports is closed, the phase returns to completed. Phases with the status planned, in-progress or verified are not changed.

The masterplan and the sidebar therefore show finished phases with open bugs without manual upkeep.

Find open bugs

  • Todo in the sidebar lists all entries with the status open.
  • The search §open or §in-progress finds bug reports by status, #ui §open combines tag and status.
  • In a phase, the status chips filter the list.