> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Issues

> View, create, discuss, and resolve organizational issues with status counts, filtering, tabbed detail, and linked platform tasks.

The Issues screen is accessible at `/lo/issues` and provides a list of organizational issues with open/discussing/resolved status counts, filtering by status and priority, and a search field.

## Overview

The `IssuesPage` loads issues via `useIssues(organization?.id, filters)`. Status counters display open, discussing, and resolved counts. The `includeResolved` filter defaults to `false`, hiding resolved issues. Filters include status and priority selectors; a search input updates the `search` filter. Issues are rendered as `IssueCard` components. The `?action=new` query parameter (from keyboard shortcut Cmd/Ctrl+I on the dashboard) opens `IssueFormDialog` automatically. The "+" button also opens the dialog.

## Who it's for

Requires `LO_PERMISSIONS.DASHBOARD_VIEW` (`lo.dashboard.view`) via the shared `LOViewGuard`. Creating issues uses `lo.issues.create`; editing uses `lo.issues.edit`.

## Before you start

* `lo.dashboard.view` permission required.
* An active organization context with a valid `organization.id` is required.

## Steps

<Steps>
  <Step title="Navigate to Issues">Go to `/lo/issues`. The page loads open and discussing issues.</Step>
  <Step title="Review status counts">Open, Discussing, and Resolved counts are shown at the top.</Step>
  <Step title="Filter issues">Use the status and priority dropdowns or the search input to narrow results.</Step>
  <Step title="Show resolved issues">Enable the include-resolved toggle (when present in filters) to see resolved issues.</Step>
  <Step title="Open an issue">Select an `IssueCard` to navigate to `/lo/issues/:issueId` for full detail.</Step>
  <Step title="Create an issue">Select "+" or navigate to `/lo/issues?action=new` to open `IssueFormDialog`.</Step>
</Steps>

## Key concepts

* **Issue statuses**: `open`, `discussing`, `resolved`.
* **Priority values**: `low`, `medium`, `high`.
* **`?action=new`**: query parameter that auto-opens the create dialog (cleared after use).

## Viewing an issue

The Issue Details screen is accessible at `/lo/issues/:issueId` and provides tabbed management of an issue's details, discussion thread, resolution, and linked platform tasks.

The `IssueDetailPage` reads `:issueId` from URL params and fetches the issue via `useIssue`. The page shows the issue title, a `IssuePriorityBadge`, an `IssueStatusBadge`, the assigned owner avatar and name, and the creation date. Four tabs — **Details**, **Discuss**, **Resolve**, and **Tasks** — are URL-synced via `useTabUrlState`. `IssueDiscussionThread` provides a comment thread, `IssueResolutionForm` captures resolution details, and `SourceTasksPanel` shows linked platform tasks. The Tasks tab badge shows a task count. Edit and Delete buttons are in the header; deletion uses `AlertDialog` confirmation.

Permissions: `lo.dashboard.view` required; editing requires `lo.issues.edit`. The issue identified by `:issueId` must exist.

1. Open an issue: navigate to `/lo/issues/:issueId` or select an issue from the Issues list.
2. Review details: on the Details tab, read the issue title, priority, status, owner, and creation date.
3. Discuss: switch to the Discuss tab to read and add comments in `IssueDiscussionThread`.
4. Resolve the issue: switch to the Resolve tab and complete `IssueResolutionForm` to capture resolution details.
5. View linked tasks: switch to the Tasks tab to see platform tasks linked to this issue.
6. Edit the issue: select Edit to open `IssueFormDialog` with current values pre-filled.
7. Delete the issue: select Delete and confirm in the `AlertDialog` to remove the issue.

**Key concepts:**

* **Issue statuses**: `open`, `discussing`, `resolved`.
* **Tab URL sync**: active tab (`details`, `discuss`, `resolve`, `tasks`) is stored in the URL.
* **IssueResolutionForm**: captures resolution information when closing an issue.

## Creating an issue

The path `/lo/issues/new` is not defined in `src/routes/lo.tsx` and is not a standalone screen. New issues are created via the `IssueFormDialog` modal, opened from the `/lo/issues` list page using the "+" button or the `?action=new` query parameter (triggered by the keyboard shortcut Cmd/Ctrl+I on the dashboard). The `:issueId` route would match `/lo/issues/new` with `new` as the ID, rendering an empty or not-found state.

To create an issue: go to `/lo/issues` and select "+" (or use Cmd/Ctrl+I from the dashboard) to open `IssueFormDialog`.

## Related

<Columns cols={2}>
  <Card title="Leadership" icon="compass" href="/lo/overview">
    Leadership core overview.
  </Card>

  <Card title="Governance & parity" icon="scale-balanced" href="/governance/index">
    Documentation coverage and governance.
  </Card>
</Columns>

<Note>
  This page documents shipped product behavior. It is not medical, legal, or
  billing advice. Verify against your organization's policies and applicable
  regulations before using it for clinical, compliance, or billing decisions.
  Protected health information (PHI) shown in the product is governed by your
  tenant's access controls and is never exposed in this documentation.
</Note>

<Accordion title="Documentation sources">
  * src/routes/lo.tsx
  * src/cores/lo/pages/IssuesPage.tsx
  * src/cores/lo/pages/IssueDetailPage.tsx
  * src/cores/lo/hooks/useIssues.ts
</Accordion>
