-
2d1900bc8f
fix: drawer modal close button + tab redesign
main
Joseph Doherty
2026-04-27 15:23:04 -04:00
-
50ab0c8229
feat: drawer is now a centered modal popup (director's notebook aesthetic)
Joseph Doherty
2026-04-27 15:17:34 -04:00
-
49be3cf4b9
fix: parse_turn falls back gracefully + classify logs flapping classifiers
Joseph Doherty
2026-04-27 15:07:39 -04:00
-
a11255a5e6
feat: chat timeline is now a viewport-bounded scroll box with sticky-bottom autoscroll
Joseph Doherty
2026-04-27 14:55:21 -04:00
-
3a81e540a1
chore: audit project() callers and non-idempotent handlers
Joseph Doherty
2026-04-27 14:51:49 -04:00
-
0f8bf94d29
fix: kickoff_post uses append_and_apply per-event (no full replay)
Joseph Doherty
2026-04-27 14:43:16 -04:00
-
6d57fe88b4
fix: kickoff form accepts loose datetime formats from the classifier
Joseph Doherty
2026-04-27 14:39:13 -04:00
-
f775eb7e92
fix: GET /bots/{bot_id} redirects to the bot's chat
Joseph Doherty
2026-04-27 14:36:04 -04:00
-
e535a0181e
fix: load htmx-1.x SSE ext (was 2.x — incompatible) + Enter-to-send
Joseph Doherty
2026-04-27 14:30:07 -04:00
-
f7eec707a9
fix: chat UI — load htmx-ext-sse, render user prose optimistically, AJAX submit
Joseph Doherty
2026-04-27 14:26:29 -04:00
-
3b83786b8b
feat: cap narrative output at 2-3 beats via trim_to_max_beats post-processor
Joseph Doherty
2026-04-27 14:19:21 -04:00
-
a902d86432
fix: workers retry-on-lock so they don't drop writes under busy_timeout=100ms
Joseph Doherty
2026-04-27 14:04:27 -04:00
-
de7f6624f0
perf: 18s/turn -> 2.5s/turn (SQLite busy_timeout, parallel state pairs, OpenRouter Cerebras-pinned classifier)
Joseph Doherty
2026-04-27 13:51:27 -04:00
-
d656ee8805
feat: narrative format — third-person asterisk-action style with concrete-beat example
Joseph Doherty
2026-04-27 12:21:03 -04:00
-
fe9c497038
feat: split classifier + embeddings to local mlx-omni-server, narrative stays on Featherless
Joseph Doherty
2026-04-27 12:05:41 -04:00
-
b3d78c1603
docs: clarify FeatherlessClient.embed() rationale (verified 500 + empty embedding catalog)
Joseph Doherty
2026-04-27 11:39:53 -04:00
-
a03f664407
Merge pull request 'Phase 4.5: cleanup — polish, branching, embeddings, lifecycle, deep-link' (#7) from phase-4.5 into main
dohertj2
2026-04-27 11:33:26 -04:00
-
-
cdfacdd0c4
merge: T118 phase 4.5 docs sweep — Phase 4.5 status + Phase 5 backlog
phase-4.5
Joseph Doherty
2026-04-27 07:04:01 -04:00
-
-
5c4356e4e2
merge: T117 phase 4.5 cross-feature integration tests
Joseph Doherty
2026-04-27 07:04:01 -04:00
-
-
969f8963bc
merge: T116 CannedQueue test fixture builder
Joseph Doherty
2026-04-27 07:04:01 -04:00
-
-
f71613786b
test: phase 4.5 cross-feature integration coverage (T117)
Joseph Doherty
2026-04-27 07:03:56 -04:00
-
-
-
4afaf01de7
test: structured CannedQueue fixture builder for classifier mocks (T116)
Joseph Doherty
2026-04-27 07:03:20 -04:00
-
-
5bc9a94734
docs: phase 4.5 status, prune backlog, capture phase 5 candidates (T118)
Joseph Doherty
2026-04-27 06:56:20 -04:00
-
-
cfc05a140c
merge: T114 regenerate lifecycle rollback (back-ref + event_status_reverted)
Joseph Doherty
2026-04-27 06:51:13 -04:00
-
-
80ce891bd8
feat: regenerate rolls back lifecycle transitions on supersede (T114.3)
Joseph Doherty
2026-04-27 06:45:43 -04:00
-
6d4ad86e33
feat: event_status_reverted event kind + projector handler (T114.2)
Joseph Doherty
2026-04-27 06:39:03 -04:00
-
7370f68bdf
feat: lifecycle events carry triggered_by_assistant_turn_id back-reference (T114.1)
Joseph Doherty
2026-04-27 06:38:48 -04:00
-
-
f863cf0158
merge: T113 branching read-side filter (active branch range respected by readers)
Joseph Doherty
2026-04-27 06:25:50 -04:00
-
-
456f50d334
feat: branching read-side filter — event readers consult active branch range (T113)
Joseph Doherty
2026-04-27 06:25:22 -04:00
-
-
757abf24f8
merge: T112 real embedding model swap (Protocol + Mock + routing + backfill)
Joseph Doherty
2026-04-27 06:08:13 -04:00
-
-
9b7a6d459f
feat: backfill_embeddings --re-embed-all flag for model swaps (T112.4)
Joseph Doherty
2026-04-27 06:02:23 -04:00
-
e0a28abbcd
feat: generate_embedding routes non-default models through client.embed (T112.3)
Joseph Doherty
2026-04-27 05:50:29 -04:00
-
ac6e74ab4c
feat: FeatherlessClient.embed() against /v1/embeddings (T112.2)
Joseph Doherty
2026-04-27 05:48:34 -04:00
-
5f16bb575a
feat: LLMClient Protocol gains embed() method (T112.1)
Joseph Doherty
2026-04-27 05:47:55 -04:00
-
-
f05d1e0f21
merge: T111 search UX (FTS snippet + turn deep-link)
Joseph Doherty
2026-04-27 05:42:48 -04:00
-
-
9987da2c07
feat: cross-chat search deep-links to turn via memories.event_id (T111.2)
Joseph Doherty
2026-04-27 05:42:17 -04:00
-
fa87ab8c55
feat: cross-chat search FTS snippet highlighting (T111.1)
Joseph Doherty
2026-04-27 05:30:32 -04:00
-
-
fae6edef6b
merge: T110 drawer Phase 4.5 bundle (event_id guard + html.escape + Jinja partial + bulk re-rate)
Joseph Doherty
2026-04-27 05:26:03 -04:00
-
-
2ab8fcbdf0
feat: drawer bulk significance re-rate per chat (T110.4)
Joseph Doherty
2026-04-27 05:14:59 -04:00
-
5d5c888acf
refactor: drawer delete-impact modal extracted to Jinja partial (T110.3)
Joseph Doherty
2026-04-27 05:13:36 -04:00
-
a45a33534f
fix: drawer delete-impact modal HTML escapes user-controllable fields (T110.2)
Joseph Doherty
2026-04-27 05:12:28 -04:00
-
f3827706df
fix: drawer delete_turn guards event_id <= 0 (T110.1)
Joseph Doherty
2026-04-27 05:11:39 -04:00
-
-
2afbb9fefc
merge: T109 schema 0014 — memories.event_id column
Joseph Doherty
2026-04-27 05:01:17 -04:00
-
-
1f8b4d2078
feat: 0014 schema — embeddings FK CASCADE (deferred or applied) + memories.event_id column (T109)
Joseph Doherty
2026-04-27 05:00:57 -04:00
-
-
3f1a284acb
merge: T108 scene-close-on-cancel strengthen test + rationale
Joseph Doherty
2026-04-27 04:48:00 -04:00
-
-
87f93f00b5
merge: T107 embeddings.py fallback warning
Joseph Doherty
2026-04-27 04:48:00 -04:00
-
-
d1e2902655
merge: T106 search.py N+1 batching + k constant
Joseph Doherty
2026-04-27 04:48:00 -04:00
-
-
54dfa8d611
merge: T105 snapshots.py polish
Joseph Doherty
2026-04-27 04:48:00 -04:00
-
-
5d36d3456f
merge: T104 memory.py DRY MAX(id) + fts_rank doc
Joseph Doherty
2026-04-27 04:48:00 -04:00
-
-
0e9421dcf7
merge: T103 branches polish (global-leak doc + unknown-name warning)
Joseph Doherty
2026-04-27 04:48:00 -04:00
-
-
baffeb3a44
chore: scene-close-on-cancel — strengthen regression test + document rationale (T108)
Joseph Doherty
2026-04-27 04:47:26 -04:00
-
-
-
29b7c90b29
chore: embeddings.py warns on fallback for non-default models (T107)
Joseph Doherty
2026-04-27 04:47:17 -04:00
-
-
-
64c9ca634a
chore: snapshots.py polish — hoisted imports + strict kind + mtime doc (T105)
Joseph Doherty
2026-04-27 04:47:14 -04:00
-
-
-
374a76c867
chore: branches polish — global-leak docs + unknown-name warning (T103)
Joseph Doherty
2026-04-27 04:34:32 -04:00
-
-
b65e1e1098
chore: memory.py DRY MAX(id) helper + document fts_rank=None contract (T104)
Joseph Doherty
2026-04-27 04:34:28 -04:00
-
-
996a16cfb5
perf: search.py N+1 batching + k constant extraction (T106)
Joseph Doherty
2026-04-27 04:34:18 -04:00
-
-
a06f90a164
docs: add Phase 4.5 cleanup plan (all 24 backlog items)
Joseph Doherty
2026-04-27 04:22:08 -04:00
-
df977fc985
Merge pull request 'Phase 4: vector retrieval, branching, drawer polish' (#6) from phase-4 into main
dohertj2
2026-04-27 04:10:25 -04:00
-
-
51a12afbec
merge: T102 phase 4 documentation update
phase-4
Joseph Doherty
2026-04-27 04:09:09 -04:00
-
-
fc3020a0ee
merge: T101 phase 4 cross-feature integration tests
Joseph Doherty
2026-04-27 04:09:09 -04:00
-
-
228f9abb19
test: phase 4 cross-feature integration coverage (T101)
Joseph Doherty
2026-04-27 04:08:25 -04:00
-
-
b6119879e5
docs: phase 4 status, behavioral defaults, deferred items (T102)
Joseph Doherty
2026-04-27 03:56:45 -04:00
-
-
3b4c7b9cef
merge: T100 cross-chat search UX (top-bar + results page)
Joseph Doherty
2026-04-27 03:48:06 -04:00
-
-
36d75fa6e7
merge: T99 snapshot UX (manual trigger + list + restore + preview)
Joseph Doherty
2026-04-27 03:48:06 -04:00
-
-
0a2c5924f9
feat: cross-chat search UX (top-bar + results page) (T100)
Joseph Doherty
2026-04-27 03:46:52 -04:00
-
-
-
a5f0e69d44
feat: snapshot UX (manual trigger + list + restore + preview) (T99)
Joseph Doherty
2026-04-27 03:46:49 -04:00
-
-
3dbe1a01ff
merge: T98 drawer Phase 4 bundle (branching + sig review + hide + delete + remaining edits)
Joseph Doherty
2026-04-27 03:38:15 -04:00
-
-
4546bc0d9c
feat: drawer remaining v1 field edits (T98.5)
Joseph Doherty
2026-04-27 03:35:54 -04:00
-
c4fa11fe78
feat: drawer surgical delete with cascade preview (T98.4)
Joseph Doherty
2026-04-27 03:29:07 -04:00
-
461d441078
feat: drawer hide-from-view toggle + turn_hidden manual_edit branch (T98.3)
Joseph Doherty
2026-04-27 03:27:59 -04:00
-
b25007eb44
feat: drawer significance review panel (T98.2)
Joseph Doherty
2026-04-27 03:25:40 -04:00
-
d39d31479d
feat: drawer branching UI (T98.1)
Joseph Doherty
2026-04-27 03:24:02 -04:00
-
-
7899c50b6c
merge: T97 memory write hook + embedding worker + backfill + call-site wiring
Joseph Doherty
2026-04-27 03:09:14 -04:00
-
-
177e39d59c
feat: wire embedding worker call sites in turns/meanwhile/skip/regenerate (T97.5)
Joseph Doherty
2026-04-27 03:08:36 -04:00
-
d85ed8aaa6
feat: backfill_embeddings script for existing memories (T97.4)
Joseph Doherty
2026-04-27 02:51:48 -04:00
-
9c63d6b24c
feat: app lifespan starts/stops EmbeddingWorker (T97.3)
Joseph Doherty
2026-04-27 02:51:44 -04:00
-
64a07aa87f
feat: memory_write enqueues embedding job after each memory_written (T97.2)
Joseph Doherty
2026-04-27 02:51:40 -04:00
-
6674f9475c
feat: embedding worker drains queue and emits embedding_indexed events (T97.1)
Joseph Doherty
2026-04-27 02:51:36 -04:00
-
-
50448b72f8
merge: T96 combined FTS + vector retrieval ranking via RRF
Joseph Doherty
2026-04-27 02:44:03 -04:00
-
-
b8b4aed6d9
feat: combined FTS + vector retrieval ranking via RRF (T96)
Joseph Doherty
2026-04-27 02:42:38 -04:00
-
-
5ff107574c
merge: T95 delete-impact computation service
Joseph Doherty
2026-04-27 02:37:28 -04:00
-
-
915d625d7f
merge: T94 branching service
Joseph Doherty
2026-04-27 02:37:28 -04:00
-
-
28e13d416f
feat: delete-impact computation service (preview without mutation) (T95)
Joseph Doherty
2026-04-27 02:36:30 -04:00
-
-
-
296e8fdddd
feat: branching service (branch_from_event + switch + metadata) (T94)
Joseph Doherty
2026-04-27 02:35:58 -04:00
-
-
013b563f21
merge: T93 cross-chat search service
Joseph Doherty
2026-04-27 02:32:53 -04:00
-
-
62d5cdd826
merge: T92 pure-Python cosine vector search service
Joseph Doherty
2026-04-27 02:32:53 -04:00
-
-
a25c166174
merge: T91 embedding generation service (pseudo-embedding)
Joseph Doherty
2026-04-27 02:32:53 -04:00
-
-
8f66e1123a
feat: cross-chat search service (T93)
Joseph Doherty
2026-04-27 02:31:31 -04:00
-
-
-
caa17b4174
feat: embedding generation service (Phase 4 pseudo-embedding) (T91)
Joseph Doherty
2026-04-27 02:31:07 -04:00
-
-
c7cb0eb01e
feat: pure-Python cosine vector search service (T92)
Joseph Doherty
2026-04-27 02:31:06 -04:00
-
-
1d6768e980
test: bump schema_version assertion to 13 (0012 embeddings + 0013 branches)
Joseph Doherty
2026-04-27 02:28:11 -04:00
-
8b086d4bb8
merge: T90 phase 3.6 carry-overs trio
Joseph Doherty
2026-04-27 02:27:48 -04:00
-
-
6c7ac8f69f
merge: T89 branches table + projector handlers
Joseph Doherty
2026-04-27 02:27:48 -04:00
-
-
fe34d4f4c0
merge: T88 embeddings table + projector handlers
Joseph Doherty
2026-04-27 02:27:48 -04:00
-
-
0d76a6b2d6
refactor: consolidate legacy record_turn_memory into unified API (T90.3)
Joseph Doherty
2026-04-27 02:25:07 -04:00
-
cc71fb4d01
chore: clarify regenerate lifecycle warning wording (T90.2)
Joseph Doherty
2026-04-27 02:23:55 -04:00
-
c06a32767b
perf: read_recent_dialogue pushes chat-id filter into SQL (T90.1)
Joseph Doherty
2026-04-27 02:23:15 -04:00
-
-
-
0ba374b790
feat: embeddings table + projector handlers (pure-Python cosine, T88)
Joseph Doherty
2026-04-27 02:22:32 -04:00
-
-
77f1636086
feat: branches table + projector handlers (T89)
Joseph Doherty
2026-04-27 02:22:27 -04:00
-
-
bffd9a2f38
docs: add Phase 4 implementation plan (vector retrieval + branching + polish)
Joseph Doherty
2026-04-27 02:03:08 -04:00