Skip to content

[repo-assist] perf: index related section lookups - #1416

Merged
BenjaminMichaelis merged 1 commit into
mainfrom
repo-assist/perf-related-section-lookup-aef0d0ffb9233815
Oct 17, 2026
Merged

BenjaminMichaelis merged 1 commit into
mainfrom
repo-assist/perf-related-section-lookup-aef0d0ffb9233815

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 This is an automated PR from Repo Assist, an AI assistant for this repository.

Summary

FindRelatedSections previously searched every site mapping for each semantic result. This change builds a per-request chapter/heading index once and uses dictionary lookups, reducing the mapping phase from O(results × mappings) to O(mappings + results) while preserving case-insensitive matching and first-match behavior.

Root cause and rationale

Related-section results performed a linear scan of the complete site-mapping collection for every result. As the book mapping grows, that repeated work scales unnecessarily. The local index keeps the existing result and fallback behavior but avoids repeated enumeration.

Test Status

  • ✅ dotnet build EssentialCSharp.Web/EssentialCSharp.Web.csproj --configuration Release --no-restore
  • ⚠️ dotnet test EssentialCSharp.Web.Tests/EssentialCSharp.Web.Tests.csproj --configuration Release --no-restore: 149 passed, 2 pre-existing external integration failures (CaptchaService_Verify_Success and KnownBreachedPassword_IsDetected) because their third-party services were unavailable in this environment.
  • ✅ git diff --check

No new dependencies were added.

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • api.hcaptcha.com
  • api.pwnedpasswords.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "api.hcaptcha.com"
    - "api.pwnedpasswords.com"

See Network Configuration for more information.

Generated by 🌈 Repo Assist, see workflow run. Learn more.
Comment /repo-assist to run again

Add this agentic workflow to your repo

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/repo-assist.md@4bc8419fad05e6b032741cbfd189986700bcf71c

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The localized optimization preserves existing lookup behavior, with no unresolved findings.

No open issues 🎉

What changed in this PR

Optimizes related-section mapping in FindRelatedSections by replacing repeated scans with a per-request index.

Changes:

  • Indexes site mappings by chapter and heading.
  • Uses dictionary lookups while preserving case-insensitive matching, first-match selection, and fallback behavior.
File Description
EssentialCSharp.Web/​Tools/​BookSearchTool.cs Replaces repeated mapping scans with indexed lookups.

Review effort: Balanced

Copilot AI commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

One or more custom setup steps configured for this repository failed during this Copilot code review run:

Restore with dotnet

Setup steps run before each review. If the review above is missing context, or no review was posted at all, the failing step above may be the cause. See the workflow run for failure details, fix your setup steps configuration, and re-request a review.

Note

You can configure setup steps for Copilot code review separately from Copilot cloud agent with a copilot-code-review.yml file. Read the docs for details.

@BenjaminMichaelis
BenjaminMichaelis merged commit a99b2b1 into main Oct 17, 2026
21 of 22 checks passed
@BenjaminMichaelis
BenjaminMichaelis deleted the repo-assist/perf-related-section-lookup-aef0d0ffb9233815 branch October 17, 2026 02:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants