Skip to content

Development Branch #220

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 28 commits into
base: main
Choose a base branch
from
Open

Development Branch #220

wants to merge 28 commits into from

Conversation

rvguha
Copy link
Collaborator

@rvguha rvguha commented Jun 18, 2025

Pulled all the changes from earlier unmerged branches into this. Resolved conflicts. We can now do testing on this and merge this with main.

rvguha and others added 23 commits June 15, 2025 13:36
Improve decontextualization by passing along previous results as part of the request.
More small changes to conversational history
…iple-Simultaneous-Retrieval-Backends"

This reverts commit ffa1db3, reversing
changes made to 6fbdbc6.
- also provides better abstraction
- adds a number of tests
fix item details UI
- Resolved conflict in code/retrieval/retriever.py
- Kept dynamic imports with auto-installation from main
- Fixed variable references (db_type instead of self.db_type)
misc fixes and UI for ensembles
- Added AccompanimentHandler for finding complementary items (wines, sides, sauces)
- Added SubstitutionHandler for recipe ingredient substitutions
- Updated tools.xml with handler definitions for new tools
- Added UI support for substitution suggestions in managed-event-source.js
- Integrated new tools with the general handler-based routing approach

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Added podcast_scraper.py (renamed from npr_podcast_scraper_complete.py) for scraping podcast data
- Added process_npr_rss_by_org.py for processing NPR RSS feeds by organization
- Cherry-picked only the NPR-specific files from the PR to avoid reverting other changes

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Added modular testing framework with base_test_runner.py
- Added specific test runners for end-to-end, site retrieval, and query retrieval tests
- Added comprehensive test runner scripts (run_all_tests.sh/.bat, run_tests_comprehensive.sh)
- Updated run_tests.py to be a test dispatcher that routes to appropriate test runners
- Added JSON test configuration files for different test types
- Updated testing README with comprehensive documentation
- Preserved all existing functionality while adding new testing capabilities

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Moved retrieve_and_rank_for_query out as standalone method
- Replaced get_vector_db_client with search abstraction
- Fixed handling of 4-tuple search results
- Skip tool selection when generate_mode is summarize or generate
- Applied logging improvements from PR #204 to decontextualize.py
Updated documentation and release notes
@rvguha rvguha requested a review from chelseacarter29 June 19, 2025 02:19
rvguha and others added 3 commits June 18, 2025 19:24
…s.py

- Kept the new _get_item_by_url() method from development (URL-based retrieval feature)
- Preserved _send_no_items_found_message() method from both branches
- Maintained all functionality from both branches
@jennifermarsman jennifermarsman requested a review from Copilot June 19, 2025 05:06
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request consolidates many changes by merging previously unmerged branches into the development branch and resolving conflicts. The changes include adjustments and new features for event streaming and chat interfaces in JavaScript, extensive documentation updates, improvements to the retrieval system configuration, and numerous additions to the testing and utility scripts.

Reviewed Changes

Copilot reviewed 62 out of 67 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
static/streaming.js Update parsing of “details” property and change from a bulleted list to a table for array formatting.
static/managed-event-source.js Introduce new message types and debug message collection, as well as enhancements to tool selection flow.
docs/* New and revised documentation on tools, retrieval, headers, and configuration guidelines.
code/utils/json_utils.py New JSON trimming and merging functions with recursive merge logic.
code/tools/* Refactoring of Qdrant loading and other tool modules, including asynchronous adaptations and configuration adjustments.
code/testing/* Numerous new test runners and scripts for site retrieval, query retrieval, end-to-end testing and comprehensive test suite improvements.
Comments suppressed due to low confidence (1)

code/tools/db_load.py:922

  • Ensure that the configuration migration from 'preferred_retrieval_endpoint' to 'write_endpoint' is clearly documented in the migration guide to help developers adjust their setups.
    endpoint_name = database or CONFIG.write_endpoint

elif val1 == val2:
merged[key] = val1
else:
# Create array with both values
Copy link
Preview

Copilot AI Jun 19, 2025

Choose a reason for hiding this comment

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

Consider adding a comment to document the rationale for merging non-identical scalar values into an array, ensuring that future maintainers understand this intentional behavior.

Suggested change
# Create array with both values
# Create array with both values to preserve both conflicting scalar values.
# This ensures no data is lost during the merge process.

Copilot uses AI. Check for mistakes.

stats['failed_conversion'] += 1

# Be respectful with requests
time.sleep(2)
Copy link
Preview

Copilot AI Jun 19, 2025

Choose a reason for hiding this comment

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

[nitpick] Consider using an asynchronous sleep (e.g., await asyncio.sleep(2)) if the surrounding context is asynchronous to avoid blocking the event loop; if synchronous delay is intended, please document this decision.

Suggested change
time.sleep(2)
await asyncio.sleep(2)

Copilot uses AI. Check for mistakes.

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