Skip to content

Make repo more modulized#60

Merged
TheTrueAI merged 2 commits intomainfrom
make-repo-more-modulized
Mar 2, 2026
Merged

Make repo more modulized#60
TheTrueAI merged 2 commits intomainfrom
make-repo-more-modulized

Conversation

@TheTrueAI
Copy link
Owner

No description provided.

update devcontainer configuration, add .editorconfig, and enhance VSCode settings for improved development workflow
Copilot AI review requested due to automatic review settings March 2, 2026 20:21
Copy link

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 PR reorganizes the search domain into a dedicated immermatch.search_api package and updates the codebase/tests/docs to use the new module locations, alongside adding strategy/search-api documentation to support ongoing modularization.

Changes:

  • Move/standardize search orchestration + providers under immermatch/search_api/ and update imports/patch targets accordingly.
  • Add immermatch.search_api package exports via __init__.py.
  • Add/refresh documentation (roadmap + agent guidance) and update repo structure references.

Reviewed changes

Copilot reviewed 19 out of 21 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/test_search_provider.py Updates imports to immermatch.search_api.search_provider.
tests/test_search_agent.py Updates imports and @patch(...) targets to immermatch.search_api.search_agent.
tests/test_integration.py Updates integration test imports and Gemini patch targets to new search module path.
tests/test_bundesagentur.py Updates imports and patch targets to immermatch.search_api.bundesagentur.
immermatch/search_api/serpapi_provider.py Adjusts doc references and imports to parent-level models after package move.
immermatch/search_api/search_provider.py Updates models import to parent package (..models).
immermatch/search_api/search_agent.py Updates imports/doc references to the new search_api module locations.
immermatch/search_api/bundesagentur.py Adjusts doc references and imports to parent-level models after package move.
immermatch/search_api/init.py New package initializer re-exporting search API surface.
immermatch/app.py Updates UI layer imports to immermatch.search_api.*.
daily_task.py Updates cron entrypoint import to immermatch.search_api.search_agent.
README.md Updates docs to reflect new search_api/ project structure.
CLAUDE.md Updates module map references to search_api/*.
AGENTS.md Updates “source of truth” paths and architecture references to search_api/*.
docs/strategy/ROADMAP.md Adds roadmap document under docs/strategy/.
docs/strategy/AGENT.md Adds strategy specialist agent guidance.
docs/search-api/AGENT.md Adds Search API specialist agent guidance and decision-log template.
.vscode/settings.json Adds repo VS Code settings (Copilot agent/terminal auto-approve config).
.github/prompts/write-tests.prompt.md Updates suggested mocking patch paths to immermatch.search_api.*.
.github/copilot-instructions.md Updates instructions’ module map references to search_api/*.
Comments suppressed due to low confidence (1)

immermatch/app.py:58

  • These imports have been moved to immermatch.search_api.*, but the old top-level modules (immermatch/search_agent.py, immermatch/search_provider.py) no longer appear to exist in the package. If anything outside this repo imports the old paths, this becomes a breaking change. Consider adding thin shim modules at the old locations that re-export the new APIs (or explicitly documenting/bumping the version to reflect the breaking import-path change).
from immermatch.search_api.search_agent import (  # noqa: E402
    generate_search_queries,
    profile_candidate,
    search_all_queries,
)
from immermatch.search_api.search_provider import (  # noqa: E402
    get_provider,
    get_provider_fingerprint,
    parse_provider_query,  # noqa: E402
)

Comment on lines +9 to +10
- SerpApi: `@patch("immermatch.search_api.serpapi_provider.serpapi_search")`
- Bundesagentur: `@patch("immermatch.search_api.bundesagentur.requests.get")`
Copy link

Copilot AI Mar 2, 2026

Choose a reason for hiding this comment

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

The suggested patch targets here don’t match the current implementations: serpapi_provider has no serpapi_search symbol (it uses GoogleSearch(...).get_dict() inside search_jobs()), and bundesagentur.py uses httpx rather than requests. Update these examples to patch the actual call sites (e.g., immermatch.search_api.serpapi_provider.GoogleSearch.get_dict / search_jobs, and immermatch.search_api.bundesagentur.httpx.Client.get / _get_with_retry) so new tests follow correct mocking patterns.

Suggested change
- SerpApi: `@patch("immermatch.search_api.serpapi_provider.serpapi_search")`
- Bundesagentur: `@patch("immermatch.search_api.bundesagentur.requests.get")`
- SerpApi: `@patch("immermatch.search_api.serpapi_provider.GoogleSearch.get_dict")`
- Bundesagentur: `@patch("immermatch.search_api.bundesagentur.httpx.Client.get")`

Copilot uses AI. Check for mistakes.
- Added `search_agent.py` to generate optimized job search queries using LLM.
- Introduced `search_provider.py` to define an abstract search-provider interface and factory.
- Created `serpapi_provider.py` to implement Google Jobs search via SerpApi, adhering to the SearchProvider protocol.
- Enhanced job search functionality with support for multiple providers and query localization.
- Included detailed prompts for candidate profiling and job search query generation.
@TheTrueAI TheTrueAI force-pushed the make-repo-more-modulized branch from 563a13a to 45b859e Compare March 2, 2026 20:42
@TheTrueAI TheTrueAI merged commit d71851f into main Mar 2, 2026
4 checks passed
@TheTrueAI TheTrueAI deleted the make-repo-more-modulized branch March 2, 2026 20:48
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