You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Review-graph symbols now carry an owner-qualified display name, and calls/references edges gain two more resolution tiers
lsp_diagnostics/lens_diagnostics sweeps now warm up the primary server once before the per-file loop starts, instead of the first few files eating cold-spawn-adjacent timeouts
Registry-independent backstop orphan sweep
Review-graph symbol-node IDs are now collision-safe
docs/ is now included in the published npm package
pi-lens can now measure its own total CPU/RAM footprint — host process, every live LSP child, and every transient analyzer spawn
Cross-process LSP budget — first prototype of #449 slice 2
lens_diagnostics mode=full breaks its confirmed/unconfirmed LSP-sweep tally down per primary server, and separates primary-vs-auxiliary findings
lens_diagnostics mode=full no longer renders a timed-out (or errored) per-file LSP check as false-clean
lsp_diagnostics directory-mode file cap raised from 50 to 100
lsp_diagnostics/lens_diagnostics can now render a genuinely confirmed "clean" for classic typescript-language-server, not just "unconfirmed"
lens_diagnostics mode=full runs gitleaks on any git repo, not only ones with an explicit gitleaks config
A genuine silentOnClean drift finding now files/updates a persistent tracking issue instead of only riding along in the routine docs-refresh PR
opengrep moved off the full-workspace LSP sweep onto a dedicated CLI extractor
lens_diagnostics mode=full now fetches the heavyweight project analyzers FRESH instead of reading a possibly-hours-stale cache
dead-code-client.ts and knip-client.ts no longer each hand-roll their own copy of the "climb up looking for a project-root marker" loop
lsp_diagnostics' batch/directory scan now serializes touches within a single LSP server the same way lens_diagnostics mode=full has since #387
Fixed
nested-ternary/long-parameter-list/no-dupe-class-members had ZERO coverage in the ast-grep NAPI fallback runner on .ts files
ast-grep NAPI fallback runner no longer silently drops a rule's utils: block
ast-grep -js twin rules no longer double-fire on .ts files in the in-process NAPI runner
Dynamic tool deactivation for the 5 situational tools now actually runs, instead of failing silently on every session_start
lsp_diagnostics's serverScope: "primary" actually skips auxiliary scanners now, and the common case drops back to one LSP round trip per file instead of two
Per-edit test-runner findings: fixed a broad vitest include glob producing vacuous 0p/0f "passes" on plain source files, and stopped silently discarding real results when the turn advanced mid-run
lens_diagnostics mode=full's workspace sweep no longer front-loads an entire server group's didOpen burst in one uninterrupted pass
Launching Pi from $HOME and then editing an absolute-path file in another repo could block Pi's event loop for 470-500+ SECONDS while the cascade pipeline walked the entire home directory
A genuine LSP server crash could go completely unlogged when the JSON-RPC connection tore down before the process's own exit event fired
runWorkspaceDiagnostics's batch pre-open pass (#608) could hang an entire full-workspace sweep un-abortably
lens_diagnostics mode=full now runs the heavyweight-analyzer fresh-fetch CONCURRENTLY with the LSP sweep instead of after it, fixing a real-world case where all 7 analyzers went cold
lens_diagnostics mode=full/lsp_diagnostics full-workspace sweeps no longer defeat #271's watched-files debounce, fixing a 0%-100% run-to-run false-timeout rate
Managed npm tools now re-install when their packageName version pin changes
// nosemgrep inline suppression now honored by lsp_diagnostics/lens_diagnostics, not just per-edit dispatch
high-fan-out/high-complexity no longer false-positive on describe()/it() test bodies
fact-rules diagnostics now stamp tool: "fact-rules" instead of their own rule id, fixing scattered turn-summary grouping
clientScope: "all" (the standalone lsp_diagnostics tool and lens_diagnostics_full) now gets per-server-aware diagnostics timeouts instead of one flat cap for every spawned server
A timed-out LSP diagnostics check no longer presents as a confirmed-clean result and no longer erases known-good diagnostic state
lens_diagnostics mode=full and lsp_diagnostics now reconcile fresh scan results into the footer/widget-state cache
Native TS7 no longer inherits classic typescript-language-server's silentOnClean cascade fast path
LSP diagnostics no longer briefly cache stale results after rapid edits
recordDiagnostics drops superseded writes to the widget-state diagnostics cache (same race class as #555)
Dropped the redundant ast_dump tool registration
bus-events.log registered with the log-cleanup retention sweep, and MANAGED_LOG_FILES replaced with auto-derivation
Test runner now resolves mirrored test-tree layouts