Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@ Work profile lives in one sidebar footer row above Settings, showing the active

Settings is a full settings page, not a large modal. Separate appearance, instructions, source queries, the opt-in schedule, connection guidance and recovery. Appearance applies and saves immediately, independently of the work-settings form. Manual capture uses a small focused dialog and Command/Ctrl+K. Local edits stay available during collection and ranking.

Keep Task assessor and Task prioritizer as plainly labeled fieldsets in Settings, each with a name, model and instructions. Run now is the default split-button action; its dropdown contains Run assessor and Run prioritizer with brief role descriptions. Assessment ratings stay in the compact task-details definition list and history selector, not a dashboard or card grid.
Keep Task assessor and Task prioritizer as plainly labeled fieldsets in Settings, each with a name, model and instructions. Run now is the default split-button action; its dropdown contains Run assessor and Run prioritizer with brief role descriptions. Task notes precede a bounded Why this order area. Overview shows the ranking reason and compact rating/work-style pills; Assessment holds the latest judgments, rating-rationale disclosures and work-style corrections; History holds saved versions, pagination and provenance. Use keyboard-accessible tabs, not a dashboard or card grid.

Implementation assessor and PR reviewer use the same Settings fieldset language. Their actions live in task details and the selected-task toolbar beside compact progress/cancel/result/history controls. Show the service-owned PR conclusion and partial coverage even with no findings. Keep revision/configuration detail in a disclosure and code evidence behind explicit links. Results never displace editing, Done or navigation.

To do checkboxes are separate from row focus, rank and Done. Keep select/clear visible tasks and the selected count above the list; reveal eligible agent actions only with a selection. Whole-list prioritization stays outside this toolbar. Eligibility and per-task batch outcomes use compact disclosures, not another dashboard. Batch progress lives in the scrolling list pane, in task details on narrow windows, and near the top of scrolling Settings. Its frozen scope and Stop stay discoverable during navigation without consuming the available editing area.

Do not retain a second workspace or disabled placeholders for the retired Inbox, Filtered, Archive or Tasks destinations. Saved conversations and private thread notes appear alongside matching tasks.
Do not retain a second workspace or disabled placeholders for the retired Inbox, Filtered, Archive or Tasks destinations. Private thread notes remain in a collapsed disclosure alongside matching tasks. Saved conversations are preserved but no longer read or loaded in Task Details.

## Palette and type

Expand All @@ -45,7 +45,7 @@ Use monospace only for raw preserved records or other machine output. Display us

## Task details and conversations

Task details retain editable text, Done, priority reasons, evidence and notes. Matching saved thread notes remain separate from ranking notes. The conversation reader loads cached messages on selection and fetches only after an explicit action. Keep full Markdown messages readable; never execute HTML or automatically fetch remote images. Unsubscribe and historical operation retries require confirmation.
Task details retain editable text, Done, Open source, priority reasons, evidence and notes. Matching saved thread notes remain private and separate from ranking notes. PR reviewer/Implementation assessor and conversation notifications use disclosures below the evidence; code progress and failures stay discoverable and open automatically. Removing the conversation reader from this surface must not delete cached data or trigger cache reads/network calls on selection. Unsubscribe and historical operation retries still require confirmation. Markdown in code results remains untrusted: never execute HTML or automatically fetch remote images.

## Feedback and recovery

Expand Down
8 changes: 3 additions & 5 deletions PRODUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ GitHub task identity is the canonical issue/PR URL, regardless of action. Reposi

Each run applies results to the latest state so concurrent captures, notes and Done survive. Invalid rankings, source failures and save failures remain explicit. Preserve discoveries and the prior order when ranking fails. Missing query results do not prove completion.

Successful assessments are permanent versions on each task, including manual tasks, in its work profile. Save each assessed subset before ordering or assessing more tasks. Task details show the latest result, evidence, evaluation time and provenance, with earlier versions available in a compact selector. Flag changed task inputs or settings without expiring judgments. Done, restore, reconciliation, duplicate consolidation, profile switching and backups retain versions. Retries reuse immutable result IDs without duplicating history. Concurrent edits retain their text and leave the submitted assessment historical, not current. Old replaceable cache entries do not become invented history.
Successful assessments are permanent versions on each task, including manual tasks, in its work profile. Save each assessed subset before ordering or assessing more tasks. Task details put notes above Why this order: Overview shows the ranking reason and latest rating/work-style pills, Assessment shows the latest saved judgments and editable style assignments, and History shows earlier versions, pagination and provenance. Keep the tabbed area bounded and keyboard-accessible. Selecting a historical assessment must never replace the latest overview or assessment. Flag changed task inputs or settings without expiring judgments. Done, restore, reconciliation, duplicate consolidation, profile switching and backups retain versions. Retries reuse immutable result IDs without duplicating history. Concurrent edits retain their text and leave the submitted assessment historical, not current. Old replaceable cache entries do not become invented history.

Keep permanent assessment rows separately paged in the existing local SQLite database, outside the bounded task snapshot. Read versions by logical append order, not wall-clock timestamps. History growth or a failed history append must not exhaust snapshot capacity or block ordinary notes, Done and capture saves. Keep failed append results visible for explicit retry/export. Database backups and bounded JSON export include complete history and profile/task associations; restoring a database backup replaces state and history together, never mixes unrelated rows. Prior-workspace results remain separately exportable without blocking new runs. Each historical task ID belongs to exactly one task per profile, including after consolidation.

Expand All @@ -64,11 +64,9 @@ Saved thread notes stay private and editable beside matching ranked tasks. Prese

## Reading and external operations

The desktop reader shows real issue/PR descriptions, comments, reviews and inline discussions with stable reply grouping, author, time and source links. Markdown is untrusted: do not execute source HTML or automatically load external images/embeds. Keep long messages readable without clipping.
Task Details does not render a conversation reader, Load conversation or cache-discard controls. Selecting a task must not read or fetch cached conversations. Keep existing conversation data and cache infrastructure intact; removing this UI is not permission to delete data.

Selection reads only the separate local conversation cache. **Load conversation**, **Load older** and page reloads are explicit network actions. Keep bounded pagination, page freshness, inaccessible/partial results and missing reply context visible. Stable IDs deduplicate repeated pages and retain edits; discovered history never becomes new notification evidence.

Conversation bodies never enter the workspace snapshot, note saves or model requests. The independent cache is limited to 4 MiB per source (repository + type + number) and 64 MiB total. Full/corrupt caches offer explicit cache-only discard, preserving the old cache file and all notes/Tasks. No silent eviction or reset.
Saved thread notes remain in a separate private disclosure, never used for ranking. Code-agent actions and conversation notifications use disclosures; active code work and failures remain visible. Treat Markdown evidence as untrusted: never execute source HTML or automatically load external images.

Keep **Open source** visible in task details. Source links and conversation links open only after an explicit action. Private notes never enter external links.

Expand Down
Loading
Loading