Skip to content

Finish what indexing starts: live project switching, scoped embeddings, persistent selection - #33

Merged
Phoenixrr2113 merged 2 commits into
mainfrom
fix/batch-seven-live-use
Aug 22, 2026
Merged

Phoenixrr2113 merged 2 commits into
mainfrom
fix/batch-seven-live-use

Conversation

@Phoenixrr2113

Copy link
Copy Markdown
Owner

What this fixes

Four findings from the first real use of the dashboard after the campaign, all stateful flows that fresh-fixture reviews never chained.

  • Indexing a new project required a page reload to see it. The completion callback now refetches projects, selects the new one, and reloads its graph and stats.
  • Embedding coverage froze at a partial percentage until Generate was clicked. Root cause: the index-time pass deliberately embeds only an eligible subset of parsed entities and nothing ever ran a second pass over the rest, while status counted every node. A continuation pass now runs automatically after indexing, scoped to the project, idempotent against a concurrent manual Generate (proven in a live-database integration test).
  • The badge counted all projects combined. Status and generate accept a projectId with boundary-safe scoping; the response carries an explicit scope and a running flag, and the badge polls while a pass runs and stops when idle.
  • Project selection was lost on reload. Selection persists in the URL (shareable) with a localStorage fallback, restored in that order on load, with a visible notice when a remembered project no longer exists.

Verification

pnpm turbo build 21/21, test 36/36, typecheck 20/20. Core 275 tests, api 244, dashboard 56. Live probe against a running instance: project-scoped status reports 100 percent for the project's Variables while global reports 71 percent across all nodes, with the running flag present.

🤖 Generated with Claude Code

…s, persistent selection

Four findings from real use of the dashboard. Indexing a new project now
refreshes the project list, selects the new project, and reloads its
graph without a page reload. The embedding badge scopes to the selected
project (global coverage is labeled as such), polls while a pass is
running, and keeps moving after indexing because the server now runs a
continuation pass over the nodes the index-time pass deliberately skips
(Files, Variables, trivial functions), which is why coverage used to
freeze at a partial percentage until Generate was clicked; manual
Generate remains idempotent against the background pass. The selected
project persists in the URL with a storage fallback and restores on
reload, with a visible notice when a remembered project no longer
exists.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Aug 22, 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)
v0-landing-page-build Skipped Skipped Aug 22, 2026 11:19am

Comment thread packages/core/src/embed-pass.ts Fixed
Same polynomial-regex shape CodeQL flagged before, reintroduced by the
project-scoped embedding continuation. Linear loop, identical result.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Phoenixrr2113
Phoenixrr2113 merged commit 155d2f1 into main Aug 22, 2026
12 checks passed
@Phoenixrr2113
Phoenixrr2113 deleted the fix/batch-seven-live-use branch August 22, 2026 11:29

This branch was previously deployed

1 inactive deployment
Preview — b8db7eed Deployed Aug 22, 2026 by vercel[bot]
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.

2 participants