Skip to content

refactor: remove in-repo Discord and Slack event collector apps#296

Open
leostar0412 wants to merge 5 commits into
cppalliance:developfrom
leostar0412:chore/remove-in-repo-discord-slack-collectors
Open

refactor: remove in-repo Discord and Slack event collector apps#296
leostar0412 wants to merge 5 commits into
cppalliance:developfrom
leostar0412:chore/remove-in-repo-discord-slack-collectors

Conversation

@leostar0412

@leostar0412 leostar0412 commented Jun 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

Remove discord_activity_tracker and slack_event_handler from the public Boost Data Collector repository. These collectors are no longer part of this tree; the public repo stays focused on batch collectors (including cppa_slack_tracker).
Also drop Discord/Slack session-login tooling from the parent repo (Compose Chromium profiles, Makefile login targets, Chrome wait scripts, and related env vars). Move DiscordProfile out of cppa_user_tracker Django state via 0010_remove_discordprofile (state-only; table cppa_user_tracker_discordprofile is unchanged). Update schedule examples, docs, cross-app dependency maps, and dependency locks accordingly.
Optional app registration via config/local_settings.py (EXTRA_INSTALLED_APPS, LOCAL_APP_DIR) is unchanged for machine-specific deployments.

Apps touched

  • discord_activity_tracker (removed)
  • slack_event_handler (removed)
  • cppa_user_tracker (DiscordProfile removed from models/services; migration 0010)
  • cppa_slack_tracker (docs only)
  • boost_collector_runner (schedule config/tests)
  • core (slack_ops, errors, text processing, protocol tests)
  • config (settings, test settings, schedule YAML)

Test plan

  • python -m pytest (or scoped: python -m pytest <app>/tests)
  • uv run pyright (if typed code changed)
  • lint-imports (if imports or cross-app coupling changed)
  • App command smoke-tested (if collector/command changed):
python manage.py migrate cppa_user_tracker
python manage.py run_cppa_slack_tracker --help
python manage.py run_scheduled_collectors --help

Docs / coupling

  • cross-app-dependencies.md updated (if FKs or cross-app imports changed)
  • python scripts/generate_service_docs.py run (if services.py or core/protocols.py changed)
  • App README or docs/ updated (if behavior or ops changed)

Summary by CodeRabbit

  • Removed Features

    • Discord activity tracking functionality removed (ingestion/sync, admin wiring, related docs/tests).
    • Slack real-time event listener removed; Slack huddle transcript support removed.
    • Slack/Discord token/session extraction and chromium session automation removed (including related Make targets and compose services).
  • Configuration Changes

    • Slack configuration updated to team-scoped bot/app tokens and team scopes.
    • Collector schedule YAML resolution now supports an explicit environment override; local schedule override documented in the environment template.
  • Security / Docs

    • Credential-rotation guidance updated (Slack tokens simplified; Discord/Slack webhooks documented).
    • Repository docs and app listings updated to match the removed apps.
  • Tests / Quality

    • Expanded schedule-configuration unit coverage for path resolution and validation/loading behavior.

@coderabbitai

coderabbitai Bot commented Jun 18, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 8aa6b482-4f60-4947-93a4-15547dd8fe17

📥 Commits

Reviewing files that changed from the base of the PR and between b5500c6 and facc92c.

📒 Files selected for processing (6)
  • SECURITY.md
  • boost_collector_runner/tests/test_schedule_config.py
  • config/settings.py
  • docs/GCP_Production_Checklist.md
  • reddit_activity_tracker/tests/test_fetcher_helpers.py
  • wg21_paper_tracker/tests/test_services.py
✅ Files skipped from review due to trivial changes (1)
  • SECURITY.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • reddit_activity_tracker/tests/test_fetcher_helpers.py
  • boost_collector_runner/tests/test_schedule_config.py
  • config/settings.py

📝 Walkthrough

Walkthrough

Removes the discord_activity_tracker and slack_event_handler Django apps entirely. Adds resolve_schedule_yaml_path to boost_collector_runner and wires it into Celery beat loading. Refactors config/settings.py for optional local_settings, team-scoped Slack tokens, and updated INSTALLED_APPS. Removes DiscordProfile from cppa_user_tracker via a state-only migration. Strips fetch_huddle_transcript from core Slack ops. Updates Docker Compose, Makefile, requirements, tooling scripts, and all documentation to reflect the batch-only scope.

Changes

App Removal and Project Re-scoping

Layer / File(s) Summary
Schedule YAML path resolution and beat wiring
boost_collector_runner/schedule_config.py, boost_collector_runner/tests/test_schedule_config.py, config/boost_collector_schedule.yaml, config/boost_collector_schedule.yaml.example, .env.example, .gitignore
Adds resolve_schedule_yaml_path(base_dir, env_path) helper that selects between environment-provided and default YAML paths, resolving relative inputs under base_dir. Adds three path-resolution tests covering default, relative env path, and absolute env path cases. Gitignores config/boost_collector_schedule.local.yaml. Adds BOOST_COLLECTOR_SCHEDULE_YAML variable to .env.example under DEBUG=True. Removes discord group scheduling section from schedule YAML and updates Slack group to run run_cppa_slack_tracker daily instead of run_discord_activity_tracker interval.
Settings/local overrides and Slack env model
config/settings.py, config/test_settings.py, .env.example
Adds optional local_settings import with LOCAL_APP_DIR sys.path injection for machine-specific overrides. Removes slack_event_handler from INSTALLED_APPS and adds reddit_activity_tracker, wg21_paper_tracker, cppa_youtube_script_tracker. Updates _WORKSPACE_APP_SLUGS to drop slack_event_handler/discord_activity_tracker and adds _EXTRA_WORKSPACE_APP_SLUGS from local_settings. Introduces _slack_team_ids_from_env, _slack_per_team_tokens_from_env, _slack_team_scope_from_env helper functions replacing legacy Slack/Discord config blocks. Wires resolve_schedule_yaml_path into Celery beat schedule loading. Simplifies EXTRA_INSTALLED_APPS via _local_settings. Removes Discord test settings from test_settings.py and updates workspace directory creation loop. Adjusts .env.example Slack section header to cppa_slack_tracker and removes socket-mode/app-token/feature-scope/PR-bot/internal-token documentation.
Slack settings helper tests
config/tests/test_settings_slack_helpers.py
New pytest module with autouse fixture clearing SLACK_* env vars before each test. Comprehensive tests for team-ID parsing from SLACK_TEAM_IDS env variable, per-team token map construction from SLACK_BOT_TOKEN_<team_id> variables, and scope parsing with fallback to default [0, 1] scope when entries are invalid or missing.
DiscordProfile removal from cppa_user_tracker
cppa_user_tracker/models.py, cppa_user_tracker/migrations/0010_remove_discordprofile.py, cppa_user_tracker/services.py, cppa_user_tracker/tests/test_services.py, cppa_user_tracker/README.md
Deletes DiscordProfile model class and its save() override. Adds state-only SeparateDatabaseAndState migration deleting model state while preserving the existing physical table. Removes get_or_create_discord_profile service function. Removes corresponding test coverage from test_get_or_create_discord_profile_updates_existing. Updates README to clarify that run_cppa_user_tracker is a stub and that real writes occur when other apps import services.py (Slack, GitHub, mailing lists).
Core Slack ops cleanup: remove huddle transcript
core/operations/slack_ops/fetcher.py, core/operations/slack_ops/__init__.py, core/operations/md_ops/transcript.py, core/utils/text_processing.py, core/errors.py
Removes fetch_huddle_transcript function and its re-export from __init__.py. Updates module and class docstrings to remove "huddle transcript" references. Narrows text-processing module description to Slack-only usage. Updates classify_failure() to dynamically detect github_activity_tracker.api_schemas.GitHubApiValidationError and cppa_slack_tracker.api_schemas.SlackApiValidationError, classifying matches as CollectorFailureCategory.VALIDATION.
Slack fetcher test cleanup
core/tests/operations/test_slack_fetcher.py
Removes imports for override_settings, fetch_huddle_transcript, and slack_internal_tokens_store. Deletes test blocks covering internal token store save/load and all fetch_huddle_transcript test scenarios (success, connection errors, token extraction flows, and exception cases).
Protocol conformance, serialization, and protocols test cleanup
core/tests/test_collector_protocol_conformance.py, core/tests/test_protocol_serialization.py, core/tests/test_protocols.py
Removes Discord DTO imports (DiscordActivityRecord, DiscordCollectionTrackerResult, DiscordIncrementalState) from all three modules. Removes Discord fixtures from parametrized test inputs. Replaces Discord isinstance/fixture coverage with GitHub-focused implementation tests checking IncrementalState construction and GitHubActivityRecord creation from issue objects with external_id assertions.
Lightweight app trace removals
discord_activity_tracker/scripts/__init__.py, discord_activity_tracker/tests/test_staging_schema_extra.py, slack_event_handler/tests/__init__.py, slack_event_handler/tests/test_pr_parser.py
Removes module docstrings and test content from Discord/Slack packages, leaving effectively empty stub files or removing test modules entirely.
Infrastructure: Docker Compose and Makefile
docker-compose.yml, docker-compose.prod.yml, Makefile
Removes slack-chromium and discord-chromium services from compose files and production overlay. Removes CHROME_PROFILE_PATH and DISCORD_CHROME_PROFILE_PATH from web and celery_worker environments. Removes all Slack/Discord session Make targets (login/wait/stop/extract/refresh).
Dependencies and static analysis
requirements.in, pyrightconfig.json
Drops discord.py, plyvel, browser-cookie3, PyGithub, and portalocker from requirements.in. Adds comment specifying Linux/CI/Docker for lock compilation to keep platform markers consistent. Removes discord_activity_tracker from pyrightconfig.json include array.
Analysis scripts and CODEOWNERS
scripts/check_service_layer_writes.py, scripts/list_cross_app_imports.py, .github/CODEOWNERS, .importlinter
Updates TRACKER_APPS allowlists in both scripts to remove discord_activity_tracker and slack_event_handler. Updates .github/CODEOWNERS entries around wg21_paper_tracker/cppa_youtube_script_tracker. Updates .importlinter root_packages to add github_activity_tracker.
Configuration and changelog documentation
CHANGELOG.md, CONTRIBUTING.md, README.md, SECURITY.md, STABILITY.md
Adds [Unreleased] Removed section to CHANGELOG documenting app and DiscordProfile deletion. Updates CONTRIBUTING table removing discord_activity_tracker service-layer row. Updates README Pyright/project-structure/app-level-READMEs sections. Simplifies SECURITY credential rotation table: GitHub PAT example removed, Slack limited to SLACK_BOT_TOKEN_<team_id>, Discord replaced with webhook credentials notification. Updates STABILITY Tier A removing run_discord_activity_tracker and Tier C replacing slack_event_handler with local_settings categories.
Architecture and design documentation
docs/Architecture_data_flow.md, docs/Architecture_overview.md, docs/CONCURRENCY.md, docs/Development_guideline.md, docs/Deployment.md, docs/GCP_Production_Checklist.md, docs/Core_public_API.md, docs/adr/paradigm-unification.md, docs/adr/README.md
Updates Architecture tables removing Discord/Slack entries and repositioning remaining apps. Updates CONCURRENCY lock-nesting rules and removes Discord/Slack concurrency mechanism rows. Removes Discord from Pyright/deployment/GCP docs. Updates GCP checklist to reflect reddit and mailing_list configured collectors (removing discord). Removes Discord management commands from Core_public_API and adjusts static-analysis scope. Rewrites paradigm-unification ADR to batch-only scope with shortened Context, condensed drivers, reduced paradigm definitions, simplified app classification, and historical migration note. Updates ADR index summary removing "Slack Socket Mode" qualifier.
Database schema and cross-app documentation
docs/Schema.md, docs/cross-app-dependencies.md
Replaces DiscordProfile with RedditUser in base profile ER diagram and relationship summaries. Replaces Discord Activity Tracker section with Reddit, including schema/ingestion changes. Removes all discord_activity_tracker schema coupling, ORM coupling, Python import edges, and dependency graph entries from cross-app docs. Updates inventory table to include reddit_activity_tracker and keep wg21_paper_tracker/cppa_youtube_script_tracker.
Workspace, service layer, and operations documentation
docs/Workspace.md, docs/Service_API.md, docs/service_api/README.md, docs/service_api/cppa_user_tracker.md, docs/operations/README.md, docs/discord-tracker-schema.md, docs/operations/discord_chat_exporter.md, docs/Onboarding.md, docs/README.md
Removes discord_activity_tracker from workspace directory tree, path helpers, and conventions. Removes Discord from Service API index tables and service-level docs. Updates operations README removing DiscordChatExporter entry. Removes dedicated Discord tracker schema documentation and DiscordChatExporter operations guide. Updates onboarding table and docs README topic index removing Discord references.
Reddit fetcher helper tests
reddit_activity_tracker/tests/test_fetcher_helpers.py
New comprehensive test module covering: _normalize_bearer (prefix removal and whitespace trimming), _jwt_expiry/_is_bearer_expired (valid/invalid/expired tokens), _credentials_configured (null/empty/whitespace/valid inputs), build_session (successful construction, credential/user-agent/expiry failures, and bearer minting from session cookie), RedditSession bearer application to Authorization header, and backoff calculation (Retry-After, X-Ratelimit-Reset, default jitter) plus rate-limit state header parsing.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Possibly related PRs

  • cppalliance/boost-data-collector#96: Extends YAML-driven Celery scheduling by adding resolve_schedule_yaml_path(...) and wiring it into config/settings.py for BOOST_COLLECTOR_SCHEDULE_YAML.
  • cppalliance/boost-data-collector#241: Both PRs modify core/errors.py::classify_failure() to recognize GitHubApiValidationError and SlackApiValidationError as CollectorFailureCategory.VALIDATION.
  • cppalliance/boost-data-collector#149: Main PR's Slack team-scoped token configuration (introducing _slack_team_ids_from_env and _slack_per_team_tokens_from_env) overlaps directly with this related PR's Slack configuration refactor.

Poem

🐇 Hop, hop, the trackers depart,
No Discord to clutter our art!
The schedule resolves its own path,
While Slack keeps its tokens intact.
The repo grows leaner each day —
This rabbit has cleared the way! ✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 4.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'refactor: remove in-repo Discord and Slack event collector apps' directly and clearly describes the primary change: removal of two collector apps from the repository.
Description check ✅ Passed The PR description is comprehensive and follows the required template structure. It includes a clear summary, lists all affected apps, provides a detailed test plan with specific commands, and documents required documentation/coupling updates with checkmarks showing completion.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
config/test_settings.py (1)

81-88: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Use _slug in the workspace directory creation loop.

Line 88 hardcodes "shared" inside the loop, so only the shared directory is created while app-specific workspace directories are never created.

Suggested fix
 for _slug in (
     "github_activity_tracker",
     "boost_library_tracker",
     "clang_github_tracker",
     "reddit_activity_tracker",
     "shared",
 ):
-    (WORKSPACE_DIR / "shared").mkdir(parents=True, exist_ok=True)
+    (WORKSPACE_DIR / _slug).mkdir(parents=True, exist_ok=True)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@config/test_settings.py` around lines 81 - 88, The workspace directory
creation loop uses a hardcoded "shared" string in the mkdir call instead of the
loop variable, causing only the shared directory to be created and ignoring
app-specific directories. Replace the hardcoded "shared" string with the _slug
variable in the mkdir call so that each iteration creates a directory specific
to its slug value.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@config/settings.py`:
- Around line 16-19: The bare except ImportError clause in the try-except block
around the import of local_settings as _local_settings is too broad and catches
ImportError exceptions that originate from within the local_settings.py file
itself, masking real import failures. Replace the except ImportError with except
ModuleNotFoundError to only catch the specific case where the local_settings
module doesn't exist, allowing actual import errors within that module to
propagate and be surfaced properly.

In `@docs/GCP_Production_Checklist.md`:
- Line 44: The GCP_Production_Checklist.md file is incomplete in its
documentation of the Beat schedule batch groups. The current list includes
github, boost_library_docs, slack, and mailing_list, but the reddit batch group
is also defined in config/boost_collector_schedule.yaml and should be included.
Add reddit to the list of batch groups mentioned in the checklist to make it
comprehensive and accurate.

In `@SECURITY.md`:
- Around line 86-88: The SECURITY.md incident-response rotation checklist is
incomplete for Slack credentials. Update the Slack row in the credentials table
to include both SLACK_BOT_TOKEN_<team_id> and SLACK_APP_TOKEN_<team_id>, since
the codebase actively consumes the app token (referenced in config/settings.py
and core/operations/slack_ops/tokens.py) but only the bot token is currently
listed. Add SLACK_APP_TOKEN_<team_id> to the same Slack row to ensure both
credentials are properly rotated during security incidents.

---

Outside diff comments:
In `@config/test_settings.py`:
- Around line 81-88: The workspace directory creation loop uses a hardcoded
"shared" string in the mkdir call instead of the loop variable, causing only the
shared directory to be created and ignoring app-specific directories. Replace
the hardcoded "shared" string with the _slug variable in the mkdir call so that
each iteration creates a directory specific to its slug value.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 0c39f57d-ca2d-44c0-b829-b8150323f33c

📥 Commits

Reviewing files that changed from the base of the PR and between 74c981c and 75b71c4.

⛔ Files ignored due to path filters (1)
  • requirements.lock is excluded by !**/*.lock
📒 Files selected for processing (179)
  • .env.example
  • .github/CODEOWNERS
  • .gitignore
  • .importlinter
  • CHANGELOG.md
  • CONTRIBUTING.md
  • Makefile
  • README.md
  • SECURITY.md
  • STABILITY.md
  • boost_collector_runner/schedule_config.py
  • boost_collector_runner/tests/test_schedule_config.py
  • config/boost_collector_schedule.yaml
  • config/boost_collector_schedule.yaml.example
  • config/settings.py
  • config/test_settings.py
  • core/errors.py
  • core/operations/md_ops/transcript.py
  • core/operations/slack_ops/__init__.py
  • core/operations/slack_ops/fetcher.py
  • core/tests/operations/test_slack_fetcher.py
  • core/tests/test_collector_protocol_conformance.py
  • core/tests/test_protocol_serialization.py
  • core/tests/test_protocols.py
  • core/utils/text_processing.py
  • cppa_slack_tracker/README.md
  • cppa_user_tracker/README.md
  • cppa_user_tracker/migrations/0010_remove_discordprofile.py
  • cppa_user_tracker/models.py
  • cppa_user_tracker/services.py
  • cppa_user_tracker/tests/test_services.py
  • discord_activity_tracker/README.md
  • discord_activity_tracker/__init__.py
  • discord_activity_tracker/admin.py
  • discord_activity_tracker/api_schemas.py
  • discord_activity_tracker/apps.py
  • discord_activity_tracker/management/__init__.py
  • discord_activity_tracker/management/commands/__init__.py
  • discord_activity_tracker/management/commands/backfill_discord_activity_tracker.py
  • discord_activity_tracker/management/commands/extract_discord_tokens.py
  • discord_activity_tracker/management/commands/run_discord_activity_tracker.py
  • discord_activity_tracker/migrations/0001_initial.py
  • discord_activity_tracker/migrations/0002_migrate_users_to_discord_profile.py
  • discord_activity_tracker/migrations/0003_alter_discordmessage_author.py
  • discord_activity_tracker/migrations/0004_delete_discorduser.py
  • discord_activity_tracker/migrations/0005_channel_category_message_type_is_pinned.py
  • discord_activity_tracker/migrations/0006_remove_channel_last_timestamps.py
  • discord_activity_tracker/migrations/__init__.py
  • discord_activity_tracker/models.py
  • discord_activity_tracker/pinecone_runner.py
  • discord_activity_tracker/preprocessor.py
  • discord_activity_tracker/protocol_impl.py
  • discord_activity_tracker/schemas/discord_staging_v1.json
  • discord_activity_tracker/scripts/__init__.py
  • discord_activity_tracker/scripts/write_staging_json_schema.py
  • discord_activity_tracker/services.py
  • discord_activity_tracker/staging_schema.py
  • discord_activity_tracker/sync/__init__.py
  • discord_activity_tracker/sync/chat_exporter.py
  • discord_activity_tracker/sync/client.py
  • discord_activity_tracker/sync/export.py
  • discord_activity_tracker/sync/exporter_window.py
  • discord_activity_tracker/sync/messages.py
  • discord_activity_tracker/sync/raw_archive.py
  • discord_activity_tracker/sync/utils.py
  • discord_activity_tracker/tests/__init__.py
  • discord_activity_tracker/tests/conftest.py
  • discord_activity_tracker/tests/test_admin.py
  • discord_activity_tracker/tests/test_api_schemas.py
  • discord_activity_tracker/tests/test_backfill_command_extra.py
  • discord_activity_tracker/tests/test_backfill_discord_activity_tracker_command.py
  • discord_activity_tracker/tests/test_bulk_services.py
  • discord_activity_tracker/tests/test_chat_exporter_branch_coverage.py
  • discord_activity_tracker/tests/test_discord_internal_tokens_store.py
  • discord_activity_tracker/tests/test_discord_tokens.py
  • discord_activity_tracker/tests/test_export.py
  • discord_activity_tracker/tests/test_export_sync_coverage.py
  • discord_activity_tracker/tests/test_exporter_window.py
  • discord_activity_tracker/tests/test_extract_discord_tokens_command.py
  • discord_activity_tracker/tests/test_failure_classification.py
  • discord_activity_tracker/tests/test_messages_more.py
  • discord_activity_tracker/tests/test_models_str.py
  • discord_activity_tracker/tests/test_pinecone_runner_coverage.py
  • discord_activity_tracker/tests/test_preprocessor.py
  • discord_activity_tracker/tests/test_preprocessor_extra.py
  • discord_activity_tracker/tests/test_protocol_impl.py
  • discord_activity_tracker/tests/test_raw_archive.py
  • discord_activity_tracker/tests/test_run_command_coverage.py
  • discord_activity_tracker/tests/test_run_discord_activity_tracker_command.py
  • discord_activity_tracker/tests/test_services_core.py
  • discord_activity_tracker/tests/test_services_extras.py
  • discord_activity_tracker/tests/test_settings_channel_filter.py
  • discord_activity_tracker/tests/test_staging_schema.py
  • discord_activity_tracker/tests/test_staging_schema_extra.py
  • discord_activity_tracker/tests/test_sync_chat_exporter.py
  • discord_activity_tracker/tests/test_sync_client.py
  • discord_activity_tracker/tests/test_sync_messages.py
  • discord_activity_tracker/tests/test_sync_utils.py
  • discord_activity_tracker/tests/test_task_discord_sync_coverage.py
  • discord_activity_tracker/tests/test_task_markdown_coverage.py
  • discord_activity_tracker/tests/test_workspace.py
  • discord_activity_tracker/tests/test_workspace_clear_staging.py
  • discord_activity_tracker/tests/test_write_staging_json_schema_script.py
  • discord_activity_tracker/utils/__init__.py
  • discord_activity_tracker/utils/discord_internal_tokens_store.py
  • discord_activity_tracker/utils/discord_tokens.py
  • discord_activity_tracker/workspace.py
  • docker-compose.prod.yml
  • docker-compose.yml
  • docs/Architecture_data_flow.md
  • docs/Architecture_overview.md
  • docs/CONCURRENCY.md
  • docs/Core_public_API.md
  • docs/Deployment.md
  • docs/Development_guideline.md
  • docs/GCP_Production_Checklist.md
  • docs/Onboarding.md
  • docs/README.md
  • docs/Schema.md
  • docs/Service_API.md
  • docs/Workspace.md
  • docs/adr/README.md
  • docs/adr/paradigm-unification.md
  • docs/cross-app-dependencies.md
  • docs/discord-tracker-schema.md
  • docs/operations/README.md
  • docs/operations/discord_chat_exporter.md
  • docs/service_api/README.md
  • docs/service_api/cppa_user_tracker.md
  • docs/service_api/discord_activity_tracker.md
  • pyrightconfig.json
  • requirements.in
  • scripts/check_service_layer_writes.py
  • scripts/list_cross_app_imports.py
  • scripts/wait_discord_chrome_profile.sh
  • scripts/wait_slack_chrome_profile.sh
  • slack_event_handler/README.md
  • slack_event_handler/__init__.py
  • slack_event_handler/admin.py
  • slack_event_handler/apps.py
  • slack_event_handler/management/__init__.py
  • slack_event_handler/management/commands/__init__.py
  • slack_event_handler/management/commands/extract_slack_tokens.py
  • slack_event_handler/management/commands/run_slack_event_handler.py
  • slack_event_handler/migrations/__init__.py
  • slack_event_handler/models.py
  • slack_event_handler/runner.py
  • slack_event_handler/tests/__init__.py
  • slack_event_handler/tests/conftest.py
  • slack_event_handler/tests/test_apps.py
  • slack_event_handler/tests/test_extract_slack_tokens_command.py
  • slack_event_handler/tests/test_github_pr_client.py
  • slack_event_handler/tests/test_huddle_markdown.py
  • slack_event_handler/tests/test_huddle_processor.py
  • slack_event_handler/tests/test_job_queue.py
  • slack_event_handler/tests/test_management_command.py
  • slack_event_handler/tests/test_pr_parser.py
  • slack_event_handler/tests/test_rate_limiter.py
  • slack_event_handler/tests/test_runner.py
  • slack_event_handler/tests/test_slack_internal_tokens_store.py
  • slack_event_handler/tests/test_slack_listener_coverage.py
  • slack_event_handler/tests/test_slack_listener_handlers.py
  • slack_event_handler/tests/test_slack_listener_unit.py
  • slack_event_handler/tests/test_slack_tokens.py
  • slack_event_handler/tests/test_slack_tokens_validate.py
  • slack_event_handler/tests/test_state.py
  • slack_event_handler/tests/test_workspace_paths.py
  • slack_event_handler/utils/__init__.py
  • slack_event_handler/utils/github_pr_client.py
  • slack_event_handler/utils/huddle_markdown.py
  • slack_event_handler/utils/huddle_processor.py
  • slack_event_handler/utils/job_queue.py
  • slack_event_handler/utils/pr_parser.py
  • slack_event_handler/utils/rate_limiter.py
  • slack_event_handler/utils/slack_internal_tokens_store.py
  • slack_event_handler/utils/slack_listener.py
  • slack_event_handler/utils/slack_tokens.py
  • slack_event_handler/utils/state.py
  • slack_event_handler/workspace.py
💤 Files with no reviewable changes (126)
  • discord_activity_tracker/init.py
  • discord_activity_tracker/tests/test_api_schemas.py
  • discord_activity_tracker/management/commands/init.py
  • slack_event_handler/admin.py
  • slack_event_handler/README.md
  • CONTRIBUTING.md
  • discord_activity_tracker/pinecone_runner.py
  • discord_activity_tracker/README.md
  • pyrightconfig.json
  • discord_activity_tracker/scripts/init.py
  • discord_activity_tracker/management/init.py
  • discord_activity_tracker/management/commands/run_discord_activity_tracker.py
  • docs/discord-tracker-schema.md
  • discord_activity_tracker/tests/test_backfill_command_extra.py
  • discord_activity_tracker/sync/init.py
  • docs/Onboarding.md
  • discord_activity_tracker/tests/test_exporter_window.py
  • discord_activity_tracker/migrations/0002_migrate_users_to_discord_profile.py
  • docs/operations/discord_chat_exporter.md
  • discord_activity_tracker/tests/test_discord_tokens.py
  • discord_activity_tracker/models.py
  • discord_activity_tracker/tests/test_extract_discord_tokens_command.py
  • discord_activity_tracker/tests/test_models_str.py
  • discord_activity_tracker/protocol_impl.py
  • discord_activity_tracker/migrations/0006_remove_channel_last_timestamps.py
  • docs/service_api/discord_activity_tracker.md
  • discord_activity_tracker/tests/test_task_markdown_coverage.py
  • discord_activity_tracker/tests/test_preprocessor.py
  • discord_activity_tracker/tests/test_services_extras.py
  • discord_activity_tracker/tests/test_sync_utils.py
  • discord_activity_tracker/sync/utils.py
  • slack_event_handler/tests/test_slack_listener_coverage.py
  • slack_event_handler/models.py
  • discord_activity_tracker/tests/test_sync_messages.py
  • discord_activity_tracker/tests/test_messages_more.py
  • discord_activity_tracker/admin.py
  • slack_event_handler/tests/test_huddle_markdown.py
  • discord_activity_tracker/apps.py
  • discord_activity_tracker/migrations/0001_initial.py
  • discord_activity_tracker/tests/test_settings_channel_filter.py
  • cppa_user_tracker/models.py
  • slack_event_handler/tests/test_slack_listener_unit.py
  • slack_event_handler/management/commands/run_slack_event_handler.py
  • slack_event_handler/tests/test_slack_listener_handlers.py
  • slack_event_handler/tests/init.py
  • discord_activity_tracker/tests/test_backfill_discord_activity_tracker_command.py
  • discord_activity_tracker/tests/test_preprocessor_extra.py
  • slack_event_handler/tests/conftest.py
  • discord_activity_tracker/api_schemas.py
  • discord_activity_tracker/sync/raw_archive.py
  • discord_activity_tracker/schemas/discord_staging_v1.json
  • discord_activity_tracker/staging_schema.py
  • discord_activity_tracker/tests/test_bulk_services.py
  • discord_activity_tracker/workspace.py
  • docs/Service_API.md
  • discord_activity_tracker/management/commands/extract_discord_tokens.py
  • core/errors.py
  • discord_activity_tracker/tests/test_admin.py
  • scripts/wait_slack_chrome_profile.sh
  • discord_activity_tracker/utils/discord_internal_tokens_store.py
  • discord_activity_tracker/tests/test_export.py
  • discord_activity_tracker/tests/test_staging_schema.py
  • discord_activity_tracker/migrations/0005_channel_category_message_type_is_pinned.py
  • slack_event_handler/apps.py
  • discord_activity_tracker/tests/conftest.py
  • discord_activity_tracker/tests/test_failure_classification.py
  • discord_activity_tracker/sync/export.py
  • slack_event_handler/tests/test_job_queue.py
  • discord_activity_tracker/management/commands/backfill_discord_activity_tracker.py
  • discord_activity_tracker/migrations/0003_alter_discordmessage_author.py
  • discord_activity_tracker/sync/messages.py
  • discord_activity_tracker/tests/test_staging_schema_extra.py
  • slack_event_handler/tests/test_runner.py
  • slack_event_handler/tests/test_pr_parser.py
  • config/boost_collector_schedule.yaml.example
  • slack_event_handler/runner.py
  • discord_activity_tracker/tests/test_write_staging_json_schema_script.py
  • slack_event_handler/tests/test_management_command.py
  • slack_event_handler/tests/test_rate_limiter.py
  • slack_event_handler/tests/test_slack_internal_tokens_store.py
  • discord_activity_tracker/scripts/write_staging_json_schema.py
  • discord_activity_tracker/tests/test_pinecone_runner_coverage.py
  • config/boost_collector_schedule.yaml
  • slack_event_handler/tests/test_apps.py
  • discord_activity_tracker/tests/test_sync_client.py
  • discord_activity_tracker/tests/test_export_sync_coverage.py
  • discord_activity_tracker/sync/exporter_window.py
  • discord_activity_tracker/migrations/0004_delete_discorduser.py
  • .github/CODEOWNERS
  • discord_activity_tracker/preprocessor.py
  • scripts/wait_discord_chrome_profile.sh
  • discord_activity_tracker/services.py
  • core/tests/test_protocol_serialization.py
  • discord_activity_tracker/tests/test_discord_internal_tokens_store.py
  • docs/Architecture_data_flow.md
  • discord_activity_tracker/tests/test_raw_archive.py
  • slack_event_handler/management/commands/extract_slack_tokens.py
  • discord_activity_tracker/tests/test_chat_exporter_branch_coverage.py
  • discord_activity_tracker/tests/test_services_core.py
  • cppa_user_tracker/tests/test_services.py
  • discord_activity_tracker/tests/test_workspace_clear_staging.py
  • discord_activity_tracker/tests/test_protocol_impl.py
  • slack_event_handler/tests/test_github_pr_client.py
  • discord_activity_tracker/tests/test_run_discord_activity_tracker_command.py
  • discord_activity_tracker/tests/test_run_command_coverage.py
  • discord_activity_tracker/tests/test_sync_chat_exporter.py
  • discord_activity_tracker/tests/test_task_discord_sync_coverage.py
  • docs/Workspace.md
  • .importlinter
  • discord_activity_tracker/sync/client.py
  • scripts/check_service_layer_writes.py
  • discord_activity_tracker/tests/test_workspace.py
  • slack_event_handler/tests/test_huddle_processor.py
  • docker-compose.prod.yml
  • slack_event_handler/tests/test_extract_slack_tokens_command.py
  • discord_activity_tracker/sync/chat_exporter.py
  • core/tests/test_protocols.py
  • discord_activity_tracker/utils/discord_tokens.py
  • scripts/list_cross_app_imports.py
  • docs/service_api/README.md
  • cppa_user_tracker/services.py
  • core/tests/test_collector_protocol_conformance.py
  • docker-compose.yml
  • core/tests/operations/test_slack_fetcher.py
  • docs/Architecture_overview.md
  • Makefile

Comment thread config/settings.py
Comment thread docs/GCP_Production_Checklist.md Outdated
Comment thread SECURITY.md
Comment thread config/test_settings.py Outdated
Comment thread core/utils/text_processing.py Outdated
Comment thread core/operations/md_ops/transcript.py Outdated
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