https://github.com/thomasjohnflaherty/breaks-machine
· scanned 2026-06-16 00:35 UTC (2 months, 2 weeks ago)
22 raw signals (0 security + 22 graph)
Last scanned 2 months, 2 weeks ago · v1 · 14 actionable findings from 1 signal source. 8 repeated signals grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 266 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 |
|---|---|---|---|
fixtures_dir |
software | healthy | tests/conftest.py:11 |
temp_audio_file |
software | healthy | tests/conftest.py:17 |
temp_audio_file_170bpm |
software | healthy | tests/conftest.py:53 |
temp_stereo_file |
software | healthy | tests/conftest.py:89 |
sine_file |
software | healthy | tests/test_repitch.py:18 |
dominant_frequency |
software | healthy | tests/test_repitch.py:28 |
test_within_max_stretch_passthrough |
software | healthy | tests/test_repitch.py:38 |
test_speedup_within_max_stretch_passthrough |
software | healthy | tests/test_repitch.py:45 |
test_capped_at_max_semitones |
software | healthy | tests/test_repitch.py:51 |
test_exact_fit |
software | healthy | tests/test_repitch.py:60 |
test_speedup_capped |
software | healthy | tests/test_repitch.py:67 |
test_decomposition_identity |
software | healthy | tests/test_repitch.py:73 |
test_slowdown_duration |
software | healthy | tests/test_repitch.py:83 |
test_slowdown_drops_pitch |
software | healthy | tests/test_repitch.py:89 |
test_speedup_duration_and_pitch |
software | healthy | tests/test_repitch.py:95 |
test_preserves_sample_rate_and_subtype |
software | healthy | tests/test_repitch.py:102 |
test_unity_rate_copies |
software | healthy | tests/test_repitch.py:109 |
test_duration_matches_bpm_ratio |
software | healthy | tests/test_repitch.py:118 |
test_semitone_shift_170_to_90 |
software | healthy | tests/test_repitch.py:124 |
test_moderate_change_skips_repitch |
software | healthy | tests/test_repitch.py:135 |
fake_stretch |
software | healthy | tests/test_repitch.py:155 |
test_extreme_change_repitches_then_stretches |
software | healthy | tests/test_repitch.py:151 |
test_end_to_end_duration |
software | healthy | tests/test_repitch.py:170 |
test_wav_file |
software | healthy | tests/test_processor.py:19 |
test_flac_file |
software | healthy | tests/test_processor.py:23 |
test_unsupported_format |
software | healthy | tests/test_processor.py:29 |
test_directory |
software | healthy | tests/test_processor.py:35 |
test_single_target |
software | healthy | tests/test_processor.py:79 |
test_preserves_extension |
software | healthy | tests/test_processor.py:52 |
test_float_bpm_truncated |
software | healthy | tests/test_processor.py:61 |
test_no_mode_suffix |
software | healthy | tests/test_processor.py:70 |
test_multiple_targets |
software | healthy | tests/test_processor.py:84 |
test_range_targets |
software | healthy | tests/test_processor.py:89 |
test_combined_targets |
software | healthy | tests/test_processor.py:94 |
test_removes_duplicates |
software | healthy | tests/test_processor.py:99 |
test_no_targets_error |
software | healthy | tests/test_processor.py:104 |
test_invalid_range_error |
software | healthy | tests/test_processor.py:109 |
test_engine_passed_to_stretcher |
software | healthy | tests/test_processor.py:118 |
fake_stretch_to_bpm |
software | healthy | tests/test_processor.py:122 |
test_repitch_mode_dispatch |
software | healthy | tests/test_processor.py:136 |
fake_repitch_to_bpm |
software | healthy | tests/test_processor.py:140 |
test_slice_mode_dispatch |
software | healthy | tests/test_processor.py:152 |
fake_slice_to_bpm |
software | healthy | tests/test_processor.py:156 |
test_hybrid_mode_dispatch |
software | healthy | tests/test_processor.py:168 |
fake_hybrid_to_bpm |
software | healthy | tests/test_processor.py:172 |
test_defaults |
software | healthy | tests/test_processor.py:187 |
test_custom_values |
software | healthy | tests/test_processor.py:201 |
test_no_conversion_returns_same_file |
software | healthy | tests/test_converter.py:12 |
test_sample_rate_conversion |
software | healthy | tests/test_converter.py:17 |
test_mono_conversion |
software | healthy | tests/test_converter.py:31 |
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 |
pyproject.toml |
software | healthy | pyproject.toml |
LICENSE |
software | healthy | LICENSE |
CHANGELOG.md |
software | healthy | CHANGELOG.md |
__init__.py |
software | healthy | tests/__init__.py |
conftest.py |
software | healthy | tests/conftest.py |
test_repitch.py |
software | healthy | tests/test_repitch.py |
test_processor.py |
software | healthy | tests/test_processor.py |
test_converter.py |
software | healthy | tests/test_converter.py |
test_stretcher.py |
software | healthy | tests/test_stretcher.py |
test_cli.py |
software | healthy | tests/test_cli.py |
test_detector.py |
software | healthy | tests/test_detector.py |
test_slicer.py |
software | healthy | tests/test_slicer.py |
roundtrip.py |
software | healthy | scripts/roundtrip.py |
CLAUDE.md |
software | healthy | .claude/CLAUDE.md |
uv-guide.md |
software | healthy | .claude/rules/uv-guide.md |
troubleshooting.md |
software | healthy | .claude/rules/troubleshooting.md |
cicd.md |
software | healthy | .claude/rules/cicd.md |
RELEASING.md |
software | healthy | .github/RELEASING.md |
ci.yml |
software | healthy | .github/workflows/ci.yml |
release.yml |
software | healthy | .github/workflows/release.yml |
converter.py |
software | healthy | src/breaks_machine/converter.py |
__init__.py |
software | healthy | src/breaks_machine/__init__.py |
repitch.py |
software | healthy | src/breaks_machine/repitch.py |
detector.py |
software | healthy | src/breaks_machine/detector.py |
slicer.py |
software | healthy | src/breaks_machine/slicer.py |
cli.py |
software | healthy | src/breaks_machine/cli.py |
processor.py |
software | healthy | src/breaks_machine/processor.py |
stretcher.py |
software | healthy | src/breaks_machine/stretcher.py |
.claude/CLAUDE.md |
quality | healthy | .claude/CLAUDE.md |
.claude/rules/uv-guide.md |
quality | healthy | .claude/rules/uv-guide.md |
.claude/rules/troubleshooting.md |
quality | healthy | .claude/rules/troubleshooting.md |
.claude/rules/cicd.md |
quality | healthy | .claude/rules/cicd.md |
| Label | Layer | Status | Path |
|---|---|---|---|
TestSplitTempoFactor |
software | healthy | tests/test_repitch.py:35 |
TestRepitchAudio |
software | healthy | tests/test_repitch.py:80 |
TestRepitchToBpm |
software | healthy | tests/test_repitch.py:115 |
TestHybridToBpm |
software | healthy | tests/test_repitch.py:132 |
TestIsAudioFile |
software | healthy | tests/test_processor.py:16 |
TestGenerateOutputPath |
software | healthy | tests/test_processor.py:40 |
TestParseTargets |
software | healthy | tests/test_processor.py:76 |
TestProcessFileEngine |
software | healthy | tests/test_processor.py:115 |
TestProcessFileMode |
software | healthy | tests/test_processor.py:133 |
TestProcessingOptions |
software | healthy | tests/test_processor.py:184 |
TestConvertAudio |
software | healthy | tests/test_converter.py:9 |
TestGetAudioInfo |
software | healthy | tests/test_converter.py:141 |
TestCalculateStretchRatio |
software | healthy | tests/test_stretcher.py:37 |
TestCheckRubberbandInstalled |
software | healthy | tests/test_stretcher.py:61 |
TestGetRubberbandMajorVersion |
software | healthy | tests/test_stretcher.py:70 |
TestResolveEngine |
software | healthy | tests/test_stretcher.py:112 |
TestBuildStretchCommand |
software | healthy | tests/test_stretcher.py:146 |
TestStretchAudio |
software | healthy | tests/test_stretcher.py:212 |
TestStretchToBpm |
software | healthy | tests/test_stretcher.py:252 |
TestCliStretch |
software | healthy | tests/test_cli.py:15 |
TestCliDirectory |
software | healthy | tests/test_cli.py:330 |
TestParseBpmFromFilename |
software | healthy | tests/test_detector.py:13 |
TestBpmsMatch |
software | healthy | tests/test_detector.py:57 |
TestDetectBpmWithLibrosa |
software | healthy | tests/test_detector.py:81 |
TestGetSourceBpm |
software | healthy | tests/test_detector.py:92 |
TestResliceClickTrack |
software | healthy | tests/test_slicer.py:43 |
TestGridFallback |
software | healthy | tests/test_slicer.py:80 |
TestSliceToBpm |
software | healthy | tests/test_slicer.py:99 |
BPMDetectionError |
software | healthy | src/breaks_machine/detector.py:10 |
ProcessingOptions |
software | healthy | src/breaks_machine/processor.py:24 |
RubberbandNotFoundError |
software | healthy | src/breaks_machine/stretcher.py:11 |
UnsupportedEngineError |
software | healthy | src/breaks_machine/stretcher.py:17 |
| Label | Layer | Status | Path |
|---|---|---|---|
tests |
software | healthy | tests |
scripts |
software | healthy | scripts |
.claude |
software | healthy | .claude |
rules |
software | healthy | .claude/rules |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
breaks_machine |
software | healthy | src/breaks_machine |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
gha::release |
cicd | healthy | .github/workflows/release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
lint-format-test |
cicd | healthy | .github/workflows/ci.yml |
release |
cicd | healthy | .github/workflows/release.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-35j_77vj |
software | healthy | /tmp/repobility-clone-35j_77vj |
| Label | Layer | Status | Path |
|---|---|---|---|
PYPI_API_TOKEN |
cicd | healthy | — |
This page is publicly accessible at:
https://repobility.com/scan/3aa0992f-dc14-4031-beb4-d47401fdb9a4/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/3aa0992f-dc14-4031-beb4-d47401fdb9a4/
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.