docs(i18n): add 10-language README translations#3
Merged
Conversation
19 tasks
epicsagas
added a commit
that referenced
this pull request
Jun 26, 2026
…ilarity) (#46) * feat(graph): add CSR graph algorithms (pagerank, community, path, similarity) Pure-Rust zero-dependency module (src/graph/algo/) compiled in behind the existing `graph` feature — no Cargo.toml change, no petgraph. Closes the Neo4j/GDS algorithm gap flagged in issue #45 Axis C. - CsrGraph: directed weighted CSR snapshot with dangling-node detection - pagerank: weighted power iteration with dangling-node redistribution - community: connected components (union-find) + label propagation - path: Dijkstra weighted shortest path (distance = -ln(weight)) - similarity: Jaccard, common neighbors, Adamic-Adar, link prediction smart_recall's graph boost (W_GRAPH) now ranks the top-100 candidates by true PageRank over their induced subgraph, replacing the approximate degree-centrality neighbor-weight sum. The SQLite (recall.rs) and PostgreSQL (pg.rs) recall paths share pagerank_default, permanently removing the cross-backend boost-logic drift. All algorithms validated by hand-computed unit tests (diamond PageRank, jaccard 1/3, adamic-adar 1/ln(2), two-hop-beats-direct Dijkstra) plus criterion benchmarks (PageRank 1000 nodes: ~4.9us). 570 tests pass, clippy/fmt/rustdoc clean. * docs(graph): record algorithm benchmark baseline, link from README docs/benchmarks/graph.md captures the 2026-06-26 criterion measurements (PageRank 1000 nodes: 4.87us, connected components 9.50us, Dijkstra 41us, CSR build 727us) as the v1.0.0 baseline for issue #45 Axis A / ROADMAP #3. README Benchmarks section now links to it and lists the new algorithm benchmark groups. * fix(graph): clamp edge weights in dijkstra to prevent negative cost edge_cost now clamps weight to [SHORTEST_PATH_W_MIN, 1.0]. A contract-violating weight > 1.0 previously produced -ln(w) < 0, a negative edge cost that breaks Dijkstra's non-negative-edge assumption and silently returns wrong shortest paths. It is now treated as maximal strength (cost 0). Adds a regression test asserting no negative distances. * test(graph): verify pagerank boost ranking in smart_recall recall_graph_boost asserted only len()==2 despite a comment claiming the boost was applied. Now also asserts the dangling sink outranks its source: with hint=None and identical base scores the score difference is purely the graph boost, so this is the one test exercising its ranking effect. Normalizes the contract-violating weight 2.0 to 1.0.
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.
Summary
Add multilingual README translations for 10 languages to improve global accessibility.
Languages Added
kojazh-Hanszh-HantesfrdeptruitStructure
docs/i18n/<lang>/README.md— Structure B (10 languages)Translation Rules Applied