Commit Graph

303 Commits

Author SHA1 Message Date
youzini
a8332a8131 refactor(runtime): extract generation recall transaction lifecycle factory (Phase 4c) 2026-05-31 11:54:45 +00:00
youzini
4f1ccd4c7f refactor(runtime): extract reroll/planner recall input factory (Phase 4b) 2026-05-31 11:48:07 +00:00
youzini
42011201b9 refactor(runtime): extract recall input/intent state factory (Phase 4a) 2026-05-31 11:40:46 +00:00
youzini
ed35b1d8ef refactor(maintenance): extract history-recovery controller, fully migrate p0 off index.js slicing 2026-05-31 11:27:16 +00:00
youzini
43c4224915 refactor(ui): extract recall-message-ui controller, migrate p0 recall harness off slicing 2026-05-31 11:17:27 +00:00
youzini
3fd7d8b699 refactor(maintenance): extract reroll rollback controller, migrate p0 reroll harness off slicing 2026-05-31 11:07:06 +00:00
youzini
aaf2367d7e refactor(maintenance): extract handleExtractionSuccess controller, migrate p0 batch harness off slicing 2026-05-31 10:59:44 +00:00
youzini
7122ee16da refactor(ui): extract history-dirty notice, migrate p0 notification off slicing 2026-05-31 10:43:35 +00:00
youzini
dfcf1ba38e refactor(ui): extract message-render-limit module, migrate test off index.js slicing 2026-05-31 10:41:26 +00:00
youzini
90e14011ae refactor(vector): extract syncVectorState controller, migrate mobile-status off index.js slicing 2026-05-31 10:37:17 +00:00
youzini
4a1560318a refactor(persistence): route state updates through events 2026-05-30 14:06:21 +00:00
youzini
fd63202a20 refactor(rebirth): isolate vector and reroll gates 2026-05-30 14:02:05 +00:00
youzini
a800f7fc8c refactor(rebirth): centralize persistence reducer 2026-05-30 13:47:10 +00:00
youzini
10ec3b7b77 refactor(rebirth): extract identity resolver core 2026-05-30 13:38:01 +00:00
youzini
152913811f fix(vector): repair missing graph identity before rebuild 2026-05-19 13:47:46 +00:00
youzini
681b09a81c fix(vector): recover after embedding model changes 2026-05-19 09:05:55 +00:00
youzini
0f0da1fbe8 fix(persistence): repair legacy pending state safely 2026-05-19 07:36:35 +00:00
opencode
d2d01d2c24 fix(recall): preserve reroll user-floor reuse 2026-05-15 20:13:13 +00:00
opencode
2823d18167 fix(persistence): clear stale pending confirmations 2026-05-15 19:44:08 +00:00
opencode
1eec503716 fix(vector): clarify embedding probe failures 2026-05-15 18:14:46 +00:00
opencode
0cdbeef3a3 fix(ui): respect dismissed stage notices 2026-05-15 17:49:53 +00:00
OpenCode
71d39abe22 fix(authority): continue replica sync after partial failures 2026-05-15 17:08:20 +00:00
OpenCode
83765c6254 fix(authority): checkpoint from SQL source 2026-05-15 16:59:47 +00:00
opencode
3c69b7d4fb feat(vector): use Authority BME apply when available 2026-05-15 10:59:49 +00:00
opencode
2174552e7c feat(authority): detect BME manifest capability 2026-05-15 10:46:43 +00:00
opencode
08fcfda6ac feat(authority): show automatic upgrade state 2026-05-15 10:38:26 +00:00
opencode
be38a2c0d2 fix(vector): harden runtime embedding sync 2026-05-15 09:55:00 +00:00
Sisyphus
39355459a6 fix(authority): route graph persistence by storage readiness
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-07 04:13:54 +00:00
Sisyphus
fecbd1f2a6 fix(authority): gate vector rebuild jobs
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-05-03 19:27:47 +00:00
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