Skip to content

Conversation

@Teagan42
Copy link
Contributor

@Teagan42 Teagan42 commented Oct 7, 2025

Summary

  • compute TMDb episode identifiers when missing from append_to_response payloads
  • propagate show identifiers into episode fetch helpers and normalise ids as strings in the shared TMDb episode model
  • bump the project version metadata to 2.0.2

Why

  • appended TMDb episode payloads omit the id field, which previously caused validation failures when parsing responses

Affects

  • loader enrichment episode fetching logic
  • shared TMDb episode Pydantic model and related tests
  • project version metadata and lockfile

Testing

  • uv run ruff check .
  • uv run pytest

Documentation

  • not needed

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

@github-actions
Copy link

github-actions bot commented Oct 7, 2025

Coverage

Coverage Report
FileStmtsMissCoverMissing
mcp_plex/common
   types.py166199%168
   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.py5207586%240, 263–269, 322, 327, 358, 360, 367, 371, 475, 496, 516, 524–526, 529–531, 534–536, 544–549, 557, 611–612, 636, 696–697, 713, 742, 749, 751, 755, 807, 825, 837, 866, 872, 875–883, 909, 912–914, 931–933, 953–956, 960, 974–980, 1002, 1004, 1007–1009
   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__.py3512892%55–56, 136–137, 185, 202, 240, 261–264, 278–281, 289, 363, 366, 404, 422–423, 461, 491, 509, 515, 533, 632–634, 638
   __main__.py440%3–8
   cli.py62198%73
   config.py821285%58, 61–69, 76, 82, 102, 116
   media.py85495%62, 84–85, 95
mcp_plex/server/tools
   media_library.py2891196%477, 760, 783–791
TOTAL265319093% 

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

@Teagan42 Teagan42 merged commit d6a5670 into main Oct 7, 2025
4 checks passed
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting

Comment on lines 128 to +129
class TMDBEpisode(BaseModel):
id: int
id: str

Choose a reason for hiding this comment

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

P1 Badge Update TMDb ID payload schema for string episode IDs

Normalising TMDBEpisode.id to a string means episode payloads can now contain values such as "1/season/2/episode/3", but the loader still creates the data.tmdb.id Qdrant index as an integer and the server casts TMDb identifiers to int before querying. Ingesting an episode after this change will either fail when the integer index receives a non‑integer string or make lookups by TMDb ID impossible because the stored payload no longer matches the integer filter. The index and query logic should be adjusted to accept string IDs (or the model should remain numeric) so episode data stays accessible.

Useful? React with 👍 / 👎.

@Teagan42 Teagan42 deleted the codex/update-tmdb-response-for-episodes branch October 7, 2025 07:50
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