Skip to content

feat(signals): implement dynamic github event ingestion and goal_id#39

Merged
Adilislam0 merged 2 commits into
Life-Atlas:stagingfrom
Dynamic-ctrl:feat/dynamic-github-sync
Jun 25, 2026
Merged

feat(signals): implement dynamic github event ingestion and goal_id#39
Adilislam0 merged 2 commits into
Life-Atlas:stagingfrom
Dynamic-ctrl:feat/dynamic-github-sync

Conversation

@Dynamic-ctrl

Copy link
Copy Markdown
Collaborator

Summary

Implements dynamic GitHub event polling to ingest real-time repository activity and strictly maps it to specific goals, fulfilling the missing "goal-to-signal syncing" pipeline requirement.

  • Models: Updates SignalCreate and Signal in src/lpi/models.py to accept an optional goal_id, mapping perfectly to the new Supabase schema.
  • API Route: Creates POST /api/v1/signals/sync-github/{goal_id} in src/lpi/routers/signals.py. Uses httpx.AsyncClient to non-blockingly poll the GitHub REST API (/events), filtering strictly for high-value PushEvent and PullRequestEvent payloads.
  • Integration: Reuses store.insert_signal and log_user_activity to ensure immediate compliance with the new Row Level Security (RLS) policies requiring goal ownership validation.
  • Impact: Unblocks Jaivardhan (LangGraph AI ingestion) and Jahanvi (Frontend UI timeline mapping).

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

Daily report reference

@Dynamic-ctrl Dynamic-ctrl requested a review from jv-singh June 25, 2026 11:24
@Adilislam0 Adilislam0 merged commit 4c51a7b into Life-Atlas:staging Jun 25, 2026
1 check passed
@jv-singh jv-singh mentioned this pull request Jun 25, 2026
10 tasks
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