Skip to content

Fix live extension indexing after workspace changes - #333

Draft
joesobo wants to merge 15 commits into
mainfrom
agent/fix-live-extension-indexing
Draft

Fix live extension indexing after workspace changes#333
joesobo wants to merge 15 commits into
mainfrom
agent/fix-live-extension-indexing

Conversation

@joesobo

@joesobo joesobo commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Result

Keep an existing Graph Cache current after VS Code workspace changes and Graph View file operations without automatic full-workspace Indexing.

Core now owns Relationship Graph fallback composition and the complete targeted-update commit lifecycle: writer-revision verification, supersession rebase/retry, missing or corrupt Graph Cache recovery, and persistence before freshness metadata.

Plan

  • Define the live incremental extension contract in CONTEXT.md.
  • Restore serialized, deduplicated changed-path updates over Core incremental Indexing.
  • Listen to editor, VS Code file-operation, and VS Code file-system events.
  • Keep synchronization active when the Graph View is closed.
  • Route Graph View create, rename, delete, undo, and redo through targeted updates.
  • Update and durably persist structural Folder Nodes and non-empty directory descendants without full source analysis.
  • Move complete/fallback Relationship Graph composition behind Core’s interface.
  • Retain Core writer ownership from final revision/source verification through Graph Cache and metadata persistence.
  • Rebase and retry when another writer supersedes an analysis basis, including cross-file Relationships.
  • Recover missing/corrupt Graph Caches from complete state and make Extension cache loads non-destructive.
  • Reject discovery-lifecycle settings changes and retain stale evidence until explicit full Indexing.
  • Preserve complete and scoped graph metrics through targeted updates and cache reload.
  • Reject automatic full-index fallback and mark the existing index stale.
  • Preserve the last consistent complete graph and stale evidence when targeted updates fail.
  • Keep Graph Scope projection separate from the unscoped persisted Relationship Graph.
  • Add focused Core, Extension, concurrency, persistence, and real VS Code regression coverage.
  • Complete independent blocker review.
  • Complete final CI verification for the latest commit (38 checks passed).
  • Add visual proof for Bug Expand language coverage #247.

Runtime verification

A real VS Code 1.129.1 Extension Development Host now passes:

  • Folder Node → New File → child File Node appears without Re-index.
  • Folder Node → New Folder → child Folder Node appears without Re-index.
  • Graph-background New File and toolbar New Folder appear without Re-index.
  • External create and save update the durable Graph Cache while Graph View is hidden.
  • External file and non-empty/empty folder rename and delete update descendant and structural facts durably.
  • Folder facts persist even while the Folder Node type is hidden by Graph Scope.

Local verification at 570481232:

  • Core: 1,521 tests passed across 349 files.
  • Extension node: 2,814 tests passed across 529 files.
  • Live workspace Playwright: 4 tests passed.
  • Core and Extension TypeScript checks, package ESLint, extension build, and diff checks passed.
  • Three rounds of independent blocker review found no remaining high blocker.

Visual proof

Folder Node New Folder creates src/bug-247-child and the graph updates from 21 to 22 Nodes immediately, without Re-index Workspace.

bug-247-live-folder-node.mp4

@vercel

vercel Bot commented Aug 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
codegraphy Skipped Skipped Aug 4, 2026 5:56am

@changeset-bot

changeset-bot Bot commented Aug 4, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5704812

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@codegraphy-dev/core Patch
@codegraphy-dev/extension Patch
@codegraphy-dev/tldraw Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant