You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As an Admin or PM, I want connecting a GitHub organization to also ingest the organization-level metadata (org profile, members, and teams incl. team membership), so that the AI can reason about the org's structure and people during onboarding and chat and not only about individual repositories.
New ArtifactType variants exist for org-level resources (e.g. ORGANIZATION, MEMBER, TEAM).
Org-level artifacts are pushed to the AI via /api/v1/ingest/sync (sourceSystem = GITHUB) and are retrievable/citable in chat and usable as onboarding grounding evidence.
RBAC: restricted to PM/Admin (hasAnyRole('PM', 'ADMIN')); a PM may only ingest orgs whose repos they already manage.
Empty/loading/error states (org not found, token invalid, rate-limited by GitHub); i18n (en/de).
Tests for mapper/provider.
Sub-Tasks (by team)
Backend — SprintStartProject/sprintstart-backend — new GitHub API calls (GET /orgs/{org}, GET /orgs/{org}/members, GET /orgs/{org}/teams + team members), GithubOrgArtifactMapper + GithubOrgArtifactProviderService, new ArtifactType variants, GithubOrgArtifactMetadata, org-level sourceId scheme, enable/disable + CRON schedule, RBAC + token-scope handling.
AI — SprintStartProject/sprintstart-ai — verify org-level artifacts flow into RAG/onboarding.
Frontend — SprintStartProject/Wiki — surface org-level sources in the Data Ingestion page + Connectors tab (org card, member/team artifacts in the artifact table, org-level enable/disable + schedule UI mirroring GithubRepositorySyncSettings).
QA — tests for: org vs. user connect, member/team ingestion, org-level enable/disable + schedule, RBAC (non-PM/non-Admin 403), empty/error/rate-limited states.
User Story
As an Admin or PM, I want connecting a GitHub organization to also ingest the organization-level metadata (org profile, members, and teams incl. team membership), so that the AI can reason about the org's structure and people during onboarding and chat and not only about individual repositories.
Context & Motivation
team:backend(org/members/teams ingestion + canonical artifacts),team:ai(RAG/onboarding consumption),team:frontend(org-level source view + enable/disable + schedule)In Scope
Clarification needed on:
Acceptance Criteria
Artifactrows withsourceSystem = GITHUB, sharing the same ingestion store/table as repo artifacts ([Story]: Canonical artifact schema and metadata normalization #161).ArtifactTypevariants exist for org-level resources (e.g.ORGANIZATION,MEMBER,TEAM)./api/v1/ingest/sync(sourceSystem = GITHUB) and are retrievable/citable in chat and usable as onboarding grounding evidence.hasAnyRole('PM', 'ADMIN')); a PM may only ingest orgs whose repos they already manage.Sub-Tasks (by team)
SprintStartProject/sprintstart-backend— new GitHub API calls (GET /orgs/{org},GET /orgs/{org}/members,GET /orgs/{org}/teams+ team members),GithubOrgArtifactMapper+GithubOrgArtifactProviderService, newArtifactTypevariants,GithubOrgArtifactMetadata, org-levelsourceIdscheme, enable/disable + CRON schedule, RBAC + token-scope handling.SprintStartProject/sprintstart-ai— verify org-level artifacts flow into RAG/onboarding.SprintStartProject/Wiki— surface org-level sources in the Data Ingestion page + Connectors tab (org card, member/team artifacts in the artifact table, org-level enable/disable + schedule UI mirroringGithubRepositorySyncSettings).