gsxdsm
294209f64b
FN-5943: maintain tasks FTS5 indexes automatically
Keep the tasks FTS5 index compact and self-healing during routine maintenance.
- add FTS5 trigger helpers, index sizing utilities, and a schema migration that skips no-op searchable-field rewrites
- run merge/optimize/rebuild maintenance from self-healing with thresholds, cadence, and run-audit logging
- add focused FTS maintenance coverage and update storage/architecture docs for the new behavior
Files changed:
docs/architecture.md | 1 +
docs/storage.md | 14 ++
packages/core/src/__tests__/db-migrate.test.ts | 50 ++--
packages/core/src/__tests__/db.test.ts | 84 +++----
packages/core/src/__tests__/goals-schema.test.ts | 2 +-
packages/core/src/__tests__/insight-store.test.ts | 10 +-
.../src/__tests__/merge-request-record.test.ts | 2 +-
packages/core/src/__tests__/mission-store.test.ts | 2 +-
packages/core/src/__tests__/run-audit.test.ts | 2 +-
.../src/__tests__/store-archive-search.test.ts | 33 +++
.../core/src/__tests__/store-merge-queue.test.ts | 2 +-
packages/core/src/__tests__/task-documents.test.ts | 2 +-
packages/core/src/archive-db.ts | 6 +-
packages/core/src/db.ts | 162 ++++++++++---
packages/core/src/store.ts | 16 ++
.../engine/src/__tests__/fts-maintenance.test.ts | 268 +++++++++++++++++++++
packages/engine/src/self-healing.ts | 70 ++++++
.../src/store/__tests__/roadmap-store.test.ts | 4 +-
18 files changed, 622 insertions(+), 108 deletions(-)
Fusion-Task-Id: FN-5943
Fusion-Task-Lineage: 9a851ede-95ee-4b76-bc34-737912f0e3fc
2026-06-07 18:51:46 -07:00
..
2026-06-07 18:51:46 -07:00
2026-05-23 02:29:38 -07:00
2026-06-05 03:41:54 -07:00
2026-05-31 13:50:23 -07:00
2026-05-20 15:54:44 -07:00
2026-05-29 20:05:14 -07:00
2026-06-02 23:13:16 -07:00
2026-05-28 21:23:48 -07:00
2026-05-21 12:04:58 -07:00
2026-05-19 17:19:02 -07:00
2026-05-23 22:09:25 -03:00
2026-06-05 23:06:46 -07:00
2026-05-19 17:19:02 -07:00
2026-05-20 15:54:44 -07:00
2026-06-04 22:53:02 -07:00
2026-05-21 09:06:23 -07:00
2026-06-03 17:14:42 -07:00
2026-06-05 00:19:13 -07:00
2026-05-28 21:23:48 -07:00
2026-05-28 21:23:48 -07:00
2026-06-05 15:23:15 -07:00
2026-06-03 13:51:13 -07:00
2026-06-02 23:13:16 -07:00
2026-05-19 07:45:12 -07:00
2026-05-21 12:49:50 -07:00
2026-05-18 12:31:21 -07:00
2026-06-03 15:24:03 -07:00
2026-05-20 08:23:40 -07:00
2026-05-23 00:03:12 -07:00
2026-05-30 15:15:47 -07:00
2026-06-05 00:15:57 -07:00
2026-06-04 16:16:50 -07:00
2026-06-04 01:22:56 -07:00
2026-06-01 08:23:02 -07:00
2026-05-19 03:21:18 -07:00
2026-06-04 22:37:51 -07:00
2026-05-19 22:50:39 -07:00
2026-05-19 19:28:05 -07:00
2026-05-29 10:23:59 -07:00
2026-06-05 23:06:46 -07:00
2026-05-31 08:32:01 -07:00
2026-05-30 22:53:24 -07:00
2026-05-29 07:11:00 -07:00
2026-06-03 15:32:29 -07:00
2026-06-03 17:57:00 -07:00
2026-06-04 07:34:02 -07:00
2026-05-26 21:57:31 -07:00
2026-05-16 17:31:09 -07:00
2026-06-07 17:42:43 -07:00
2026-05-21 12:04:58 -07:00
2026-06-05 00:15:57 -07:00
2026-06-05 20:05:29 -07:00
2026-06-04 07:34:02 -07:00
2026-06-02 08:35:47 -07:00
2026-05-28 15:04:41 -07:00
2026-05-26 21:57:31 -07:00
2026-05-22 14:44:21 -07:00
2026-05-23 09:59:50 -07:00
2026-05-28 13:02:30 -07:00
2026-05-21 16:30:31 -07:00
2026-06-04 22:37:51 -07:00
2026-05-16 23:45:17 -07:00
2026-06-03 17:14:42 -07:00
2026-06-04 22:37:51 -07:00
2026-05-30 09:43:02 -07:00
2026-05-16 17:31:09 -07:00
2026-05-28 21:17:02 -07:00
2026-06-03 17:14:42 -07:00
2026-06-04 12:44:43 -07:00
2026-06-04 12:44:43 -07:00
2026-06-04 07:34:02 -07:00
2026-05-19 19:28:05 -07:00
2026-06-06 00:15:28 -07:00
2026-06-05 20:05:29 -07:00
2026-06-05 22:49:39 -07:00
2026-06-05 20:20:25 -07:00
2026-06-05 20:05:29 -07:00
2026-06-05 23:06:46 -07:00
2026-05-29 20:05:14 -07:00
2026-06-05 23:06:46 -07:00
2026-05-29 20:05:14 -07:00
2026-06-04 22:53:02 -07:00
2026-05-26 23:41:28 -07:00
2026-06-04 22:37:51 -07:00
2026-05-17 02:08:01 -07:00
2026-05-21 00:17:33 -07:00
2026-05-15 16:38:45 -07:00
2026-06-04 01:03:34 -07:00
2026-05-28 21:23:48 -07:00
2026-05-28 21:23:48 -07:00
2026-06-07 18:51:46 -07:00
2026-05-19 14:22:11 -07:00
2026-06-07 18:51:46 -07:00
2026-05-28 21:23:48 -07:00
2026-05-28 21:23:48 -07:00
2026-05-23 14:26:57 -07:00
2026-05-30 21:53:00 -07:00
2026-06-04 14:01:55 -07:00
2026-06-04 12:26:05 -07:00
2026-06-05 00:05:02 -07:00
2026-05-31 23:24:53 -07:00
2026-06-05 00:16:14 -07:00
2026-05-28 21:23:48 -07:00
2026-05-28 21:23:48 -07:00
2026-06-02 01:48:26 -07:00
2026-05-28 15:39:23 -07:00
2026-05-18 00:53:23 -07:00
2026-06-04 22:37:51 -07:00
2026-06-07 18:51:46 -07:00
2026-05-19 19:28:05 -07:00
2026-05-15 12:12:50 -07:00
2026-06-04 07:34:02 -07:00
2026-06-05 20:32:24 -07:00
2026-06-05 23:06:46 -07:00
2026-06-05 19:55:31 -07:00
2026-06-05 23:06:46 -07:00
2026-05-31 08:32:01 -07:00
2026-05-28 21:23:48 -07:00
2026-06-07 17:59:24 -07:00
2026-06-01 01:37:25 -07:00
2026-05-22 22:43:26 -07:00
2026-05-19 05:57:57 -07:00
2026-05-18 01:50:22 -07:00
2026-05-22 22:43:26 -07:00
2026-06-04 13:04:15 -07:00
2026-05-15 19:37:48 -07:00
2026-06-04 08:40:10 -07:00
2026-05-18 11:01:32 -07:00
2026-05-23 15:13:17 -07:00
2026-05-16 20:54:33 -07:00
2026-05-18 15:51:01 -07:00
2026-05-15 22:18:09 -07:00
2026-05-20 15:54:44 -07:00