https://github.com/simpasgh/piano-helper
· scanned 2026-06-16 00:13 UTC (2 months, 2 weeks ago)
91 raw signals (0 security + 91 graph)
Last scanned 2 months, 2 weeks ago · v1 · 90 actionable findings from 1 signal source. 1 repeated signal grouped for readability. Security checks, system graph analysis, and verified AI-agent feedback are merged into one review queue.
All 2030 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 |
|---|---|---|---|
json |
software | healthy | functions/api/flags.ts:json |
gate |
software | healthy | functions/api/flags.ts:gate |
readConfig |
software | healthy | functions/api/flags.ts:readConfig |
json |
software | healthy | functions/api/omr.ts:json |
isFilePart |
software | healthy | functions/api/omr.ts:isFilePart |
readUpload |
software | healthy | functions/api/omr.ts:readUpload |
json |
software | healthy | functions/api/omr/result.ts:json |
delinearize |
software | healthy | omr-worker/seq2seq.py:64 |
_zeus_chord_streams |
software | healthy | omr-worker/seq2seq.py:114 |
_geom_chord_streams |
software | healthy | omr-worker/seq2seq.py:138 |
_plan_chord |
software | healthy | omr-worker/seq2seq.py:151 |
correct_octaves_gated |
software | healthy | omr-worker/seq2seq.py:197 |
flush |
software | healthy | omr-worker/seq2seq.py:235 |
measure_multisets |
software | healthy | omr-worker/seq2seq.py:262 |
mean_measure_agreement |
software | healthy | omr-worker/seq2seq.py:279 |
assemble |
software | healthy | omr-worker/seq2seq.py:299 |
pick |
software | healthy | omr-worker/seq2seq.py:316 |
test_bottom_line_is_e4 |
software | healthy | omr-worker/test_geom_omr.py:29 |
test_line2_is_g4 |
software | healthy | omr-worker/test_geom_omr.py:32 |
test_middle_line_is_b4 |
software | healthy | omr-worker/test_geom_omr.py:36 |
test_top_line_is_f5 |
software | healthy | omr-worker/test_geom_omr.py:39 |
test_first_space_is_f4 |
software | healthy | omr-worker/test_geom_omr.py:42 |
test_space_above_top_line_is_g5 |
software | healthy | omr-worker/test_geom_omr.py:46 |
test_middle_c_one_ledger_below |
software | healthy | omr-worker/test_geom_omr.py:50 |
test_unordered_lines_are_normalized |
software | healthy | omr-worker/test_geom_omr.py:54 |
test_bottom_line_is_g2 |
software | healthy | omr-worker/test_geom_omr.py:66 |
test_line4_is_f3 |
software | healthy | omr-worker/test_geom_omr.py:69 |
test_middle_line_is_d3 |
software | healthy | omr-worker/test_geom_omr.py:73 |
test_top_line_is_a3 |
software | healthy | omr-worker/test_geom_omr.py:76 |
test_middle_c_two_ledger_above |
software | healthy | omr-worker/test_geom_omr.py:79 |
test_none_lines |
software | healthy | omr-worker/test_geom_omr.py:87 |
test_too_few_lines |
software | healthy | omr-worker/test_geom_omr.py:90 |
test_degenerate_lines_same_y |
software | healthy | omr-worker/test_geom_omr.py:93 |
test_garbage_y |
software | healthy | omr-worker/test_geom_omr.py:96 |
test_unknown_clef_defaults_to_treble |
software | healthy | omr-worker/test_geom_omr.py:100 |
test_emits_grand_staff_with_decoded_pitches |
software | healthy | omr-worker/test_geom_omr.py:117 |
test_same_x_heads_become_one_chord |
software | healthy | omr-worker/test_geom_omr.py:128 |
test_key_fifths_applies_accidental |
software | healthy | omr-worker/test_geom_omr.py:137 |
test_no_heads_returns_none |
software | healthy | omr-worker/test_geom_omr.py:144 |
test_never_raises_on_garbage |
software | healthy | omr-worker/test_geom_omr.py:147 |
_draw_staff |
software | healthy | omr-worker/test_geom_omr.py:164 |
test_detect_systems_finds_one_staff |
software | healthy | omr-worker/test_geom_omr.py:190 |
test_detect_noteheads_recovers_known_positions |
software | healthy | omr-worker/test_geom_omr.py:200 |
test_full_decode_treble_pitches |
software | healthy | omr-worker/test_geom_omr.py:212 |
test_chord_grouping_stacks_same_x |
software | healthy | omr-worker/test_geom_omr.py:227 |
test_transcribe_geometric_emits_musicxml |
software | healthy | omr-worker/test_geom_omr.py:237 |
test_transcribe_none |
software | healthy | omr-worker/test_geom_omr.py:251 |
test_transcribe_bad_path |
software | healthy | omr-worker/test_geom_omr.py:254 |
test_transcribe_blank_image |
software | healthy | omr-worker/test_geom_omr.py:258 |
test_detect_systems_blank |
software | healthy | omr-worker/test_geom_omr.py:264 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
vite.config.ts |
software | healthy | vite.config.ts |
README.md |
software | healthy | README.md |
CLAUDE.md |
software | healthy | CLAUDE.md |
package.json |
software | healthy | package.json |
index.html |
software | healthy | index.html |
package-lock.json |
software | healthy | package-lock.json |
admin.html |
software | healthy | admin.html |
tsconfig.json |
software | healthy | tsconfig.json |
tsconfig.json |
software | healthy | functions/tsconfig.json |
flags.ts |
software | healthy | functions/api/flags.ts |
omr.ts |
software | healthy | functions/api/omr.ts |
result.ts |
software | healthy | functions/api/omr/result.ts |
omr-vm-access.md |
software | healthy | docs/omr-vm-access.md |
omr-engine-review-2026-06.md |
software | healthy | docs/omr-engine-review-2026-06.md |
workflow.md |
software | healthy | docs/workflow.md |
business-plan.md |
software | healthy | docs/business-plan.md |
streaming-loader-demo.html |
software | healthy | docs/design/streaming-loader-demo.html |
qa.md |
software | healthy | docs/context/qa.md |
README.md |
software | healthy | docs/context/README.md |
tech-lead.md |
software | healthy | docs/context/tech-lead.md |
product.md |
software | healthy | docs/context/product.md |
infrastructure.md |
software | healthy | docs/context/infrastructure.md |
design.md |
software | healthy | docs/context/design.md |
own-engine-roadmap.md |
software | healthy | docs/context/own-engine-roadmap.md |
seq2seq.py |
software | healthy | omr-worker/seq2seq.py |
oracle-cloud-init.yaml |
software | healthy | omr-worker/oracle-cloud-init.yaml |
test_geom_omr.py |
software | healthy | omr-worker/test_geom_omr.py |
test_seq2seq.py |
software | healthy | omr-worker/test_seq2seq.py |
test_geom_detector.py |
software | healthy | omr-worker/test_geom_detector.py |
synth_augment.py |
software | healthy | omr-worker/synth_augment.py |
progressive.py |
software | healthy | omr-worker/progressive.py |
oemer_bbox.py |
software | healthy | omr-worker/oemer_bbox.py |
worker.py |
software | healthy | omr-worker/worker.py |
test_progressive.py |
software | healthy | omr-worker/test_progressive.py |
test_deepscores_to_yolo.py |
software | healthy | omr-worker/test_deepscores_to_yolo.py |
rhythm_repair.py |
software | healthy | omr-worker/rhythm_repair.py |
README.md |
software | healthy | omr-worker/README.md |
hetzner-cloud-init.yaml |
software | healthy | omr-worker/hetzner-cloud-init.yaml |
train_detector.py |
software | healthy | omr-worker/train_detector.py |
test_referee.py |
software | healthy | omr-worker/test_referee.py |
test_flag_config.py |
software | healthy | omr-worker/test_flag_config.py |
test_geom_ottava.py |
software | healthy | omr-worker/test_geom_ottava.py |
oracle-launch.sh |
software | healthy | omr-worker/oracle-launch.sh |
clarity_stream.py |
software | healthy | omr-worker/clarity_stream.py |
flag_config.py |
software | healthy | omr-worker/flag_config.py |
synth_render.py |
software | healthy | omr-worker/synth_render.py |
reconcile.py |
software | healthy | omr-worker/reconcile.py |
test_zeus_crops.py |
software | healthy | omr-worker/test_zeus_crops.py |
test_train_detector.py |
software | healthy | omr-worker/test_train_detector.py |
synth_dataset.py |
software | healthy | omr-worker/synth_dataset.py |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
TestDecodePitchTreble |
software | healthy | omr-worker/test_geom_omr.py:23 |
TestDecodePitchBass |
software | healthy | omr-worker/test_geom_omr.py:60 |
TestDecodePitchRobustness |
software | healthy | omr-worker/test_geom_omr.py:84 |
TestDecodeStavesToMusicxml |
software | healthy | omr-worker/test_geom_omr.py:113 |
TestDetectAndDecode |
software | healthy | omr-worker/test_geom_omr.py:189 |
TestNeverRaises |
software | healthy | omr-worker/test_geom_omr.py:250 |
TestDewarpStaffLines |
software | healthy | omr-worker/test_geom_omr.py:336 |
TestGrayToUint8Rgb |
software | healthy | omr-worker/test_geom_omr.py:380 |
TestPairStaves |
software | healthy | omr-worker/test_geom_omr.py:959 |
TestAutoImgsz |
software | healthy | omr-worker/test_geom_detector.py:20 |
TestAssignToStaves |
software | healthy | omr-worker/test_geom_detector.py:51 |
_StubDetector |
software | healthy | omr-worker/test_geom_detector.py:89 |
TestDewarpGate |
software | healthy | omr-worker/test_geom_detector.py:103 |
_FixedDetector |
software | healthy | omr-worker/test_geom_detector.py:133 |
TestAdaptiveIllumination |
software | healthy | omr-worker/test_geom_detector.py:161 |
TestClarityPdfDump |
software | healthy | omr-worker/test_geom_detector.py:226 |
_RecordingFixedDetector |
software | healthy | omr-worker/test_geom_detector.py:280 |
TestUvdocGuard |
software | healthy | omr-worker/test_geom_detector.py:294 |
_Slot |
software | healthy | omr-worker/rhythm_repair.py:92 |
_Bar |
software | healthy | omr-worker/rhythm_repair.py:108 |
TestScopePredicates |
software | healthy | omr-worker/test_referee.py:25 |
TestPitchIntervalSemitones |
software | healthy | omr-worker/test_referee.py:66 |
TestDegradePathWithoutVerovio |
software | healthy | omr-worker/test_referee.py:90 |
TestNeverRaiseContract |
software | healthy | omr-worker/test_referee.py:114 |
TestRenderCompositing |
software | healthy | omr-worker/test_referee.py:159 |
TestRefereePickCorrect |
software | healthy | omr-worker/test_referee.py:178 |
TestRefereePickDeclines |
software | healthy | omr-worker/test_referee.py:209 |
_Body |
software | healthy | omr-worker/test_flag_config.py:22 |
_FakeClient |
software | healthy | omr-worker/test_flag_config.py:30 |
TestOttavaDeltaAt |
software | healthy | omr-worker/test_geom_ottava.py:24 |
TestNoteheadPathShift |
software | healthy | omr-worker/test_geom_ottava.py:71 |
TestFullSymbolPathShift |
software | healthy | omr-worker/test_geom_ottava.py:124 |
TestOttavaSpansFromBoxes |
software | healthy | omr-worker/test_geom_ottava.py:175 |
TestDetectOttavasRaster |
software | healthy | omr-worker/test_geom_ottava.py:227 |
TestDetectOttavasPhotoMode |
software | healthy | omr-worker/test_geom_ottava.py:307 |
TestOttavaNeverRaises |
software | healthy | omr-worker/test_geom_ottava.py:399 |
RenderedScore |
software | healthy | omr-worker/synth_render.py:190 |
ScoreRenderer |
software | healthy | omr-worker/synth_render.py:292 |
NoteEvent |
software | healthy | omr-worker/reconcile.py:94 |
TestDecodeNoteDuration |
software | healthy | omr-worker/test_geom_symbols.py:38 |
TestDetectKeyFifths |
software | healthy | omr-worker/test_geom_symbols.py:88 |
TestDecodeSymbolsToMusicxml |
software | healthy | omr-worker/test_geom_symbols.py:134 |
TestSegmentEventsToMeasuresClefChange |
software | healthy | omr-worker/test_geom_symbols.py:263 |
TestNeverRaises |
software | healthy | omr-worker/test_geom_symbols.py:303 |
NoteheadDetector |
software | healthy | omr-worker/geom_detector.py:33 |
TestNeverRaises |
software | healthy | omr-worker/test_fusion.py:326 |
TestReadTime |
software | healthy | omr-worker/test_fusion.py:353 |
TestFusePrefix |
software | healthy | omr-worker/test_fusion.py:393 |
TestMeasureCount |
software | healthy | omr-worker/test_fusion.py:459 |
_FakeClient |
software | healthy | omr-worker/test_worker.py:495 |
Showing first 50 of this kind. Full payload available via the JSON button at the top of the page.
| Label | Layer | Status | Path |
|---|---|---|---|
functions |
software | healthy | functions |
api |
software | healthy | functions/api |
omr |
software | healthy | functions/api/omr |
docs |
software | healthy | docs |
design |
software | healthy | docs/design |
context |
software | healthy | docs/context |
omr-worker |
software | healthy | omr-worker |
.claude |
software | healthy | .claude |
commands |
software | healthy | .claude/commands |
agents |
software | healthy | .claude/agents |
hooks |
software | healthy | .claude/hooks |
.github |
software | healthy | .github |
workflows |
software | healthy | .github/workflows |
src |
software | healthy | src |
types |
software | healthy | src/types |
| Label | Layer | Status | Path |
|---|---|---|---|
vps::aws |
hardware | healthy | omr-worker/README.md |
vps::hetzner |
hardware | healthy | omr-worker/hetzner-cloud-init.yaml |
| Label | Layer | Status | Path |
|---|---|---|---|
gha::deploy |
cicd | healthy | .github/workflows/deploy.yml |
gha::ci |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
deploy |
cicd | healthy | .github/workflows/deploy.yml |
verify |
cicd | healthy | .github/workflows/ci.yml |
| Label | Layer | Status | Path |
|---|---|---|---|
CLOUDFLARE_API_TOKEN |
cicd | healthy | — |
CLOUDFLARE_ACCOUNT_ID |
cicd | healthy | — |
| Label | Layer | Status | Path |
|---|---|---|---|
repobility-clone-8kl3vnhw |
software | healthy | /tmp/repobility-clone-8kl3vnhw |
| Label | Layer | Status | Path |
|---|---|---|---|
4.5.3.56 |
network | healthy | omr-worker/requirements.txt |
| Label | Layer | Status | Path |
|---|---|---|---|
gpu (detected) |
hardware | healthy | omr-worker/oracle-cloud-init.yaml |
This page is publicly accessible at:
https://repobility.com/scan/1021c432-9950-4e78-8bc7-ae832dbd78b7/
To check status programmatically (no auth required):
curl -s https://repobility.com/api/v1/public/scan/1021c432-9950-4e78-8bc7-ae832dbd78b7/
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.