Skip to content

Conversation

@Teagan42
Copy link
Contributor

@Teagan42 Teagan42 commented Oct 7, 2025

What

  • tighten PLEX_PLAYER_ALIASES parsing to accept structured mappings/sequences and normalize them into an immutable alias map
  • thread the typed alias map through Plex player discovery and cover the new parsing paths with tests
  • document server guidelines requiring typed endpoint models and justification for new Any/object annotations
  • bump project version metadata and lockfile entries

Why

  • configuration parsing previously accepted object inputs and produced mutable lists, which made the accepted schema unclear and error handling inconsistent
  • downstream code now benefits from precise typing, while documentation sets expectations for future endpoints and typing exceptions

Affects

  • server configuration parsing, Plex player alias lookups, configuration tests, repository guidelines, and version metadata/lockfile

Testing

  • uv run ruff check .
  • uv run pytest

Documentation

  • Updated mcp_plex/server/AGENTS.md with new API guidelines

https://chatgpt.com/codex/tasks/task_e_68e4a96e9fbc8328be8083b9ab793a03

@github-actions
Copy link

github-actions bot commented Oct 7, 2025

Coverage

Coverage Report
FileStmtsMissCoverMissing
mcp_plex/common
   validation.py28293%37–38
mcp_plex/loader
   __init__.py3741795%84–91, 165, 255–260, 662, 777–779, 781, 867–886
   __main__.py440%2–8
   imdb_cache.py43295%59, 63
mcp_plex/loader/pipeline
   channels.py64297%134–135
   enrichment.py5167585%237, 259–265, 318, 323, 354, 356, 363, 367, 471, 492, 512, 520–522, 525–527, 530–532, 540–545, 553, 607–608, 632, 692–693, 709, 738, 745, 747, 751, 803, 821, 833, 862, 868, 871–879, 905, 908–910, 927–929, 949–952, 956, 970–976, 998, 1000, 1003–1005
   ingestion.py1551392%81, 130–150, 185, 222, 238, 331, 337, 357
   orchestrator.py95595%63, 141, 170, 193–194
   persistence.py130993%122, 164–165, 175, 186, 190–192, 245
mcp_plex/server
   __init__.py8304295%164–165, 245–246, 265, 282, 332, 354–355, 365, 445, 466–469, 483–486, 494, 568, 571, 609, 627–628, 666, 1094, 1367, 1390–1398, 1435, 1453, 1459, 1477, 1624, 1664
   __main__.py440%3–8
   config.py821285%58, 61–69, 76, 82, 102, 116
TOTAL255818793% 

Tests Skipped Failures Errors Time
156 0 💤 0 ❌ 0 🔥 1m 28s ⏱️

@Teagan42 Teagan42 merged commit e854911 into main Oct 7, 2025
4 checks passed
@Teagan42 Teagan42 deleted the codex/tighten-configuration-parsing-in-config.py branch October 22, 2025 22:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants