Skip to content

Scope PageRank fallback to repo and collection#186

Merged
m1rl0k merged 3 commits intotestfrom
multi-granular
Jan 19, 2026
Merged

Scope PageRank fallback to repo and collection#186
m1rl0k merged 3 commits intotestfrom
multi-granular

Conversation

@m1rl0k
Copy link
Collaborator

@m1rl0k m1rl0k commented Jan 19, 2026

Updated Cypher queries in Neo4jGraphBackend and Neo4jKnowledgeGraph to ensure PageRank fallback logic only considers CALLS and IMPORTS relationships within the same collection and/or repo. This prevents cross-repo or cross-collection influence when calculating in-degree approximations.

Updated Cypher queries in Neo4jGraphBackend and Neo4jKnowledgeGraph to ensure PageRank fallback logic only considers CALLS and IMPORTS relationships within the same collection and/or repo. This prevents cross-repo or cross-collection influence when calculating in-degree approximations.
@augmentcode
Copy link

augmentcode bot commented Jan 19, 2026

🤖 Augment PR Summary

Summary: Scopes the PageRank fallback (in-degree approximation) to avoid cross-repo/cross-collection influence.
Changes: Updates Neo4j Cypher in Neo4jGraphBackend and Neo4jKnowledgeGraph to constrain CALLS/IMPORTS relationships by collection and/or repo when computing fallback ranks.

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 2 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

WHERE n.repo = $repo
OPTIONAL MATCH (n)<-[r:CALLS|IMPORTS]-()
OPTIONAL MATCH (n)<-[r:CALLS|IMPORTS {collection: $collection}]-(caller)
WHERE caller.repo = $repo
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because this WHERE caller.repo = $repo is applied after an OPTIONAL MATCH, rows where no caller exists will be filtered out (since caller is null), so symbols with zero incoming edges may not get the intended base pagerank. Consider making the repo predicate null-safe or pushing it into the OPTIONAL MATCH pattern so unmatched rows are preserved.

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎

WHERE n.repo = $repo
OPTIONAL MATCH (n)<-[r:CALLS|IMPORTS]-()
OPTIONAL MATCH (n)<-[r:CALLS|IMPORTS]-(caller)
WHERE caller.repo = $repo
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same OPTIONAL MATCH + WHERE caller.repo = $repo interaction here: nodes with no incoming CALLS/IMPORTS will be dropped, which contradicts the comment about giving all nodes a base rank. This could cause some symbols in the repo to never have pagerank set in the fallback path.

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎

Added OpenCode to the supported clients list in README.md and provided detailed configuration instructions and examples for OpenCode in docs/IDE_CLIENTS.md, including MCP bridge and direct HTTP endpoint setups.
Introduces pre-configured agent profiles for Sisyphus, each tailored for specific development, documentation, planning, and testing tasks. Agents are enhanced with Context-Engine MCP tools for semantic code search, symbol graph navigation, and memory storage, with detailed guidelines and tool matrices for each role.
@m1rl0k m1rl0k merged commit 6ac8cb8 into test Jan 19, 2026
1 check passed
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