Home

giogio / openez-graph

public
Overview Code History Branches Pull requestsIssuesInsights
main
HomeOverview Code PRsIssues

perf(db): prebuilt SQLite templates, skip registry on index, WAL checkpoint

3 months ago

1d79232
Authored
JoeJoeflyn8/4/2026, 3:30:19 PM
- Defer graph building to first AI query (lazy via ensureGraphBuilt)
- Background graph build on MCP serve startup (setImmediate, non-blocking)
- Centralize fastHash in hash.ts, replace 5 duplicate implementations
- Process-unique ID prefix to avoid cross-process collisions
- Pass filePath to oxc-parser for correct TSX/JSX parsing
- Gate single-quote stripping for Rust lifetimes
- Bounds checks for unterminated comments in stripNonCode
- Per-task error handling in worker pool, try/finally cleanup
- Atomic template copy for workspace-db and registry-db
- Warm DB schema init: only run DDL for missing objects
- Wrap ensureFtsReady in transaction to prevent concurrent backfill
- Store importPaths in chunk metadata for lazy graph reconstruction
- Remove duplicate rootPath unique constraint in schema
- Scanner honors exclude globs, reports swallowed errors

Parent2444f41

27 files changed
  • apps/cli/package.json+0−4
  • apps/cli/src/cli.ts+26−12
  • apps/cli/tsup.config.ts+24−5
  • apps/mcp/src/mcp-core.ts+7−0
  • apps/web/package.json+0−2
  • apps/web/src/server/sqlite.ts+8−3
  • packages/core/src/tokenizer.ts+64−30
  • packages/db/package.json+0−2
  • packages/db/scripts/build-template.ts+43−0
  • packages/db/src/sqlite-index.ts+1−1
  • packages/db/src/sqlite/database-loader.ts+6−40
  • packages/db/src/sqlite/index.ts+1−1
  • packages/db/src/sqlite/registry-db.ts+71−46
  • packages/db/src/sqlite/repository.ts+204−32
  • packages/db/src/sqlite/schema.ts+36−82
  • packages/db/src/sqlite/types.ts+6−0
  • packages/db/src/sqlite/workspace-db.ts+96−125
  • packages/indexer/package.json+2−2
  • packages/indexer/src/code.ts+0−223
  • packages/indexer/src/hash.ts+6−4
  • packages/indexer/src/index-workspace.ts+43−192
  • packages/indexer/src/languages.ts+263−15
  • packages/indexer/src/markdown.ts+1−8
  • packages/indexer/src/parse-core.ts+5−12
  • packages/indexer/src/parse-worker.ts+12−12
  • packages/indexer/src/scanner.ts+10−3
  • pnpm-lock.yaml+373−45