Commit Graph

274 Commits

Author SHA1 Message Date
Sisyphus
e46d29ee93 Merge remote-tracking branch 'origin/main' into dev
# Conflicts:
#	manifest.json
2026-05-03 19:26:47 +00:00
Sisyphus
5a105fd4a4 fix: disable Luker browser graph mirror
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-03 14:21:52 +00:00
Youzini-afk
7d827f80b7 fix(recall): prefer user-floor cache on reroll 2026-04-30 03:58:08 +08:00
Youzini-afk
a9f575d98a fix(recall): reuse persisted recall on reroll 2026-04-30 03:30:06 +08:00
Youzini-afk
e0b1bfd6ab chore: increase extraction vector sync timeout from 120s to 300s 2026-04-29 16:51:36 +08:00
Youzini-afk
b7c077ed21 Implement background maintenance post-process queue 2026-04-29 16:01:32 +08:00
Youzini-afk
69dc452120 Implement background maintenance vector sync 2026-04-29 14:52:51 +08:00
Youzini-afk
899774d636 feat: add maintenance concurrency modes 2026-04-29 14:25:16 +08:00
Youzini-afk
6e4ba691a8 Optimize bulk rerun extraction consolidation 2026-04-29 03:25:38 +08:00
Youzini-afk
0749ef29c5 fix(extraction): add SSE stream idle timeout and vector sync timeout to prevent extraction hang
Root cause analysis: extraction can appear stuck at '正在提取xx-xx楼层' indefinitely
when the LLM API connection goes half-open (server stops sending data but keeps the
TCP connection alive). The SSE stream reader.read() would block forever with no
per-chunk idle timeout.

Changes:
1. llm/llm.js: Add LLM_STREAM_IDLE_TIMEOUT_MS (90s default) to
   parseDedicatedStreamingResponse. When no SSE data is received for 90 seconds,
   the read loop aborts with a clear timeout error instead of hanging forever.
   The idle timeout is configurable per-request (defaults to 30% of config timeout,
   minimum 30s).

2. index.js: Add EXTRACTION_VECTOR_SYNC_TIMEOUT_MS (120s) timeout wrapper around
   syncVectorState in handleExtractionSuccess. Vector sync now uses a combined
   AbortSignal (extraction signal + timeout) so that either user abort or 120s
   timeout will break out. Vector sync timeout is treated as non-fatal (doesn't
   abort the entire extraction batch).
2026-04-29 02:43:05 +08:00
Youzini-afk
d702e267d3 fix(migration): 7 critical fixes for Authority migration safety and data integrity
- Fix #2: _executeStatements fallback now batches transactions (150/batch)
  and reorders upsert-before-delete to prevent data loss on payload overflow
- Fix #3: Read/write migratedToAuthority marker in chat_metadata to prevent
  re-overwriting from legacy sources after Authority migration
- Fix #1: Add OPFS → Authority migration channel (exportOpfsSnapshotForChat,
  maybeImportLegacyOpfsSnapshotToLocalStore) inserted before IndexedDB in
  migration chain
- Fix #4: Mark runtimeVectorIndexState dirty with triviumRebuildRequired
  and trigger submitAuthorityVectorRebuildJob after all three migration paths
- Fix #5: Dual-save safety snapshots to Authority blob; rollback can now
  recover from blob when local IndexedDB snapshot is unavailable
- Fix #6: Add isEmptyCheck detail and console.warn for near-empty stores
  to help diagnose residual vs real data in store-not-empty skips
- Fix #7: Add overflow warning logs and sessionStorage persistence for
  Authority offline queue max-items/max-bytes exceeded events
2026-04-29 01:15:37 +08:00
Youzini-afk
8979b89646 feat(authority): harden jobs repair and diagnostics 2026-04-28 19:35:06 +08:00
Youzini-afk
07188feeb1 feat(authority): compare performance baselines 2026-04-28 18:27:12 +08:00
Youzini-afk
7f3ea4f36f feat(authority): add diagnostics artifact manifest UX 2026-04-28 18:12:01 +08:00
Youzini-afk
dc76d1ea4c feat(authority): add consistency repair actions 2026-04-28 17:48:52 +08:00
Youzini-afk
e1d6d3193a feat(authority): add diagnostics baseline ux 2026-04-28 17:05:47 +08:00
Youzini-afk
3a6f577678 feat(authority): add checkpoint audit scaffolding 2026-04-28 16:49:14 +08:00
Youzini-afk
d5dd4b64a8 feat(authority): surface recent jobs in panel 2026-04-28 16:25:58 +08:00
Youzini-afk
cabbe72e23 feat(authority): track job status in panel 2026-04-28 15:35:18 +08:00
Youzini-afk
217573e8bb feat(authority): export diagnostics bundle 2026-04-28 15:16:09 +08:00
Youzini-afk
d7cbbb20c1 Integrate Authority Blob storage 2026-04-28 12:53:18 +08:00
Youzini-afk
1018376c85 Add Authority jobs task backend 2026-04-28 03:53:56 +08:00
Youzini-afk
35fee7d08d feat(authority): add Trivium vector primary adapter 2026-04-28 03:31:46 +08:00
Youzini-afk
3f70d63a86 feat(authority): migrate local graphs to server primary 2026-04-28 03:02:43 +08:00
Youzini-afk
dc37d22dcf feat(authority): add graph SQL store 2026-04-28 02:20:15 +08:00
Youzini-afk
ee9b0afa35 feat(authority): add server-primary capability probe 2026-04-28 01:40:38 +08:00
Youzini-afk
3d077a54e8 fix(history): pause recovery for render-limited chat slices 2026-04-25 17:23:26 +08:00
Youzini-afk
8c489bf1c7 feat(ui): show hidden floor count and render limit 2026-04-25 16:37:50 +08:00
Hao19911125
d50263e3d9 Merge branch 'Youzini-afk:main' into main 2026-04-23 23:00:45 +08:00
Youzini-afk
0daf723fd1 fix: auto-repair malformed memory scope regions 2026-04-23 18:48:30 +08:00
Youzini-afk
13ccc33f0d fix: allow extraction with recoverable pending persist 2026-04-23 02:34:06 +08:00
Youzini-afk
aa3ee1e408 fix: reroll 时复用已有召回记录而非重新触发召回
- rebindRecallRecordToNewUserMessage: 从 frozenRecallOptions 补全 recallInput/boundUserFloorText/authoritativeInputUsed
- ensurePersistedRecallRecordForGeneration: already-up-to-date 守卫增加 recallInput 非空检查
- 新增 tests/recall-reroll-reuse.mjs 回归测试
2026-04-23 01:19:29 +08:00
Youzini-afk
fb4dabeaf1 perf: add dirty persist and hydrate/layout optimizations 2026-04-22 22:27:51 +08:00
Youzini-afk
4ab2e0c3c9 perf: add native hydrate wasm path 2026-04-22 20:09:48 +08:00
Youzini-afk
cfc122244a perf: optimize persist/load P1 hot paths 2026-04-22 18:34:56 +08:00
Youzini-afk
b849117646 Add persistence load and commit attribution diagnostics 2026-04-22 17:12:09 +08:00
Youzini-afk
d2c3d1f5dd Add persistence and retrieval observability with native delta gating 2026-04-21 20:32:20 +08:00
Youzini-afk
50ab967d7b Optimize IndexedDB save snapshot reuse 2026-04-21 18:46:26 +08:00
Youzini-afk
6ddf3a7386 Optimize detached graph save path 2026-04-21 17:44:59 +08:00
Youzini-afk
4fd4786983 perf: reduce graph load memory and clone overhead 2026-04-21 16:57:42 +08:00
Hao19911125
5e238423d6 Fix cloud backup restore runtime refresh 2026-04-21 14:47:03 +08:00
Youzini-afk
37bada37b6 feat: add recall card editing and ENA preview UI 2026-04-20 16:39:29 +08:00
Youzini-afk
fb60502b55 Add cognition owner management flows 2026-04-20 15:35:49 +08:00
Youzini-afk
fbaadddae3 fix: surface rerun preparation failures 2026-04-16 01:27:23 +08:00
Youzini-afk
e3b268bb04 fix: surface rerun extraction progress 2026-04-16 00:14:17 +08:00
Youzini-afk
e2e51c9508 fix: harden opfs capability recovery 2026-04-15 22:47:34 +08:00
Youzini-afk
359a2a07b7 feat: deepen luker host integration 2026-04-15 21:20:08 +08:00
Youzini-afk
04aa79bcc3 chore: trim trailing newline in index 2026-04-15 17:36:36 +08:00
Youzini-afk
dc4eac4ced fix: harden luker sidecar persistence consistency 2026-04-15 17:36:36 +08:00
Youzini-afk
13d2b04e73 fix: fallback persistence chat identity on mobile 2026-04-15 16:20:11 +08:00