Skip to content

[codex] Prototype bounded offline movie discovery in a worker - #21

Draft
AndreKalberer wants to merge 1 commit into
mainfrom
codex/hbr004-discovery-prototype
Draft

AndreKalberer wants to merge 1 commit into
mainfrom
codex/hbr004-discovery-prototype

Conversation

@AndreKalberer

Copy link
Copy Markdown
Owner

Harbor's first provider page and built-in movies cannot find many unloaded titles. This groundwork prototype joins a cached official TMDB daily ID export to a provider ID snapshot and searches eligible original titles and exact TMDB IDs in an isolated Node worker. It changes only four tooling, fixture, and documentation files; desktop and TV behavior remain unchanged.

Raw expanded-byte and line limits apply before concatenation or UTF-8 decoding. Stable TMDB IDs preserve remake and accent collisions, and failed worker startup closes both gzip pipeline stages. Results identify provider listing only and explicitly report playback as untested.

A cached local export run scanned 1,252,997 rows / exactly 129,369,990 expanded bytes and retained 90,983 eligible provider-listed movies. The guarded scanner built in 5.046 seconds, with 31.4ms warm query p95 and a 25.7ms maximum parent heartbeat gap. These are local Node measurements, not a guarantee across machines or UI/TV verification. Raw exports, provider snapshots, and benchmark reports are excluded from this PR.

Original-title and ID queries find Parasite (496243) and Spirited Away (129), but their English aliases do not find those records. The export lacks release years, so upcoming titles cannot be excluded. This is groundwork for a broader no-key index, not completion of the global search issue. Runtime integration, cache TTL/freshness, cancellation, localized aliases, verified playback, and TV support remain open.

Validation: focused metadata fixtures passed, syntax checks passed for both scripts and the fixture file, staged diff check passed, and independent review reported no remaining findings. Fixtures cover streaming Unicode and delimiter boundaries, gzip line/total bounds, malformed records, duplicate IDs, and worker failure/cleanup. No desktop installer is required for this tooling-only milestone.

This branch has not been deployed

No deployments
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.

1 participant