You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AI.md
+33-4Lines changed: 33 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -145,7 +145,7 @@ The core domain in `packages/core/src/domain/` covers the entities the plan call
145
145
-`blocks` is stored once as a directional edge; `blocked by` is derived
146
146
-`relatesTo` is canonicalized so each pair is stored once regardless of which item initiated it
147
147
- planning dates use `YYYY-MM-DD` and never round-trip through UTC midnight
148
-
- reminders store UTC `remindAt` plus IANA `timeZone`; changing display TZ never mutates the instant
148
+
- reminders store UTC `remindAt` plus IANA `timeZone`; changing display TZ never mutates the instant, and agenda-style date-only displays must derive the visible day through `dateOnlyFromTimestamp(remindAt, timeZone)` rather than slicing the UTC string
149
149
- checklist entries are not hidden work items; convert-to-subtask is one atomic validated command
150
150
- archive preserves identity and references; trash is canonical project data; permanent deletion is explicit
151
151
- custom-field values are stored on `WorkItem.customFields` as typed values keyed by custom field ID; inapplicable values must be hidden in UI surfaces, not deleted, so type changes do not lose data
@@ -154,7 +154,7 @@ The core domain in `packages/core/src/domain/` covers the entities the plan call
- explicit delete/remove confirmation for saved projects
@@ -163,7 +163,9 @@ The core domain in `packages/core/src/domain/` covers the entities the plan call
163
163
- desktop folder scan/open flow for existing `.pm-suite` saves
164
164
- PWA/browser folder picker for creating and reopening local-folder projects when File System Access is available
165
165
- automatic last-project restore after reload via persisted active-session metadata
166
-
- per-project view tabs across board, backlog, table, roadmap, calendar, docs, bug triage, my work, search, trash, and saved planning views; `AppShell` reads saved board/backlog/table/bug/my-work views from the active bundle and keeps them separate from hidden built-in route preferences
166
+
- an explicit `/projects` launcher route; `/` redirects an already-open/restored project to `/overview` so the real app root honors the in-project overview default without removing the launcher
167
+
- per-project view tabs across overview, board, backlog, table, roadmap, calendar, docs, bug triage, my work, search, trash, and saved planning views; `AppShell` reads saved board/backlog/table/bug/my-work views from the active bundle and keeps them separate from hidden built-in route preferences
168
+
-`/overview` is now the default in-project landing route; `OverviewView` derives health summaries from the active bundle, including active work, milestone progress, blocking relationships, future-only upcoming dates/reminders, triage-lane bug intake, recent activity, and the current storage trust/save state without adding new persisted overview state
167
169
-`ProjectRouter` keeps `/board` pinned to `projectSettings.defaultViewId` when that view is a board, even if saved board views have earlier ordering, and only mounts the work-item modal overlay route while the current path is `/item/:itemId`
168
170
- saved board/backlog/table views keep multi-value filter arrays intact when hydrated into the current single-select toolbar controls; selecting a concrete value intentionally narrows that one dimension, while untouched imported/command-created multi-value filters remain multi-value on update
169
171
- create-item entry points now carry view context through `CreateItemPrefill` in `palette-bus.ts`; the shared dialog can receive and expose `typeId`, `statusId`, `priorityId`, and `assigneeId`, so board, bug triage, and my-work creates no longer drop the context that made the user click that surface's action in the first place
@@ -177,6 +179,7 @@ The core domain in `packages/core/src/domain/` covers the entities the plan call
177
179
- custom fields in item detail live in `CustomFieldsPanel.tsx` and route through `item.update` with `patch.customFields`; optional empty values are removed from the item map, required empty values stay blocked with inline validation, and the panel only shows fields applicable to the item's current type
178
180
- table view now adds read-only columns for active custom fields, showing `None` for empty applicable values and `Not applicable` where a field does not apply to a row's item type
179
181
- table view now supports shared saved-view filters, base-column visibility toggles, persisted visible-column and column-order settings, and command-backed inline edits for status, priority, assignee, milestone, and due date
182
+
- table view now supports row selection plus bulk status, priority, and assignee edits; selection intentionally survives local filter changes, bulk apply dispatches one validated `item.update` per selected live item rather than only visible rows, and the toolbar labels hidden selections as `N selected (M visible)`
180
183
- table saved views apply persisted `columnOrder` during render; custom-field columns still append when not named by the saved order so active custom fields remain discoverable
181
184
- backlog rows now show compact custom-field metadata tags for populated applicable fields, limited to the first few ordered fields to keep the row scannable
182
185
- backlog view now supports shared text/type/status/priority/assignee/milestone filters and board/backlog/table style saved-view actions for save-as, update, delete, and left/right ordering
@@ -210,7 +213,10 @@ The core domain in `packages/core/src/domain/` covers the entities the plan call
210
213
- that editor reset now keys only on `doc.id`, so switching documents still refreshes the draft while external bundle updates to the same document do not silently clobber unsaved local typing
211
214
- deleting the currently open doc now routes to the nearest active remaining document, or `/docs` when none remain, so the route does not stay pinned to a deleted or archived document ID while other docs still exist
212
215
-`DocEditor` now keeps that selection-sync effect above its null guard so hook ordering stays valid even if future refactors ever allow the component to see a transient `bundle === null`
213
-
- bug triage now exposes a visible `New bug` action in the intake column, maps software-project `inbox` bugs into Intake, opens the shared create dialog with the correct intake status preselected, and limits Intake's planned-status fallback so custom workflows can still populate Ready
216
+
- roadmap lanes now show milestone target dates, completed/total/percent progress, dependency indicators from `relationshipsForItem()`, explicit date inputs, milestone reassignment controls, and inline invalid-range feedback while preserving date-only semantics through `item.update`; clearing Start or Due clears only that side of the range
217
+
- calendar now keeps the month grid and adds a derived agenda for upcoming item start/due dates plus active reminders; reminder agenda rows use the reminder's IANA timezone to decide the visible date, boundary filtering keeps reminders visible when their local display date and UTC date straddle the agenda start, agenda links use existing work-item routes, and the feature does not introduce a calendar-specific storage model
218
+
- bug triage now exposes a visible `New bug` action in the intake column, maps software-project `inbox` bugs into Intake, opens the shared create dialog with the correct intake status preselected, and limits Intake's planned-status fallback so custom workflows can still populate Ready; `buildBugTriageColumns()` is shared with overview so accepted Ready bugs do not reappear as intake pressure
219
+
- bug triage cards are now `<article>` surfaces with an internal item link and real form controls, not whole-card links, so triage buttons/selects are valid and testable; accept/decline/assign dispatch `item.update`, decline resolves to an existing canceled status or completed fallback before dispatching, snooze dispatches `reminder.create`, and duplicate linking dispatches `relationship.create` with `relatesTo`
214
220
- My Work now has a `New assigned item` action that preselects the current local member as assignee, so work created from that filtered view remains visible in the same workflow after creation
215
221
- board-level `New item` now preselects the first board column's default drop status, which keeps newly created cards visible on boards whose first lane does not use the project/type default status
216
222
- table sorting now uses neutral ascending comparators plus explicit default directions, so `Priority (desc)` puts urgent work first and selecting `Updated` defaults to newest-first order
@@ -256,9 +262,14 @@ The core domain in `packages/core/src/domain/` covers the entities the plan call
256
262
- work-item next-reminder summary behavior that ignores past reminders instead of promoting stale reminders as upcoming follow-up
257
263
- bug triage intake visibility for software-workflow `inbox` bugs and intake-status prefill for `New bug`
258
264
- bug triage fallback mapping that keeps a non-standard planned Ready status visible
265
+
- bug triage filters for needs-repro and command-backed accept/decline/snooze/assign/duplicate actions
259
266
- board-context item creation that uses the first board column default status
260
267
- my-work item creation that preselects the active local member as assignee
261
268
- table priority and updated-date sort direction behavior
269
+
- table bulk status/priority/assignee editing across selected rows, including selections hidden by a local filter
270
+
- overview route summaries, default root-to-overview routing for open projects, project create/open/demo/import landing on overview, future-only reminders, and triage-lane bug intake matching the bug board
271
+
- roadmap milestone progress, dependency indicators, date inputs, independent date clearing, and milestone reassignment controls
272
+
- calendar agenda rendering from item dates and timezone-local reminder dates
262
273
- trash restore and confirmed permanent deletion for work items, documents, and attachments
263
274
- document soft-delete cleanup for document-scoped reminders and attachments, including reminder restoration from the document trash payload
264
275
- document permanent-delete cleanup for document-scoped reminders and attachments
@@ -428,13 +439,31 @@ The core domain in `packages/core/src/domain/` covers the entities the plan call
428
439
- remapping and validating saved-view filter references during JSON import so exported projects remain portable across generated IDs
429
440
- surfacing saved planning views in the project view bar without changing hidden built-in view preferences
430
441
- adding board, backlog, and table save-as/update/delete/reorder flows for saved working views
442
+
- continued the July 2026 planning/workflow milestone by:
443
+
- adding `/overview` as the default in-project landing surface with derived project health, milestone, blocked-work, agenda, bug-intake, activity, and storage-state summaries
444
+
- adding table visible-row selection and bulk status/priority/assignee updates through existing `item.update` commands
445
+
- expanding roadmap lanes with target dates, progress, relationship-based blocked indicators, date controls, invalid-range feedback, and milestone reassignment
446
+
- adding a calendar agenda derived from item start/due dates and reminders
447
+
- turning bug triage into an actionable workflow with filters plus accept, decline, snooze, owner assignment, and duplicate-link actions
431
448
- adding backlog shared filters and table column visibility plus command-backed inline status, priority, assignee, milestone, and due-date edits
432
449
- adding focused core and UI regression coverage for saved-view filters, viewbar rendering, default board routing, backlog saved views, board saved views, and table inline/editable saved views
433
450
- applied the PR #15 Greptile follow-up by:
434
451
- limiting AppShell saved-view tabs to saved view types with registered routes so bug/my-work saved views cannot navigate to missing `/bugs/view/:id` or `/mywork/view/:id` routes
435
452
- preserving multi-value saved filters in board, backlog, and table while retaining the current single-select toolbar controls for manual narrowing
436
453
- applying table `columnOrder` during render and saving the ordered visible column subset on table view save/update
437
454
- adding regression coverage for all five review findings
455
+
- applied the PR #16 Greptile follow-up by:
456
+
- making roadmap date inputs preserve the unedited side of a range when Start or Due is cleared
457
+
- sharing bug triage lane status ownership with overview so Ready bugs stop counting as intake
458
+
- filtering stale reminders out of the overview agenda and deriving reminder agenda dates from each reminder's `timeZone`
459
+
- making bug decline choose an existing canceled status, then the project completed default, then any completed status instead of dispatching a literal `wont-fix`
460
+
- applying table bulk edits to all selected live items even when some selected rows are hidden by the current filter
461
+
- adding regression coverage for the six review findings
462
+
- applied the second PR #16 Greptile follow-up by:
463
+
- keeping calendar reminders visible when their timezone-local display date is the day before the UTC agenda anchor
464
+
- routing create/open/import/demo project entry points to `/overview` instead of `/board`
465
+
- adding `/projects` as the explicit workspace launcher route and redirecting `/` to `/overview` when a project is already open
466
+
- updating e2e expectations for overview-first project entry while still navigating to Board in board-specific workflow checks
Copy file name to clipboardExpand all lines: Readme.md
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,15 +6,16 @@ A free, open source, hybrid day-one project management suite for practical softw
6
6
7
7
The MVP implementation is in place. The current build supports:
8
8
9
-
-**Workspace** with new/open/demo project flow, recent-project reopen, browser-vs-folder storage guidance, inline delete/remove confirmation, and automatic restore of the last active project after reload
9
+
-**Workspace** with new/open/demo project flow, recent-project reopen, browser-vs-folder storage guidance, inline delete/remove confirmation, an explicit `/projects` launcher route, and automatic restore of the last active project after reload
10
10
-**Shared UI foundation** with reusable buttons, icon buttons, fields, page headers, surfaces, toolbars, empty states, inline alerts, modal/dialog primitives, data tables, and work-item metadata components
11
+
-**Overview** as the default project landing view for created, opened, imported, demo, and restored projects, summarizing active work, milestone progress, blocked items, future upcoming dates/reminders, triage-lane bug intake, recent activity, and the current storage/save state
11
12
-**Board** with drag-and-drop, WIP limits (warn + hard modes), explicit hard-limit feedback, column-based status grouping, context-aware item creation that starts in the first board lane, and whole-card link navigation that keeps visible card metadata available to assistive technology
12
13
-**Backlog** with priority-sorted items, saved working views, shared text/type/status/priority/assignee/milestone filters, custom-field metadata tags, a shared toolbar, and a visible new-item entry point
13
-
-**Table** with accessible sortable header buttons, corrected priority/updated sorting, saved working views, shared filters, column visibility and saved column order, inline status/priority/assignee/milestone/due-date edits, custom-field columns, and shared metadata badges
14
+
-**Table** with accessible sortable header buttons, corrected priority/updated sorting, saved working views, shared filters, column visibility and saved column order, row selection that survives filter changes, bulk status/priority/assignee edits, inline status/priority/assignee/milestone/due-date edits, custom-field columns, and shared metadata badges
14
15
-**Docs** with Markdown editing, sanitized rendering, internal embeds, backlinks, router-safe in-app navigation for preview links, correct pane updates when switching documents, draft-preserving editor resets, shared confirmation for document deletion, and safe navigation to the next active document after deleting the open one
15
-
-**Roadmap / timeline** with date drag/resize, milestone lanes, dependency awareness, and shared zoom/anchor controls
16
-
-**Calendar** with accessible month navigation controls, month grid, and date-based item visibility
17
-
-**Bug triage** with severity, reproduction steps, expected/actual behavior, environment, affected version, shared work-card metadata, and a visible new-bug entry point that defaults to the Intake lane without starving Ready in custom planned workflows
16
+
-**Roadmap / timeline** with date drag/resize, milestone lanes, milestone progress and target dates, dependency indicators, explicit date controls that clear each side of a range independently, milestone reassignment, invalid-range feedback, and shared zoom/anchor controls
17
+
-**Calendar** with accessible month navigation controls, month grid, date-based item visibility, and an agenda for upcoming start/due dates and timezone-aware reminders that stay visible around UTC/local day boundaries
18
+
-**Bug triage** with severity, reproduction steps, expected/actual behavior, environment, affected version, shared work-card metadata, practical triage filters, accept/decline/snooze/assign/duplicate actions, workflow-safe decline handling, and a visible new-bug entry point that defaults to the Intake lane without starving Ready in custom planned workflows
18
19
-**My work** filtered to the locally selected member with a real member select control, shared work rows, and assigned-to-me creation
19
20
-**Search** across items, docs, comments, and labels with shared search controls and grouped results
20
21
-**Settings** for theme, left-panel visibility, editable members, statuses, priorities, types, labels, milestones, custom fields, plugins, export, AI bridge, semantic section tabs, and inline import errors
@@ -96,7 +97,7 @@ The UI/UX overhaul planning package lives in `docs/superpowers/specs/2026-07-02-
0 commit comments