Per Claude Code plugin docs (code.claude.com/docs/en/plugins):
- commands/ belongs at plugin ROOT, not inside .claude-plugin/ (only
plugin.json goes in .claude-plugin/). Moved via git mv.
- Repo-local .claude/plugins/<name>/ is NOT auto-discovered. Load via
`claude --plugin-dir` or `claude plugin init`.
- Plugin commands are namespaced: invoke as /code-review-tea:code-review,
not /code-review-tea.
- Bake verified Task 2 facts into RESOLVED_INVOCATION content: -F not -f,
/repos/ prefix required, tea pulls --fields diff empty (use git diff),
SHA must be remote-present.
Plan only (no plugin source changed beyond the dir move).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Incorporate findings from Task 2 verification:
- -F (typed field) reads @-/@file; -f posts literal '@-'. Use -F.
- Endpoint requires /repos/ prefix: /repos/{owner}/{repo}/...
- tea pulls --fields diff returns empty in tea 0.14.1 -> use git diff
- SHA must be remote-present (PR headSha); local-only SHA 404s
- tea api prints JSON to stdout; -o is file-output not format
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Loops phone-recorded mp4 files as local RTSP streams via MediaMTX +
ffmpeg so Vigilar's camera pipeline can be exercised end-to-end
without physical cameras. Reads camera ids from vigilar.toml,
expects videos/<id>.mp4 for each, writes a vigilar.sim.toml with
rtsp_urls rewritten to the local endpoints.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Task-by-task plan for the dev-only RTSP simulator: gitignore entries,
MediaMTX downloader, syntax-check test guard, the sim script itself,
and a human acceptance walk-through.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dev-only tooling to loop phone-recorded mp4s as local RTSP streams
(MediaMTX + ffmpeg) so the real camera pipeline can be exercised
without physical cameras.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>