Identity and profiles for CPPA workflows — GitHub accounts, Slack/Discord profiles, mailing identities, staging rows, and helpers other apps call while they ingest. This app is not a standalone “hit an API and fill the DB” collector today.
run_cppa_user_tracker is still a stub (it logs and exits successfully). Real writes happen when other apps import services.py during Slack, GitHub, Discord, mailing list, or similar runs.
Docs: docs/service_api/cppa_user_tracker.md · docs/Schema.md, section 1 — Base tables, Identity, and profiles · models.py
| Piece | Role |
|---|---|
| ORM models | Identity, profiles (BaseProfile subclasses), GitHubAccount, Email, staging (TmpIdentity, TempProfileIdentityRelation), and related linkage — see Schema §1. |
services.py |
Primary API for get-or-create and updates; called from other collectors, not only from this app’s management command. |
run_cppa_user_tracker |
Placeholder scheduled entrypoint until staging/merge logic is implemented. |
- Upstream collectors (e.g.
cppa_slack_tracker,github_activity_tracker) call the network and parse payloads. - They invoke
cppa_user_tracker.serviceshelpers to upsert users, accounts, and profile rows this app owns. run_cppa_user_trackerdoes not perform that fetch path yet; keep it in the schedule only if you want a no-op heartbeat until real logic ships.
- No dedicated external fetch in the management command — no Slack/GitHub client owned solely by this stub.
- No Markdown or git push from
run_cppa_user_tracker. - No Pinecone — no call to
cppa_pinecone_sync; if you add identity-aware search later, add a preprocessor and callrun_cppa_pinecone_syncper docs/Pinecone_preprocess_guideline.md.
- Inspect or extend writes: read
services.pyand docs/service_api/cppa_user_tracker.md. - Smoke the stub:
python manage.py run_cppa_user_tracker --help. - Missing tables locally: run migrations (root README).
Collector stub — validates the BaseCollectorCommand wiring and prints success; no custom CLI flags yet beyond Django defaults (--verbosity, etc.).
| Option | Description |
|---|---|
| (none) | No app-specific arguments until staging/merge work adds them. |
| Command | Purpose |
|---|---|
run_cppa_user_tracker |
Scheduled placeholder for future identity/staging pipeline. |
Run python manage.py COMMAND --help for options.
python -m pytest cppa_user_tracker/tests/ -v(from repo root; see root README.)