v0.2.5 - #10
Merged
Merged
Conversation
… verify_one_claim
…ns for each candidate.
…dundant project_id filtering in parallel products.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
v0.2.5 (2026-08-10)
Removes the LadybugDB (Kuzu) dependency entirely — SQLite is now the sole graph store on all platforms (CSR
adjacency/adjacency_revtables + in-memory BFS). Graph queries, verifiers, and self-check tools behave identically to the LadybugDB-backed build, indexing is ~35-40% faster (rustc: 52.6s → 31.6s, no graph-rebuild pass), and there are zero external runtime dependencies. Also fixes 13 defects found during dogfooding the new backend (C1/C2/P2/P3/H1/H2/M1/M2/M3/L1-L3), including a CSR rebuild that no longer loses entities on incremental re-index, correct adjacency id remapping after parallel merge, SQL-injection-free file filters, and content-hash-based incremental change detection. Restores the three capabilities formally sunset in the Step 10 sprint (complexity metrics, n-gram semantic vector search, and real metrics/embedding readiness), hardensFunctionImplementsverification with call-chain + signature evidence, fixes Go interface embedding (composition) dispatch, and delivers a full SQLite graph-query backend so Windows (and any SQLite-only build) gets every graph MCP tool working instead of erroring.What changed
resolveStagedMetricswas a no-op, no metrics stored,engine_get_complexityreturned{"complexity":null,"unavailable":true}_staged_metrics, resolved ontoentity;get_complexityreturns realcyclomatic/cognitive/nesting_depthbuildVectorsFromGraphwas a no-op,node_vectorsalways empty,engine_search_semanticwas a dead stub,unified_searchwas FTS-onlysearchSemanticJsoncosine ranking with an accuracy floor (score ≥ 0.3, so noise is rejected), TF-IDF identifier weighting (rare tokens dominate),engine_search_semanticwired to the real implementation, appended to FTS when results run short0—metrics_readyhardcoded,metrics/semantic_searchcapabilitiesavailable:false+unavailable_reason:"sunset"entitycyclomatic count andnode_vectorsrows; capabilitiesavailable:truewith coverage + producer versionsFunctionImplementsverificationSupportedeven for a wrong objectinterface A { B; foo() }ignored B's methods — structs implementing B weren't matched to Anode_vectors(external truncation left semantic search empty)buildVectorsFromGraph(idempotent),vector_readystill derived from actual row count"LadybugDB not compiled"on Windows (and the Windows build had 9 latent compile errors)entity/relation, with the same JSON schema as LadybugDB. macOS/Linux keep LadybugDB.-DCODESCOPE_SQLITE_ONLY=ONbuilds the Windows configuration on any hoststore_ladybug_core.cpp,store_graph_compiler.*,engine_rebuild_ladybug_graph(s)FFI and the scheduler's rebuild pass are all deleted;HAS_LADYBUGis never defined. CSR adjacency is built directly fromrelation(type=1)inside a nested-safe SAVEPOINTid_offset = MAX(entity.id)shift; verified goagent 26,243 → 26,425 entities (no loss)CODESCOPE_DEFER_CSR=1) andengine_rebuild_csrremaps/rebuilds after every merge"status":"no_capabilities_declared"; orphan limit 500 with separateorphanscounter (trust_score no longer collapses to 0)Upgrade notes
metricsandsemantic_searchcapability blocks change fromavailable:false, unavailable_reason:"sunset"toavailable:true, ready:<data-derived>. Windows graph-tool responses now return real data (same schema as LadybugDB) instead of"LadybugDB not compiled".get_complexitynow returns real numbers where it previously returned{"complexity":null}— MCP clients that readcomplexityas a number now get an integer.metrics_readycolumn is auto-added toproject_readinessand metrics columns toentityon open (migration); a fresh index/enhance run populates them.-DCODESCOPE_SQLITE_ONLY=ON.Bug fixes
buildVectorsFromGraphwrote nothingentity.node_id(canonical column isid)entity.id; vectors now populateget_complexityreturned sunset markergetComplexityJsonhad a hardcoded unavailable responseentitymetricsmetrics_readynever persistedsetProjectReadiness/getProjectReadinesswhitelistmetrics_readyto whitelist +project_readinesscolumn/migrationFunctionImplementsfalse "Supported" for wrong objectgetModuleMapfailed ongraph_nodescyclomaticcolumnentitywith real metricsbuildVectorsFromGraphskipped on the no-op pathengine_search_semanticalways erroredsearchSemanticJsondot > 0floor let weak/incidental matches throughkSemanticScoreFloor = 0.3rejects noisegetHotspots/getEntryPointsreported metrics as sunsetcomplexity:null, unavailable_reason:"sunset"cyclomatic/cognitive/nesting_depthfromentitydetectBareNameAmbiguityusedlbug_*types without an#ifdef HAS_LADYBUGguard#ifdef HAS_LADYBUG; add-DCODESCOPE_SQLITE_ONLY=ONto build/test the Windows config on any hostentity/relation), same JSON schemagraph_queryfull-graph scan did per-edge lookupsreadEntityqueries (N+1)entityin one query — full call-graph scan dropped to ~37ms on the engine sourcebuild.rsalways usedbuild-release/, leaking macOS-arch arm64into MinGWbuild-release-<target>) when cross-compilinggo_visitor.cppfailed to compile on MinGW<algorithm>forstd::find/std::sort(Clang compiled via indirect include)<algorithm>includeentity.idMAX(entity.id); verified goagent 26,243 → 26,425 entities (no loss)CODESCOPE_DEFER_CSR=1);engine_rebuild_csrremaps/rebuilds after every mergeCODESCOPE_DEFER_CSR=0ignored"0"as set"0"as unset (matchesCODESCOPE_SKIP_ASYNC)Full changelog
See CHANGELOG.md for the complete list of changes.