Skip to content

Feat/goal scoped recommendations#40

Merged
Adilislam0 merged 1 commit into
stagingfrom
feat/goal-scoped-recommendations
Jun 25, 2026
Merged

Feat/goal scoped recommendations#40
Adilislam0 merged 1 commit into
stagingfrom
feat/goal-scoped-recommendations

Conversation

@jv-singh

@jv-singh jv-singh commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Summary

Completes the Module 2 → Module 3 pipeline by connecting goal-scoped activity signals to the LangGraph recommendation engine. The AI now evaluates only the signals belonging to a specific goal and generates SMILE phase advancement recommendations.

  • Store: Updates store.list_signals() in src/lpi/store.py to support optional goal_id filtering while preserving existing behavior for all current callers.
  • LangGraph: Updates the recommendation prompt in src/lpi/langgraph_agent.py so the LLM analyzes activity signals for a single goal instead of the user's entire portfolio and recommends SMILE phase advancement when appropriate.
  • API Route: Adds POST /api/v1/recommendations/{user_id}/by-goal/{goal_id} in src/lpi/routers/recommendations.py. Validates goal ownership, fetches goal-specific signals, runs LangGraph, and returns up to three prioritized recommendations.
  • Security: Adds goal ownership validation to sync_github_events in src/lpi/routers/signals.py to prevent users from syncing GitHub activity to goals they do not own.
  • Impact: Completes the Signals → Recommendations integration, unblocking Jahanvi (Frontend UI) and Daksh (QA & end-to-end verification).

Type

  • Feature (new endpoint / model)
  • Fix (bug, test failure)
  • Refactor
  • Docs / reports

Checklist

  • make lint exits 0
  • make test exits 0 (no new failures)
  • Tests added or updated for changed behaviour
  • Daily report updated in reports/
  • No .env secrets committed
  • PR targets staging (never main directly)

Tests passing

  • tests/test_recommendations_goal_scoped.py (8 new tests)
  • tests/test_recommendations.py (28 passed)
  • tests/test_activity_signals.py (21 passed)
  • tests/test_scoring.py (48 passed)
  • tests/test_smoke.py (3 passed)

Context.docx

@jv-singh jv-singh changed the base branch from main to staging June 25, 2026 13:55
@Adilislam0 Adilislam0 merged commit c1f316c into staging Jun 25, 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.

2 participants