https://github.com/Xitee1/vhs-tool
· scanned 2026-06-16 01:03 UTC (2 months, 1 week ago)
18 raw signals (0 security + 18 graph)
Last scanned 2 months, 1 week ago · v1 · 18 actionable findings from 1 signal source. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 194 nodes from the latest scan, grouped by kind. Each node is a unit the engine identified (file, function, endpoint, table…). Most users won't need this view — it's primarily for debugging the engine's graph extraction or for AI agents that want to enumerate the project structure.
| Label | Layer | Status | Path |
|---|---|---|---|
test_ts_roundtrip |
software | healthy | tests/test_common.py:6 |
test_ts_without_millis |
software | healthy | tests/test_common.py:11 |
test_negative_seconds_clamped |
software | healthy | tests/test_common.py:15 |
test_invalid_timestamp |
software | healthy | tests/test_common.py:20 |
test_strip_profile_suffix |
software | healthy | tests/test_upload.py:27 |
test_normalize_platform |
software | healthy | tests/test_upload.py:42 |
test_normalize_platform_unknown |
software | healthy | tests/test_upload.py:46 |
test_seconds_to_hms_rounds |
software | healthy | tests/test_upload.py:51 |
test_seconds_to_yt_ts |
software | healthy | tests/test_upload.py:56 |
test_parse_capture_date |
software | healthy | tests/test_upload.py:64 |
test_parse_capture_date_missing |
software | healthy | tests/test_upload.py:68 |
test_ia_identifier |
software | healthy | tests/test_upload.py:72 |
test_youtube_description_full |
software | healthy | tests/test_upload.py:78 |
test_youtube_description_minimal |
software | healthy | tests/test_upload.py:97 |
test_youtube_description_no_chapters |
software | healthy | tests/test_upload.py:113 |
_notes |
software | healthy | tests/test_upload.py:126 |
test_notes_minimal |
software | healthy | tests/test_upload.py:148 |
test_notes_full |
software | healthy | tests/test_upload.py:159 |
test_derive_base |
software | healthy | tests/test_audio.py:16 |
test_parse_peak_gain |
software | healthy | tests/test_audio.py:20 |
test_validate_hifi |
software | healthy | tests/test_audio.py:27 |
test_defaults_without_file |
software | healthy | tests/test_config.py:9 |
test_find_config_uses_cwd |
software | healthy | tests/test_config.py:17 |
test_find_config_env_var_wins |
software | healthy | tests/test_config.py:26 |
test_partial_file_overrides_only_given_keys |
software | healthy | tests/test_config.py:38 |
test_unknown_section_rejected |
software | healthy | tests/test_config.py:64 |
test_unknown_key_rejected |
software | healthy | tests/test_config.py:71 |
test_invalid_toml_rejected |
software | healthy | tests/test_config.py:78 |
test_derive_base |
software | healthy | tests/test_rf_resample.py:19 |
test_default_suffix |
software | healthy | tests/test_rf_resample.py:23 |
test_presets |
software | healthy | tests/test_rf_resample.py:31 |
test_profile_suffixes_cover_all_x265_profiles |
software | healthy | tests/test_encoding.py:13 |
test_profile_suffixes_longest_first |
software | healthy | tests/test_encoding.py:20 |
test_strip_profile_suffix_roundtrip |
software | healthy | tests/test_encoding.py:26 |
_captured_cmd |
software | healthy | tests/test_encoding.py:30 |
test_ffmpeg_encode_youtube_upscale_command |
software | healthy | tests/test_encoding.py:36 |
test_ffmpeg_encode_archive_preview_command |
software | healthy | tests/test_encoding.py:61 |
test_with_options_overrides |
software | healthy | tests/test_encoding.py:98 |
test_derive_base |
software | healthy | tests/test_decode.py:20 |
_build |
software | healthy | tests/test_decode.py:24 |
test_build_command_defaults |
software | healthy | tests/test_decode.py:29 |
test_build_command_disable_defaults |
software | healthy | tests/test_decode.py:43 |
test_build_command_flags |
software | healthy | tests/test_decode.py:49 |
test_build_command_y_comb |
software | healthy | tests/test_decode.py:68 |
test_build_command_range_and_extra |
software | healthy | tests/test_decode.py:77 |
test_overwrite_guard_with_dotted_base |
software | healthy | tests/test_decode.py:87 |
test_single_cut_pair |
software | healthy | tests/test_cuts.py:7 |
test_leading_end_implies_begin_at_zero |
software | healthy | tests/test_cuts.py:13 |
test_trailing_begin_cuts_to_end |
software | healthy | tests/test_cuts.py:19 |
test_consecutive_same_type_rejected |
software | healthy | tests/test_cuts.py:25 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
README.md |
software | healthy | README.md |
vhs-tool.example.toml |
software | healthy | vhs-tool.example.toml |
pyproject.toml |
software | healthy | pyproject.toml |
AGENTS.md |
software | healthy | AGENTS.md |
test_common.py |
software | healthy | tests/test_common.py |
test_upload.py |
software | healthy | tests/test_upload.py |
test_audio.py |
software | healthy | tests/test_audio.py |
test_config.py |
software | healthy | tests/test_config.py |
test_rf_resample.py |
software | healthy | tests/test_rf_resample.py |
test_encoding.py |
software | healthy | tests/test_encoding.py |
test_decode.py |
software | healthy | tests/test_decode.py |
test_cuts.py |
software | healthy | tests/test_cuts.py |
ci.yml |
software | healthy | .github/workflows/ci.yml |
__init__.py |
software | healthy | src/vhs_tool/__init__.py |
config.py |
software | healthy | src/vhs_tool/config.py |
cli.py |
software | healthy | src/vhs_tool/cli.py |
encoding.py |
software | healthy | src/vhs_tool/encoding.py |
__main__.py |
software | healthy | src/vhs_tool/__main__.py |
common.py |
software | healthy | src/vhs_tool/common.py |
decode.py |
software | healthy | src/vhs_tool/commands/decode.py |
__init__.py |
software | healthy | src/vhs_tool/commands/__init__.py |
upload.py |
software | healthy | src/vhs_tool/commands/upload.py |
audio.py |
software | healthy | src/vhs_tool/commands/audio.py |
export.py |
software | healthy | src/vhs_tool/commands/export.py |
encode.py |
software | healthy | src/vhs_tool/commands/encode.py |
rf_resample.py |
software | healthy | src/vhs_tool/commands/rf_resample.py |
__init__.py |
software | healthy | src/vhs_tool/templates/__init__.py |
AGENTS.md |
quality | healthy | AGENTS.md |
| Label | Layer | Status | Path |
|---|---|---|---|
Paths |
software | healthy | src/vhs_tool/config.py:29 |
Binaries |
software | healthy | src/vhs_tool/config.py:42 |
Defaults |
software | healthy | src/vhs_tool/config.py:54 |
Hardware |
software | healthy | src/vhs_tool/config.py:63 |
Links |
software | healthy | src/vhs_tool/config.py:75 |
Upload |
software | healthy | src/vhs_tool/config.py:86 |
Config |
software | healthy | src/vhs_tool/config.py:92 |
FfmpegProfile |
software | healthy | src/vhs_tool/encoding.py:82 |
ToolError |
software | healthy | src/vhs_tool/common.py:21 |
TapeInfo |
software | healthy | src/vhs_tool/commands/upload.py:308 |
Segment |
software | healthy | src/vhs_tool/commands/encode.py:47 |
_CutMarkerAction |
software | healthy | src/vhs_tool/commands/encode.py:200 |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
vhs_tool |
software | healthy | src/vhs_tool |
commands |
software | healthy | src/vhs_tool/commands |
templates |
software | healthy | src/vhs_tool/templates |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-iy4b3bq1 |
software | healthy | /tmp/repobility-clone-iy4b3bq1 |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
test |
cicd | healthy | .github/workflows/ci.yml |
This page is publicly accessible at:
https://repobility.com/scan/c43dacdf-fb6c-499f-a23e-6c131ddacdff/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/c43dacdf-fb6c-499f-a23e-6c131ddacdff/
Important — please don't re-submit the same URL repeatedly. The submission endpoint is idempotent: re-submitting the same git URL returns this same scan_token, not a new one. To re-scan this repo, sign up free and use the dashboard.