Files
AgentCompany/docs/10-code-review-and-performance.md
T

1.9 KiB

Phase 9: Code Reviewer

Correctness Fixes Applied

  • removed better-sqlite3 from the desktop runtime and replaced it with node:sqlite
  • fixed packaged runtime resolution for electron-log/main.js
  • bundled local adapter workspace packages into the main-process build instead of leaving broken runtime imports behind after packaging
  • hardened trusted-sender checks for IPC invocation
  • pinned connector commands to audited runtime defaults instead of accepting arbitrary renderer overrides
  • scoped secrets to companies and resolved secret bindings by companyId
  • validated worker messages at runtime instead of trusting unchecked casts
  • closed a test coverage gap where *.test.ts files were present but excluded from Vitest

Runtime Review

  • renderer responsiveness is acceptable for the current feature set, but continued extraction of shell sections into smaller components remains a maintenance priority
  • heavy agent execution stays out of the renderer through the utility process boundary
  • background database work is local and bounded; privileged tasks do not run directly in the renderer
  • critical run lifecycle writes now execute transactionally
  • lint baseline is now warning-free via eslint.config.mjs and pnpm lint

Remaining Performance Risks

  • the renderer bundle is still large enough that future work should split heavier sections and defer rarely used surfaces
  • cross-platform production profiling has not yet been run on Windows and Linux hardware

Performance Snapshot (2026-03-13)

  • renderer JS bundle (out/renderer/assets/index-*.js): 1,162,405 bytes (~1.11 MB)
  • renderer CSS bundle (out/renderer/assets/index-*.css): 43,344 bytes (~42.3 KB)
  • main bundle (out/main/index.js): ~142.9 KB
  • main connector chunk (out/main/chunks/connectors-*.js): ~146.2 KB
  • preload bundle (out/preload/index.js): ~137.7 KB

The primary optimization target remains renderer bundle splitting and lazy-loading of low-frequency surfaces.