Commit Graph

  • 5f5eee4aab test(oidc): close coverage gaps + tighten fetch_jwks shape check (q-5, q-8) Patrick Buckley 2026-05-04 04:08:50 -07:00
  • 6d532ed776 refactor(oidc): quality cleanup (bug-3, q-1/3/4/6/7/9/10/11/12/13) Patrick Buckley 2026-05-04 03:53:59 -07:00
  • c3d9cdae82 perf(oidc): batch perf hardening (perf-1..8) Patrick Buckley 2026-05-04 03:39:00 -07:00
  • 366d316941 fix(oidc): callback robustness — typed exceptions, shape checks, log sanitize, JS race (bug-4, bug-5, bug-6, sec-4) Patrick Buckley 2026-05-04 03:11:00 -07:00
  • 3e87f4262e fix(oidc): atomic user + identity provisioning to prevent orphan rows (bug-1) Patrick Buckley 2026-05-04 03:01:04 -07:00
  • f50b559792 fix(oidc): require TURNSTONE_OIDC_REDIRECT_BASE; drop Host-header fallback (sec-2) Patrick Buckley 2026-05-04 02:49:00 -07:00
  • c6b3c0bc5f refactor(oidc): unify server+console lifespan via initialize_oidc_state (q-2, bug-2) Patrick Buckley 2026-05-04 02:41:07 -07:00
  • cefb74a226 fix(oidc): SSRF + plaintext credential exfil via discovery doc (sec-1, sec-3) Patrick Buckley 2026-05-04 02:24:31 -07:00
  • c2cb6a7ea5 fix(replay): apply PR #488 review findings Patrick Buckley 2026-05-07 17:20:11 -07:00
  • eca4bb79e4 fix(replay): seam 1 splice + storage symmetry for queued user messages Patrick Buckley 2026-05-07 16:27:28 -07:00
  • a032e71ff3 fix(replay): apply review findings q-2 through q-7 Patrick Buckley 2026-05-07 01:50:18 -07:00
  • c11692b327 fix(replay): coord render order + blank assistant cards + queued message persistence Patrick Buckley 2026-05-07 01:25:11 -07:00
  • 4a3e3607be fix(mcp): apply PR #489 review feedback + de-flake pool reuse 401 retry Patrick Buckley 2026-05-07 13:39:49 -07:00
  • 5a3f46a1fa feat(mcp): per-user MCP server consent UX (Phase 8) Patrick Buckley 2026-05-07 12:41:59 -07:00
  • fc8bd6ca33 fix(storage): sanitize NUL bytes on _source + _reminders columns Patrick Buckley 2026-05-06 23:25:11 -07:00
  • 14af6f464e revert(memory): drop dormant limit kwarg from load_messages Patrick Buckley 2026-05-06 22:50:21 -07:00
  • 668da26dce refactor(watch): rename _WATCH_REMINDER_OPTIONAL_KEYS public + hoist import Patrick Buckley 2026-05-06 22:46:59 -07:00
  • b120ee2fd7 fix(session): trim tombstone refs + WHAT-narration in apply-pass comments Patrick Buckley 2026-05-06 22:45:25 -07:00
  • 779ec638a5 fix(session): byte-clamp REMINDER_TEXT_STORAGE_CAP + drop local-only doc citation Patrick Buckley 2026-05-06 22:44:15 -07:00
  • 7e35050b68 fix(metacog): cleanup batch — share watch-key constant, sanitize metadata, drop tombstones Patrick Buckley 2026-05-06 22:21:39 -07:00
  • 869135d97a fix(ui): wrap interactive reminder spans in .msg-body + exclude system-nudge from anchor lookup Patrick Buckley 2026-05-06 22:15:45 -07:00
  • 885f6a9185 fix(memory): wire limit kwarg through load_messages Patrick Buckley 2026-05-06 22:14:50 -07:00
  • 81502c962f fix(session): delete stale 'reminders stay in-memory' comment Patrick Buckley 2026-05-06 22:14:21 -07:00
  • 91e7f2daca fix(session): preserve _source/_reminders on fork + cap persisted reminder text Patrick Buckley 2026-05-06 22:14:02 -07:00
  • f1466ca7e3 fix(session): flag persisted reminders delivered on resume Patrick Buckley 2026-05-06 22:06:26 -07:00
  • 6ae6877acc feat(ui): structured watch-result card + system-nudge marker on replay Patrick Buckley 2026-05-06 17:07:00 -07:00
  • 13db19905a feat(metacog): structured watch reminders carry watch metadata onto NudgeQueue Patrick Buckley 2026-05-06 16:57:14 -07:00
  • 30b7e4dd24 refactor(metacog): widen NudgeQueue._Entry with optional metadata field Patrick Buckley 2026-05-06 16:49:42 -07:00
  • f64c3e7b10 feat(storage): persist _source + _reminders side-channels on conversations Patrick Buckley 2026-05-06 16:42:26 -07:00
  • c6b4dc26be fix(console): atomic coord-subsystem commit + offload startup teardown Patrick Buckley 2026-05-06 23:28:17 -07:00
  • 3143965e00 fix(console): bootstrap coord subsystem on first model add Patrick Buckley 2026-05-06 23:04:27 -07:00
  • 12cc052bca fix(mcp): apply Phase 7b PR #485 review feedback Patrick Buckley 2026-05-06 22:05:38 -07:00
  • 124615cce0 feat(mcp): per-user resource + prompt pool dispatch (Phase 7b) Patrick Buckley 2026-05-06 16:19:09 -07:00
  • c757c22f55 fix(metacog): atomic cap-and-drop helper for soft-cap producers Patrick Buckley 2026-05-06 16:03:19 -07:00
  • 39e0f930c1 fix(metacog): factor sanitiser regex tail + trim docstrings + drop tombstone Patrick Buckley 2026-05-06 15:38:20 -07:00
  • 751ed9c85f test(metacog): drop redundant valid_until test + tighten concurrency bound + cover is_watch_active Patrick Buckley 2026-05-06 15:38:03 -07:00
  • 20c4dfaca6 fix(metacog): tighten concurrency bound + lift storage-patch helper Patrick Buckley 2026-05-06 15:10:35 -07:00
  • 28d9bb4802 fix(metacog): drop watch_id rebind + trim soft-cap inline comment Patrick Buckley 2026-05-06 15:04:40 -07:00
  • ed1eaee216 test(metacog): integration coverage for _watch_restore_fn closure Patrick Buckley 2026-05-06 15:01:08 -07:00
  • 3b495eba15 fix(metacog): is_watch_active storage primitive for hot-path valid_until Patrick Buckley 2026-05-06 14:55:27 -07:00
  • e5e6e13307 fix(metacog): NudgeQueue.count_by_type primitive + channel-aligned soft cap Patrick Buckley 2026-05-06 14:50:25 -07:00
  • 68a44cc7e2 fix(metacog): drop test_watch_live.py — defer R9 to operator-driven verification Patrick Buckley 2026-05-06 14:46:19 -07:00
  • e596650a5c fix(metacog): split sanitiser regex — strict for names, permissive for payloads Patrick Buckley 2026-05-06 14:42:40 -07:00
  • d2028aa4f7 fix(metacog): drop misleading _watch_restore_fn comment Patrick Buckley 2026-05-06 13:39:41 -07:00
  • 17c62f7ef3 test(metacog): watch switchover boundary integration + live scaffold Patrick Buckley 2026-05-06 13:29:27 -07:00
  • 7ca00b564c test(metacog): NudgeQueue-based dispatch tests for watch closure Patrick Buckley 2026-05-06 13:24:39 -07:00
  • 94ed79d488 feat(metacog): switchover — watches enqueue onto NudgeQueue not _watch_pending Patrick Buckley 2026-05-06 13:18:34 -07:00
  • 195ff985cc refactor(metacog): widen WatchRunner dispatch_fn signature to (msg, watch_id) Patrick Buckley 2026-05-06 12:46:33 -07:00
  • 78ae7ae6b5 refactor(metacog): shared sanitize_payload + watch_triggered nudge type Patrick Buckley 2026-05-06 12:42:22 -07:00
  • 74f1958e47 feat(metacog): NudgeQueue.drop_oldest_by_type helper for soft-cap producers Patrick Buckley 2026-05-06 12:37:16 -07:00
  • 62909d402c fix(mcp): apply Phase 7 PR review feedback Patrick Buckley 2026-05-06 15:00:44 -07:00
  • a8b34bfe54 feat(mcp): per-user catalog scoping (Phase 7 — tools) Patrick Buckley 2026-05-06 12:52:41 -07:00
  • 0fbf31e713 fix(metacog): bot-review fixes — watcher gate + two stale docstrings Patrick Buckley 2026-05-06 11:56:46 -07:00
  • 3f106f98b2 fix(metacog): apply-pass fixes from pre-push full-stack review Patrick Buckley 2026-05-06 11:43:44 -07:00
  • 908e67fe4f feat(metacog): coord idle-children nudge — observer + valid_until predicates Patrick Buckley 2026-05-06 00:33:11 -07:00
  • f0e7fea549 feat(metacog): wake trigger — IdleNudgeWatcher + ChatSession.deliver_wake_nudge_from_queue Patrick Buckley 2026-05-05 23:53:22 -07:00
  • 94b3720916 refactor(metacog): unify advisory channels into pull-model NudgeQueue Patrick Buckley 2026-05-05 22:58:17 -07:00
  • f6a3b66ea4 fix(mcp): asyncio.timeout (not wait_for) for safe-close-stack on Python 3.11 Patrick Buckley 2026-05-06 11:19:10 -07:00
  • 97086fc617 fix(mcp): pool-reuse 401 — entry-owned carrier + race-and-cancel Patrick Buckley 2026-05-05 23:28:52 -07:00
  • db9260d8c4 feat(mcp): SDK 401/403 introspection via httpx response hook Patrick Buckley 2026-05-05 21:41:51 -07:00
  • 39a6b7b447 fix(man): accept canonical name(section) page notation Patrick Buckley 2026-05-05 17:08:08 -07:00
  • 3eb9d22ad5 fix(mcp): cancellation-safe orphan-lock drain + lock-reorder + test integrity Patrick Buckley 2026-05-05 15:26:32 -07:00
  • 4db7d9c6cf feat(mcp): per-(user, server) ClientSession pool with OAuth dispatch Patrick Buckley 2026-05-05 00:05:48 -07:00
  • e695a98c54 test(mcp): SDK 1.27 concurrency spike for per-(user, server) pool Patrick Buckley 2026-05-04 22:04:52 -07:00
  • 62bbc332af fix(mcp): pin OAuth return_url + sanitise read-scope status Patrick Buckley 2026-05-04 21:56:41 -07:00
  • 29c42c1427 feat(mcp): per-(user, server) OAuth 2.1 + PKCE flow Patrick Buckley 2026-05-04 20:05:01 -07:00
  • 7f132e7230 feat(mcp): token-at-rest encryption layer for OAuth-MCP Patrick Buckley 2026-05-04 18:54:58 -07:00
  • d675b237a3 feat(mcp): oauth schema + minimum admin form Patrick Buckley 2026-05-04 18:06:49 -07:00
  • be0950bb98 refactor(mcp): consolidate per-server state into StaticServerState dataclass Patrick Buckley 2026-05-04 17:26:32 -07:00
  • eb2a119da9 refactor(mcp): remove periodic refresh, add manual refresh/reconnect controls Patrick Buckley 2026-05-04 16:42:34 -07:00
  • 0a8083e6d5 feat(skills): paste SKILL.md to auto-fill the Create Skill modal (#477) Patrick Buckley 2026-05-04 16:12:53 -07:00
  • b2153d907f fix(oidc): close transient client on disable paths + correct docstring Patrick Buckley 2026-05-04 14:25:12 -07:00
  • 5d4a50d2cd chore(oidc): consolidate test OIDCConfig helper + fix exceptions banner (cumulative q-4, q-5) Patrick Buckley 2026-05-04 13:11:30 -07:00
  • 7c6bc22d02 perf(auth): migrate handle_auth_status to count_users (cumulative q-3) Patrick Buckley 2026-05-04 13:10:09 -07:00
  • d5087ef3b9 fix(oidc): serialise role-mapping concurrency + skip no-op write lock (cumulative bug-2, perf-1) Patrick Buckley 2026-05-04 13:09:39 -07:00
  • 3cf87628d2 docs(oidc): document TRUSTED_ENDPOINT_HOSTS + fix three-vs-four required drift (cumulative q-1, q-2) Patrick Buckley 2026-05-04 13:00:47 -07:00
  • 1c41212f15 fix(oidc): self-heal stranded user when role mapping fails post-create (cumulative bug-1) Patrick Buckley 2026-05-04 12:59:53 -07:00
  • 5c11ab985f test(oidc): close coverage gaps + tighten fetch_jwks shape check (q-5, q-8) Patrick Buckley 2026-05-04 04:08:50 -07:00
  • bae4adca12 refactor(oidc): quality cleanup (bug-3, q-1/3/4/6/7/9/10/11/12/13) Patrick Buckley 2026-05-04 03:53:59 -07:00
  • 39a647f39c perf(oidc): batch perf hardening (perf-1..8) Patrick Buckley 2026-05-04 03:39:00 -07:00
  • 0af3adae1d fix(oidc): callback robustness — typed exceptions, shape checks, log sanitize, JS race (bug-4, bug-5, bug-6, sec-4) Patrick Buckley 2026-05-04 03:11:00 -07:00
  • 11618bb1d7 fix(oidc): atomic user + identity provisioning to prevent orphan rows (bug-1) Patrick Buckley 2026-05-04 03:01:04 -07:00
  • 52aba17740 fix(oidc): require TURNSTONE_OIDC_REDIRECT_BASE; drop Host-header fallback (sec-2) Patrick Buckley 2026-05-04 02:49:00 -07:00
  • 6f9e140a41 refactor(oidc): unify server+console lifespan via initialize_oidc_state (q-2, bug-2) Patrick Buckley 2026-05-04 02:41:07 -07:00
  • 0df7dc026b fix(oidc): SSRF + plaintext credential exfil via discovery doc (sec-1, sec-3) Patrick Buckley 2026-05-04 02:24:31 -07:00
  • 273d547f4e chore: bump version to 1.5.7 v1.5.7 Patrick Buckley 2026-05-04 03:04:09 -07:00
  • bbb404c363 feat(console): inline node picker replaces back-to-console banner (#475) Patrick Buckley 2026-05-04 02:57:34 -07:00
  • 072113f7ca fix(session): properly inject queued user messages mid-loop (#474) Patrick Buckley 2026-05-04 01:25:34 -07:00
  • 7f1b0acf7a Bound search tool output against pathological inputs (#473) Patrick Buckley 2026-05-04 00:46:43 -07:00
  • 6904bd8f39 chore(deps): lock file maintenance renovate[bot] 2026-05-04 04:56:27 +00:00
  • 4d677d1ebf chore(deps): update github actions renovate[bot] 2026-05-04 04:55:38 +00:00
  • 5d6d4436fb feat(console): inline node picker replaces back-to-console banner (#475) Patrick Buckley 2026-05-04 02:57:34 -07:00
  • 11f0813329 fix(session): properly inject queued user messages mid-loop (#474) Patrick Buckley 2026-05-04 01:25:34 -07:00
  • c339615e39 Bound search tool output against pathological inputs (#473) Patrick Buckley 2026-05-04 00:46:43 -07:00
  • 171c8e438f chore(deps): lock file maintenance renovate[bot] 2026-05-04 04:56:27 +00:00
  • b9b723ba93 chore(deps): update github actions renovate[bot] 2026-05-04 04:55:38 +00:00
  • 35f462a46d chore: bump version to 1.5.6 v1.5.6 Patrick Buckley 2026-05-03 13:44:50 -07:00
  • ec74334e74 feat(providers): api_surface toggle + mistral medium reasoning fix (#469) Patrick Buckley 2026-05-03 13:37:50 -07:00
  • 2fd0c29a92 fix(memory): query-aware candidate selection + OR-of-terms search (#468) Patrick Buckley 2026-05-02 23:52:49 -07:00
  • 1207d27363 fix(tests): isolate metrics-singleton swaps so they don't leak across files Patrick Buckley 2026-05-02 20:18:56 -07:00