Commit Graph

  • a619768cca Merge branch 'mai/kahn/phase-7c-unify-tasks' (Phase 7c step 2: unify mBrian+CalDAV tasks into one collected list) main mAi 2026-06-01 18:28:46 +02:00
  • ef507b4e1b feat(web): Phase 7c STEP 2 — unify mBrian + CalDAV tasks into ONE list mai/kahn/phase-7c-unify-tasks mAi 2026-06-01 18:27:49 +02:00
  • 018665fee7 Merge Phase 7c step 1 (7287882): load vendored HTMX so hx-post task/tree/dashboard/bulk/classify forms work mAi 2026-06-01 18:20:54 +02:00
  • 728788225c fix(web): load HTMX so task (+tree/dashboard/bulk/classify) forms work mAi 2026-06-01 18:19:53 +02:00
  • b72744b567 Merge branch 'mai/kahn/phase-7b-tasks' (Phase 7b: first-class mBrian tasks + CalDAV hybrid two-section + checklist render) mAi 2026-06-01 18:01:40 +02:00
  • 63a2e13036 test(store): Phase 7b — live end-to-end task round-trip integration test mai/kahn/phase-7b-tasks mAi 2026-06-01 17:59:20 +02:00
  • e65385e609 feat(web): Phase 7b — mBrian-native tasks on the detail page (two-section, Q4b) mAi 2026-06-01 17:56:04 +02:00
  • 0dfa0e2ab7 feat(store): Phase 7b — uniform Task shape + mBrian-native task read/write mAi 2026-06-01 17:50:48 +02:00
  • 6436b524d6 Merge branch 'mai/kahn/fix-slug-control' (restore projax-side slug control: explicit slug on create+rename via mBrian API, surface 409) mAi 2026-06-01 17:36:59 +02:00
  • eaecd3944e fix(slug): restore projax-side slug control via mBrian's slug API mai/kahn/fix-slug-control mAi 2026-06-01 17:35:13 +02:00
  • 1020d60c75 docs: Phase 7 — record m's decisions (§0); Q4 override (show both task sources) mai/kahn/phase-7a-entity-model mAi 2026-06-01 17:28:29 +02:00
  • 6e4fabfab9 docs: Phase 7 entity-model design — projects/tasks/tasklists + hybrid CalDAV/mBrian task backend mAi 2026-06-01 17:16:48 +02:00
  • 7c84c96f8b Merge branch 'mai/kahn/phase-6-sliceC' (Phase 6 Slice C: write-path to mBrian via scoped HTTP API; PROJAX_BACKEND flips reads+writes atomically) mAi 2026-06-01 12:40:13 +02:00
  • e133f51706 fix(store): Phase 6 Slice C — reader reads pinned/archived + note from metadata (G3, G2) mai/kahn/phase-6-sliceC mAi 2026-06-01 12:38:54 +02:00
  • 663f21bdb0 docs: Phase 6 Slice C write-path contract + API gap register mAi 2026-06-01 12:34:40 +02:00
  • bc56733bc8 feat(mcp+cmd): Phase 6 Slice C — atomic PROJAX_BACKEND flip across web + MCP mAi 2026-06-01 12:33:46 +02:00
  • e43055b670 feat(store): Phase 6 Slice C — MBrianWriter HTTP client against the scoped write API mAi 2026-06-01 12:25:00 +02:00
  • 67577396a2 feat(web): Phase 6 Slice C — route every web write + validator through the adapter mAi 2026-06-01 12:18:03 +02:00
  • d0ec02cb63 feat(adapter): Phase 6 Slice C scaffold — ItemWriter interface + Server.Writes + MBrianWriter stub mAi 2026-06-01 12:11:53 +02:00
  • 307a898dbd Merge branch 'mai/kahn/phase-6-sliceB' (Phase 6 Slice B: mBrian-backed read path behind PROJAX_BACKEND switch, parity-green) mAi 2026-05-31 22:22:40 +02:00
  • b22f50ca7b feat(adapter): Phase 6 Slice B — mBrian-backed read path live mai/kahn/phase-6-sliceB mAi 2026-05-31 22:20:38 +02:00
  • 4fdeca8269 Merge branch 'mai/kahn/phase-6-sliceB-prep' (Phase 6: slice-B adapter interface contract + skeleton, no impl) mAi 2026-05-29 15:18:15 +02:00
  • 9607d4b307 docs+skeleton: Phase 6 Slice B prep — read-path adapter interface contract mai/kahn/phase-6-sliceB-prep mAi 2026-05-29 15:17:24 +02:00
  • 38182df651 Merge branch 'mai/kahn/phase-6a-mbrian-design' (Phase 6: mBrian-backend migration design + slice 0 snapshot helper) mAi 2026-05-29 14:03:27 +02:00
  • 2702c699d1 feat(snapshot): Phase 6 slice 0 — projax_snapshot.json export helper mai/kahn/phase-6a-mbrian-design mAi 2026-05-29 14:02:16 +02:00
  • a5b0971b9d docs: Phase 6 plan re-baseline against live mBrian schema + m's answers mAi 2026-05-29 13:56:50 +02:00
  • b3e7183478 docs: Phase 6 mBrian-as-backend migration design plan mAi 2026-05-29 12:49:48 +02:00
  • a44edf3917 Merge branch 'mai/kahn/phase-5j-views-redesign' (phase 5j slice G: show_count badges + icon registry) mAi 2026-05-29 12:08:01 +02:00
  • 9a8ea8f31e feat(views): Phase 5j slice G — show_count badges + icon registry mai/kahn/phase-5j-views-redesign mAi 2026-05-29 12:07:54 +02:00
  • df83ab7255 Merge branch 'mai/kahn/phase-5j-views-redesign' (phase 5j slice E: sidebar Views section with user views) mAi 2026-05-29 12:03:53 +02:00
  • 1f8c626aed feat(views): Phase 5j slice E — sidebar Views section with user views mAi 2026-05-29 12:03:47 +02:00
  • 4918f48b51 Merge branch 'mai/kahn/phase-5j-views-redesign' (phase 5j slice C: full URL migration + system views) mAi 2026-05-29 11:59:31 +02:00
  • f820fa5830 feat(views): Phase 5j slice C — full URL migration + system views mAi 2026-05-29 11:59:26 +02:00
  • 0ad610d018 Merge branch 'mai/kahn/phase-5j-views-redesign' (phase 5j slice B: paliad-shape route family + render) mAi 2026-05-29 11:47:39 +02:00
  • e305f0e0ae feat(views): Phase 5j slice B — paliad-shape route family + render mAi 2026-05-29 11:47:33 +02:00
  • a9f062a67e Merge branch 'mai/kahn/phase-5j-views-redesign' (phase 5j slice A: paliad-shape schema redesign) mAi 2026-05-29 11:41:34 +02:00
  • 173d7ddbb2 feat(views): Phase 5j slice A — paliad-shape schema redesign mAi 2026-05-29 11:41:28 +02:00
  • 731f443569 Merge branch 'mai/knuth/new-form-slug-suggest' (feat: /new auto-suggests kebab slug from title) mAi 2026-05-27 14:30:36 +02:00
  • 157c4e659b feat(new): auto-suggest kebab slug from title mAi 2026-05-27 14:30:23 +02:00
  • 547d6f77f6 Merge branch 'mai/knuth/fix-timeline-filters' (fix: project filter narrows /admin/bulk + timeline multi-value kind) mAi 2026-05-27 14:27:33 +02:00
  • 788479c6cb fix(filters): project dim narrows /admin/bulk + timeline multi-value kind mAi 2026-05-27 14:27:26 +02:00
  • a0d6217ebf Merge branch 'mai/knuth/caldav-link-existing' (feat: per-item CalDAV link-existing + projax-tagged VTODOs for shared lists) mAi 2026-05-27 14:16:09 +02:00
  • 311cf943bc feat(caldav): link-existing picker + projax-tagged VTODOs for shared lists mAi 2026-05-27 14:16:04 +02:00
  • abb329a686 Merge branch 'mai/knuth/fix-new-parent-prefill' (fix: /new Parents select was empty + missed ?parent= prefill) mAi 2026-05-27 14:04:19 +02:00
  • b15c222727 fix(new): populate Parents <select> and pre-select ?parent= match mAi 2026-05-27 14:04:14 +02:00
  • 590bb28063 docs: Phase 5j Views-redesign plan — paliad-shape first-class views mAi 2026-05-26 15:23:35 +02:00
  • d0e0669fff Merge branch 'mai/kahn/fix-views-edit-filters' (fix: views edit UI + URL chip overlay on saved-view pages) mAi 2026-05-26 15:08:51 +02:00
  • 59a89ef044 fix(views): edit UI + URL chip overlay on saved-view pages mai/kahn/fix-views-edit-filters mAi 2026-05-26 15:08:44 +02:00
  • 93b751d383 Merge branch 'mai/kahn/phase-5i-phase-a-design' (phase 5i slice E: default view-per-page + opt-out banner) mAi 2026-05-26 13:50:47 +02:00
  • b9161eba17 feat(views): Phase 5i slice E — default view-per-page + opt-out banner mai/kahn/phase-5i-phase-a-design mAi 2026-05-26 13:50:42 +02:00
  • 773194c1b7 Merge branch 'mai/kahn/phase-5i-phase-a-design' (phase 5i slice C: kanban view_type with group_by chip strip) mAi 2026-05-26 13:47:12 +02:00
  • bbc7867a35 feat(views): Phase 5i slice C — kanban view_type with group_by chip strip mAi 2026-05-26 13:47:03 +02:00
  • 79fc8b34c9 Merge branch 'mai/kahn/phase-5i-phase-a-design' (phase 5i slice D: saved views table + CRUD + sidebar entry) mAi 2026-05-26 13:42:57 +02:00
  • 2f47b28f39 feat(views): Phase 5i slice D — saved views table + CRUD + sidebar entry mAi 2026-05-26 13:42:51 +02:00
  • 0cf630d3aa Merge branch 'mai/kahn/phase-5i-phase-a-design' (phase 5i slice B: view_type URL param + card view on /tree) mAi 2026-05-26 13:36:33 +02:00
  • 5f712c68d4 feat(views): Phase 5i slice B — view_type URL param + card view on /tree mAi 2026-05-26 13:36:28 +02:00
  • 2eba37365b Merge branch 'mai/kahn/phase-5i-phase-a-design' (phase 5i slice A: project filter dim + descendants toggle) mAi 2026-05-26 13:29:20 +02:00
  • 13923aadb6 feat(views): Phase 5i slice A — project filter dim + descendants toggle mAi 2026-05-26 13:27:37 +02:00
  • 9138dfac59 docs: Phase 5i Views — fold in m's decisions on the 9 open Qs mAi 2026-05-26 13:15:53 +02:00
  • 4e520f44b2 Merge branch 'mai/knuth/detail-page-order' (feat: detail-page field ordering + auxiliary section break) mAi 2026-05-26 13:15:43 +02:00
  • 1af0990108 feat(detail): reorder fields general→specific, divider before auxiliary mAi 2026-05-26 13:15:39 +02:00
  • 084fd7973b Merge commit '63f5ed1' (phase 5h slice 8: design.md addendum — Dashboard overhaul §19) mAi 2026-05-26 12:38:01 +02:00
  • 63f5ed115c docs(design): Phase 5h Dashboard overhaul addendum mai/fuller/phase-5h-phase-a-design mAi 2026-05-26 12:37:56 +02:00
  • bad877ae69 Merge commit 'a46f73f' (phase 5h slice 7: mobile polish — Tiles tab strip + touch targets) mAi 2026-05-26 12:36:31 +02:00
  • a46f73f568 feat(dashboard): mobile polish — Tiles tab strip wraps, touch-target sizing mAi 2026-05-26 12:36:22 +02:00
  • 9692b86a4b Merge commit 'fee3251' (phase 5h slice 5: polish Events tab — summary header, fuller day labels) mAi 2026-05-26 12:35:15 +02:00
  • fee3251946 feat(dashboard): polish Events tab — summary header, fuller day labels mAi 2026-05-26 12:35:10 +02:00
  • ccaae32f39 Merge commit 'c4a4ba0' (phase 5h hotfix: contain Tiles grid to prevent horizontal scroll) mAi 2026-05-26 12:33:26 +02:00
  • 252b424d2c Merge commit '2925c43' (phase 5h slice 4: pin toggle on tiles + handleDashboardPin) mAi 2026-05-26 12:33:26 +02:00
  • c4a4ba0687 fix(dashboard): contain Tiles grid to prevent horizontal scroll mAi 2026-05-26 12:33:18 +02:00
  • 2925c43a1e feat(dashboard): pin toggle on tiles + handleDashboardPin handler mAi 2026-05-26 12:31:24 +02:00
  • d75d9a10ce Merge branch 'mai/fuller/phase-5h-phase-a-design' (phase 5h slice 3: scope chip + Quiet fold + Stale folded into Tiles) mAi 2026-05-26 12:27:37 +02:00
  • 87132ee166 feat(dashboard): scope chip + Quiet (N) ▾ fold + Stale folded into Tiles mAi 2026-05-26 12:27:13 +02:00
  • f234c72f50 Merge branch 'mai/fuller/phase-5h-phase-a-design' (phase 5h slices 1-2: rollup model + Tiles tab) mAi 2026-05-26 12:23:07 +02:00
  • 316b4e408a feat(dashboard): tab strip + Tiles view + view-switcher URL routing mAi 2026-05-26 12:22:32 +02:00
  • 1a508332b3 feat(dashboard): per-project rollup data model + IsCurrent predicate mAi 2026-05-26 12:10:12 +02:00
  • c6a350f6a0 docs: Phase 5i Views-system design plan mAi 2026-05-26 12:10:08 +02:00
  • 3647472ce8 docs(plans): dashboard overhaul Phase 5h design mAi 2026-05-26 12:02:29 +02:00
  • 88fd77b439 Merge branch 'mai/knuth/fix-calendar-filters' (fix: <select multiple> filter strips drop values past first) mAi 2026-05-26 11:56:46 +02:00
  • 6f0a318979 fix(filters): preserve every value from <select multiple> filter strips mAi 2026-05-26 11:56:42 +02:00
  • 69d872f7d2 Merge branch 'mai/knuth/phase-5g-mbrian-nav' (phase 5g slice B: mobile bottom-nav + drawer) mAi 2026-05-25 16:40:19 +02:00
  • bd600633c9 feat(layout): mobile bottom-nav + drawer mAi 2026-05-25 16:40:14 +02:00
  • c49ce45b2d Merge branch 'mai/knuth/phase-5g-mbrian-nav' (phase 5g slice A: desktop sidebar replaces top-nav) mAi 2026-05-25 16:36:15 +02:00
  • 9d0dd74695 feat(layout): desktop sidebar replaces top-nav mAi 2026-05-25 16:36:10 +02:00
  • 07d88c14e5 Merge branch 'mai/knuth/phase-5e-calendar' (phase 5e slice B: polish + mobile + design doc) mAi 2026-05-22 12:07:29 +02:00
  • 28ac919e01 feat(calendar): polish grid styling + mobile breakpoint + design doc mAi 2026-05-22 12:07:25 +02:00
  • 45e3e2a891 Merge branch 'mai/knuth/phase-5e-calendar' (phase 5e slice A: month-grid calendar view) mAi 2026-05-22 12:01:10 +02:00
  • e5dd31144a feat(calendar): /calendar month-grid view with VEVENT/VTODO/DOC sources mAi 2026-05-22 12:01:03 +02:00
  • 76efdbeb73 Merge branch 'mai/knuth/phase-5d-mcp-errors' (phase 5d slice B: ValidationError surfaces via .error.data) mAi 2026-05-22 11:51:01 +02:00
  • 8370454b66 refactor(mcp): typed ValidationError surfaces via .error.data mAi 2026-05-22 11:50:57 +02:00
  • de1140a0f0 Merge branch 'mai/knuth/phase-5d-mcp-errors' (phase 5d slice A: widen ToolHandler signature) mAi 2026-05-22 11:47:35 +02:00
  • d7438ba89e refactor(mcp): widen ToolHandler signature to return *ToolError with .data support mAi 2026-05-22 11:46:19 +02:00
  • 982481c023 Merge branch 'mai/knuth/phase-5f-fix-dockerignore' (phase 5f: .dockerignore fix for healthz SHA) mAi 2026-05-22 11:36:59 +02:00
  • 7ebd435044 fix(docker): include .git in build context so healthz reports real SHA mAi 2026-05-22 11:36:44 +02:00
  • 3fbf71f7b3 Merge branch 'mai/knuth/phase-5c-itemwrite' (phase 5c slice C: MCP write tools validate) mAi 2026-05-22 00:37:42 +02:00
  • 63efc23843 refactor(mcp): validate item writes via internal/itemwrite/ mAi 2026-05-22 00:37:24 +02:00
  • c84a1f9d4b Merge branch 'mai/knuth/phase-5c-itemwrite' (phase 5c slice B: web write paths validate) mAi 2026-05-22 00:36:20 +02:00
  • 9ee26002f8 refactor(web): validate item writes via internal/itemwrite/ mAi 2026-05-22 00:36:14 +02:00
  • 4cc5191eed Merge branch 'mai/knuth/phase-5c-itemwrite' (phase 5c slice A: internal/itemwrite/) mAi 2026-05-22 00:34:00 +02:00
  • df65e4b586 feat(itemwrite): introduce internal/itemwrite/ validator mAi 2026-05-22 00:33:54 +02:00