Commit Graph

  • 7ce5bb8450 fix(lifecycle): OAuth pw 500, invite lockout, reminder re-arm, partial-unique bvandeusen 2026-06-02 19:23:35 -04:00
  • 2fd9a2300a fix(caldav): point-event round-trip, recurrence push, delete propagation bvandeusen 2026-06-02 19:20:14 -04:00
  • c016bd664e fix(status-enum): add paused to ProjectStatus, validate, fix progress bvandeusen 2026-06-02 19:16:45 -04:00
  • 4a220db513 test(mcp): import resolve_bearer at module level bvandeusen 2026-06-02 19:12:14 -04:00
  • aef5009fc2 fix(contract-drift): MCP read-only scope, shared-note writes, event TZ bvandeusen 2026-06-02 19:02:19 -04:00
  • c363a5a6df fix(retention): add cleanup sweeps + CalDAV orphan reconciliation bvandeusen 2026-06-02 18:55:23 -04:00
  • 5fe0fd126d fix(soft-delete): filter trashed rows across read/write paths bvandeusen 2026-06-02 18:51:40 -04:00
  • 8b49ea896a fix(schedulers): wire recurring-task spawn + deliver event reminders bvandeusen 2026-06-02 18:47:54 -04:00
  • e70fe545cc fix(trash): owner-scope all trash ops — close cross-tenant IDOR/disclosure bvandeusen 2026-06-02 18:44:32 -04:00
  • 0e980ee4b0 Merge pull request 'Project rule + topic suppressions' (#54) from dev into main v26.06.01.2 bvandeusen 2026-06-01 08:01:59 -04:00
  • 7861607fb8 feat(rules): project rule + topic suppressions bvandeusen 2026-06-01 02:26:20 -04:00
  • b5870d4694 Merge pull request 'Rules consolidation: Scribe-first check, project-scoped rules, enter_project handshake' (#53) from dev into main bvandeusen 2026-06-01 01:16:55 -04:00
  • c5469214e3 feat(rules): enter_project handshake (S4) bvandeusen 2026-06-01 01:14:37 -04:00
  • 43a860c3ac feat(rules): project-scoped rules (S3) bvandeusen 2026-06-01 01:10:18 -04:00
  • 658348f208 feat(rules): always_on rulebook flag + Scribe-first prompt bvandeusen 2026-06-01 00:56:08 -04:00
  • c810d63bee Merge pull request 'MCP plan-prompt tune + Flutter docs removal' (#52) from dev into main v26.06.01.1 bvandeusen 2026-06-01 00:13:31 -04:00
  • fd20b67b22 docs: remove Flutter companion app from project surface bvandeusen 2026-05-31 23:37:35 -04:00
  • 7031e36670 chore(mcp): tighten plan-instruction to override .md plan habit bvandeusen 2026-05-31 23:31:46 -04:00
  • a3a056d6fd v26.05.30.1 — MCP-first pivot + Rulebook + Plans + Soft-delete v26.05.30.1 bvandeusen 2026-05-29 22:50:34 -04:00
  • 2f577fee58 fix(mcp): stateless HTTP transport so client reconnects after redeploy bvandeusen 2026-05-29 13:16:38 -04:00
  • e5565b73dc feat(trash): Settings retention field (trash_retention_days, 0=keep forever) bvandeusen 2026-05-29 12:12:04 -04:00
  • b579aa1c88 feat(trash): TrashView page, nav links, and g+x shortcut bvandeusen 2026-05-29 12:10:27 -04:00
  • e5796b6f5c feat(trash): frontend trash API client + Pinia store bvandeusen 2026-05-29 12:07:44 -04:00
  • d8f577e753 feat(trash): daily retention purge scheduler (03:30 UTC) wired into app lifecycle bvandeusen 2026-05-29 11:47:02 -04:00
  • a40334312f test(trash): update delete-tool tests to soft-delete contract (patch trash_svc.delete) bvandeusen 2026-05-29 09:24:58 -04:00
  • bfeed67cfe feat(trash): /api/trash blueprint + flip REST DELETE handlers to soft-delete bvandeusen 2026-05-28 21:13:31 -04:00
  • 580e4a2c0a feat(trash): list_trash/restore/purge_trash MCP tools + register + instructions bvandeusen 2026-05-28 21:10:47 -04:00
  • c3af24ef51 feat(trash): MCP delete tools soft-delete via trash; add delete_task/project/milestone bvandeusen 2026-05-28 21:10:13 -04:00
  • eb41e772cd feat(trash): exclude trashed rows from events/projects/milestones/rulebooks/embeddings reads + filtering tests bvandeusen 2026-05-28 20:33:40 -04:00
  • e7f214fc80 feat(trash): exclude trashed rows from notes + knowledge read paths bvandeusen 2026-05-28 20:30:23 -04:00
  • f80c327ecf feat(trash): restore/list_trash/purge/purge_expired + alive() helper bvandeusen 2026-05-28 20:02:21 -04:00
  • ce47ebc7de feat(trash): services/trash.py — delete() + cascade-stamp by batch bvandeusen 2026-05-28 20:01:35 -04:00
  • 7f0d99d383 feat(trash): SoftDeleteMixin applied to the 7 soft-deletable models bvandeusen 2026-05-28 19:54:01 -04:00
  • 84b75f7a73 feat(trash): migration 0057 — deleted_at + deleted_batch_id on 7 tables bvandeusen 2026-05-28 19:53:19 -04:00
  • 30fbf7b117 docs(mcp): add conceptual primer (what each entity is for) to MCP instructions bvandeusen 2026-05-28 18:25:38 -04:00
  • d04b6f4bba style(rulebook): narrow the Topics column in /rules bvandeusen 2026-05-28 11:42:08 -04:00
  • 311322fdc8 fix(plan): export startPlanning from tasks store (type-check) bvandeusen 2026-05-28 11:20:44 -04:00
  • dc93675470 feat(plan): KnowledgeView Plans facet + plan badge (knowledge endpoints + UI) bvandeusen 2026-05-28 11:12:59 -04:00
  • 2f5ef9124a feat(plan): Start planning button on project view bvandeusen 2026-05-28 10:44:40 -04:00
  • b30cf06096 fix(plan): move Applicable Rules panel to TaskEditorView (the routed task surface) bvandeusen 2026-05-28 10:43:41 -04:00
  • 75d3d40038 feat(plan): plan-task viewer shows Applicable Rules panel bvandeusen 2026-05-28 10:42:03 -04:00
  • 1d5f49fe3b feat(plan): frontend startPlanning API + store action + task_kind type bvandeusen 2026-05-28 10:41:24 -04:00
  • b250141e15 feat(plan): REST /api/tasks/planning endpoint bvandeusen 2026-05-28 10:17:38 -04:00
  • 4609abacd8 feat(plan): start_planning MCP tool + get_task rules augmentation + instructions bvandeusen 2026-05-28 10:17:20 -04:00
  • e269ac9d5c feat(plan): services/planning — start_planning aggregator bvandeusen 2026-05-28 10:16:36 -04:00
  • 737467f996 feat(plan): REST task routes — kind on create + list bvandeusen 2026-05-28 08:22:54 -04:00
  • fc4a1627b5 feat(plan): MCP task tools — kind on create_task + list_tasks bvandeusen 2026-05-28 08:22:31 -04:00
  • 50d2a0e9c0 feat(plan): services/notes — task_kind create param + list filter bvandeusen 2026-05-28 08:21:59 -04:00
  • 8754b1c94d feat(plan): task_kind on Note model + to_dict bvandeusen 2026-05-28 08:15:29 -04:00
  • ac462d1203 feat(plan): migration 0056 — task_kind column on notes bvandeusen 2026-05-28 08:15:13 -04:00
  • 5f3da7c004 feat(rulebook): port script — parse FabledRulebook .md → Scribe DB bvandeusen 2026-05-27 22:39:50 -04:00
  • 9658e9a35c feat(rulebook): Project Rules tab — applicable rules + subscription chips bvandeusen 2026-05-27 22:20:19 -04:00
  • f2afb2a8bf feat(rulebook): /rules route, nav entry, g+r shortcut bvandeusen 2026-05-27 22:01:54 -04:00
  • 447adf816c feat(rulebook): subscription panel — toggle projects per rulebook bvandeusen 2026-05-27 22:01:03 -04:00
  • 75d8e7ab49 feat(rulebook): RulesView three-pane shell + child panes + rule editor bvandeusen 2026-05-27 22:00:32 -04:00
  • 605dd0a13a feat(rulebook): frontend API client + Pinia store bvandeusen 2026-05-27 21:59:23 -04:00
  • eab5c5a026 feat(rulebook): augment get_project with applicable_rules + MCP instructions bvandeusen 2026-05-27 21:52:18 -04:00
  • a1a6c5e47e feat(rulebook): MCP tools — 16 tools for rulebook/topic/rule/subscription bvandeusen 2026-05-27 21:51:39 -04:00
  • bbbd6b2f28 feat(rulebook): REST routes — rules, subscriptions, applicable rules bvandeusen 2026-05-27 21:34:53 -04:00
  • 0219c673c1 feat(rulebook): REST routes — rulebook + topic endpoints bvandeusen 2026-05-27 21:34:25 -04:00
  • 45fe198d54 feat(rulebook): service layer — subscriptions + get_applicable_rules bvandeusen 2026-05-27 21:19:14 -04:00
  • d3833ba5a4 feat(rulebook): service layer — Rule CRUD with multi-filter list_rules bvandeusen 2026-05-27 21:18:35 -04:00
  • 38e4220015 feat(rulebook): service layer — Topic CRUD bvandeusen 2026-05-27 21:17:54 -04:00
  • cfd801d181 feat(rulebook): service layer — Rulebook CRUD + find_rulebook_by_title bvandeusen 2026-05-27 21:17:21 -04:00
  • 45c2197cdf feat(rulebook): SQLAlchemy models for rulebooks, topics, rules bvandeusen 2026-05-27 21:16:49 -04:00
  • 05e379263a feat(rulebook): migration 0055 — rulebooks, topics, rules, subscriptions bvandeusen 2026-05-27 21:16:24 -04:00
  • 4806c34a3c refactor: Phase 10 — Ollama service, image cache, config, frontend orphans bvandeusen 2026-05-27 19:10:25 -04:00
  • b3fca3ced4 migration: drop chat/journal/push/curator/weather tables (Phase 9) bvandeusen 2026-05-27 18:16:18 -04:00
  • 8d73f553ca test: drop test_tools_calendar_always_available bvandeusen 2026-05-27 18:10:06 -04:00
  • 42861142db chore: remove benchmark notes that were accidentally committed bvandeusen 2026-05-27 18:09:32 -04:00
  • 91bafb641f refactor: Phase 8 — backend deletion (chat / voice / push / journal / curator) bvandeusen 2026-05-27 17:47:18 -04:00
  • 8bec68abc0 fix(ui): restore missing </div> closing the Notifications tab bvandeusen 2026-05-27 15:38:06 -04:00
  • ba6f2c7614 refactor(ui): purge SettingsView dead JS left over from Phase 7 bvandeusen 2026-05-27 15:26:51 -04:00
  • 18eb1e7ab2 refactor(ui): Phase 7 — strip chat/voice/journal/workspace/home surfaces bvandeusen 2026-05-27 15:14:00 -04:00
  • 05b0bf97d7 fix(mcp): list_events tz-aware UTC range + end-of-day inclusive bvandeusen 2026-05-27 14:57:38 -04:00
  • 02fe500d61 fix(mcp): disable DNS-rebinding protection on FastMCP bvandeusen 2026-05-27 14:16:47 -04:00
  • 06a532b0e6 test(mcp): include Host header in raw-ASGI test scope bvandeusen 2026-05-27 13:11:39 -04:00
  • 65d3711a11 fix(mcp): start FastMCP session manager via Quart serving lifecycle bvandeusen 2026-05-27 12:59:29 -04:00
  • 1fd303abe3 fix(mcp): don't strip /mcp prefix; FastMCP's handler is mounted there bvandeusen 2026-05-27 12:55:47 -04:00
  • 0cc09f917d fix(ui): claude mcp add takes URL as positional arg, not --url bvandeusen 2026-05-27 12:45:28 -04:00
  • 6aa84002b3 refactor(mcp): drop fable_ prefix from tool names; rebrand to Scribe bvandeusen 2026-05-27 11:48:55 -04:00
  • 97c22941a8 feat(ui): configurable MCP server name + scope; start Scribe rebrand bvandeusen 2026-05-27 11:22:28 -04:00
  • 27b5c45f27 feat(ui): MCP Access tab — HTTP transport, in-app endpoint bvandeusen 2026-05-26 21:23:06 -04:00
  • 52d6a8ed53 feat(embeddings): swap Ollama for fastembed (in-process ONNX) bvandeusen 2026-05-26 21:02:30 -04:00
  • 12d0ebeb84 migration: clear note_embeddings for fastembed swap (768d → 384d) bvandeusen 2026-05-26 21:01:23 -04:00
  • 5a9859e12f deps: add fastembed (ollama client stays for now, removed in phase 7) bvandeusen 2026-05-26 21:01:00 -04:00
  • d4f3516552 feat(mcp): typed-entity tools (person/place/list) bvandeusen 2026-05-26 20:53:36 -04:00
  • 6961144c3a feat(mcp): fable_list_tags + fable_get_recent bvandeusen 2026-05-26 20:51:59 -04:00
  • 9a76c4718b feat(mcp): event CRUD tools bvandeusen 2026-05-26 20:50:54 -04:00
  • 4d6bae77b4 feat(mcp): project + milestone CRUD tools bvandeusen 2026-05-26 20:24:07 -04:00
  • d086c9b606 feat(mcp): task CRUD tools + add_task_log bvandeusen 2026-05-26 20:22:30 -04:00
  • b026421985 feat(mcp): note CRUD tools (list/get/create/update/delete) bvandeusen 2026-05-26 20:20:27 -04:00
  • fd0431dfb6 feat(mcp): tools/ package + fable_search bvandeusen 2026-05-26 20:18:36 -04:00
  • 3579db2f06 feat(mcp): per-request user_id contextvar for tool handlers bvandeusen 2026-05-26 20:17:04 -04:00
  • 3cc5c7dcab test(mcp): drop the bypass test (covered implicitly) bvandeusen 2026-05-26 19:58:45 -04:00
  • 38265906f1 test(mcp): drive ASGI app directly, skip Quart test_client bvandeusen 2026-05-26 19:54:46 -04:00
  • 94f7a6de37 feat(mcp): mount /mcp endpoint with bearer-token auth bvandeusen 2026-05-26 19:15:42 -04:00
  • caa504913f feat(mcp): bearer-token auth resolver bvandeusen 2026-05-26 19:13:31 -04:00
  • 198f11ee09 feat(mcp): scaffold in-app FastMCP package bvandeusen 2026-05-26 19:12:57 -04:00
  • b97a8ce457 deps: add mcp[cli] for in-app MCP server bvandeusen 2026-05-26 19:12:35 -04:00