ea0a9fd2b4e1e7c5b21b218513eb9f192edb62db
Not review findings — a systematic pass over every factual claim the record makes, checking each against the file it describes rather than against my memory of it. 1. The record said defects 1 and 3 were "a `perl` wrapper inside an `if`, which is not a file at all". Defect 1 was a `[ -x "$cmd" ]` test, not the wrapper, and both live in `scripts/check-local-lsp.sh` — which IS a file. The point survives and is now stated correctly: that file is outside the population because no workflow or hook invokes it, and `mcp_smoke.py` because it is reached only through it (scope limit item 6). 2. "drives SIX of its refusal paths" — the file has six test functions, of which one is the positive control. It drives FIVE refusals plus the success path. A count taken from the wrong denominator, which is the coverage-overclaim shape round 2 had just corrected elsewhere in the same paragraph. 3. `docs/README.md` called this "the four rules every guard must satisfy". It is not a fourth guard rule — its whole content is that the obligation extends BEYOND guards, to the verification code doing the checking. Restored to three guard rules plus this one as an extension, which is also what makes the task-signal row useful to someone whose file holds no inventory row. Refs: #796 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
fix(787): derive the dropped-step guard's scope, and reconcile its snapshot against the server (#861)
fix(754,757): declare graphicsElementIds + padToNearestMinute, and pin every MCP tool to its OpenAPI contract (#760)
fix(754,757): declare graphicsElementIds + padToNearestMinute, and pin every MCP tool to its OpenAPI contract (#760)
ErsatzTV
ErsatzTV lets you transform your media library into a personalized, live TV experience - complete with EPG, channel scheduling, and seamless streaming to all your devices. Rediscover your content, your way.
How It Works
- Install ErsatzTV: Download and set up the server on your system.
- Add Your Media: Connect your media libraries and collections.
- Create Channels: Design and schedule your own live channels.
- Stream Anywhere: Watch on any device with IPTV and EPG support.
Key Features
- Custom channels: Create and schedule your own live TV channels.
- IPTV & EPG: Stream with IPTV and Electronic Program Guide support.
- Hardware Transcoding: High-performance streaming with hardware acceleration (NVENC, QSV, VAAPI, AMF, VideoToolbox)
- Media Server Integration: Connect Plex, Jellyfin, Emby and more.
- Music & Subtitles: Mix music videos and enjoy subtitle support.
- Open Source: Free, open, and community-driven project.
Documentation
Documentation is available at ersatztv.org.
License
This project is inspired by pseudotv-plex and the dizquetv fork and is released under the zlib license.
