lab: legato continuity — does observed same-string legato explain the tapping residual? - #205
Merged
Merged
Conversation
…tinuity # Conflicts: # docs/decisions.log.md
Question: does observed legato continuity explain the exactness residual left after tap-hand attribution? Exactness is primary, excess per note a secondary diagnostic. Fixes the TechniqueEdge projection (imported legato origin vs pitch-derived direction), the phase-1 census laws with base rates, the A/B/C1/C2(k)/D1/D2 ablation (hard vs soft continuity, pull-off open-string waiver as derived evidence), per-stage baselines under the same objective, per-format subsets, and the leave-one-song-out stop rule. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
TabLine::edges projects a legato span (HammerOn/PullOff/Legato) onto the edge it starts; an origin ending a kept line counts as dangling. Stage 2 objective: pitch-derived direction, hard and soft same-string continuity across legato edges, pull-off open-string waiver (removes a penalty, never a bonus); equals stage 1 without legato terms or edges; chain encoding against brute force. Stubs are todo!(). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
tab_lines carries each note's group legato span onto the edge into the next note of its line (dangling origins counted). technique_cost / technique_chain extend the tap-aware objective with hard or soft same-string continuity across legato edges and the pull-off open-string waiver (derived descending direction only; lifts a penalty, never a bonus). tap_aware_chain is now the technique chain without legato terms. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Counts the protocol's laws over tablature lines per split, format family and population: P(same string | legato edge) per imported kind and derived direction against plain edges (L1/L2), open-string targets of descending legato vs plain edges (L3), and tap-adjacent edges (L4); plus dangling legato origins. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Records the protocol deviations (implementation before the census; the first census ran on the pre-#202 import and is kept only as the diagnosis of the tuplet timing bug; slice and pool sizes changed with #202) and the impact sweep: #197 holdout agreement and ceilings with CP-SAT re-solved only for the 114 changed problems per model (gap 0 on all 1,945), #199's ladder (anchor gain +3.11 -> +3.10 pt), and #200's tap slice (226 lines, 0.9% vs 20.0% exactness), frozen as the stage-2 baseline. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Observed legato origins keep their target on the same string in 99.6% of edges (GP3-5 99.4%, GP6/7 99.8%, tap slice 99.4%) against 58.6% for plain edges, for both derived directions; descending legato edges land on an open string 2.8x as often as descending plain edges (31.7% vs 11.3%; tap slice 25.7% vs 8.7%; tap-slice holdout shows no lift); three quarters of edges out of a tapped note are legato, 96.8% of them descending. All legato edges are imported as HammerOn; direction is derived. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
`fingering_gap legato` runs the registered stages A, B, C1, C2(k = 1, 3, 10), D1, D2 under v1-fit and v1 on every line: exactness, excess per note (excluded, and counted, where the human path has more cross-string legato edges than a hard optimum), agreement, tapped-note agreement, ceiling; length-matched baselines from the untapped pool under the same stage objective (all and same format); controls (legato stages equal B without legato edges, B equals A without taps); and leave-one-song-out for the registered steps with the corpus-evidence stop rule. Per-line rows stay in --out. Format family now read from the path extension. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…actness gap Hard same-string continuity across observed legato edges takes tapped-line exactness from 0.9% to 11.5% (v1-fit, whole corpus; gap to the same- objective untapped baseline 19.1 -> 9.3 pt). This is corpus evidence by the leave-one-song-out rule in GP3-5 and GP6/7, and under production v1 (17.7%, above its baseline). Soft continuity with k = 3 closes 37% of the gap. The derived pull-off open-string waiver adds 3.5 pt on top of hard continuity (gap 6.0 pt). That gain is corpus evidence overall and in GP3-5, but concentrated in GP6/7 and drawn from 3 songs; on top of soft continuity the waiver adds nothing. 19 tapped lines are unreachable under the hard constraint. Controls: 0 mismatches. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…inuity Brings in the tap-attribution branch, which now contains main at e871a44 (#203, #204 are new here) and the post-#202 re-measurements of #197, #199 and #200. Those re-measurements reproduce this stage's "Baselines after #202" impact sweep figure for figure. The only conflict was docs/decisions.log.md. This branch has no decision-log entry of its own, so the file is taken from the tap-attribution branch. That version includes the amended #197, #199 and #200 entries. No stage-2 content changes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PhysShell
marked this pull request as ready for review
September 21, 2026 07:11
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Question
After correct tap-hand attribution, does observed legato continuity explain the remaining fingering-model exactness residual?
Stage 2 of the technique-aware fingering oracle work. It starts from #200's post-#202 baseline and tests observed legato continuity before any hidden-technique inference.
Research tooling only (
lab/); no production behavior changes.Protocol
TechniqueEdges.k ∈ {1,3,10}andk=3preregistered as primary;Census
Results (
v1-fit, whole corpus)Hard continuity halves the exactness gap and passes the registered leave-one-song-out rule in both format families and under both weight sets. The open-string waiver adds evidence on top of hard continuity on the whole slice and in GP3–5, but its gain is concentrated in three songs from one band and is only case evidence in GP6/7.
Important limitation / next question
Hard continuity makes 19 tapped lines (8.4%) unreachable: their human tabs contain 61 cross-string legato edges across 8 songs. Those are intentionally preserved as evidence rather than normalized away. They should be inspected before choosing a production-style hard rule, exception budget, or large soft penalty.
Reproduction
This branch was merged with the final #200 head after #202. On
794dbd1, the Stage 2 census JSON and phase-2 outputs (legato.json,legato-lines.jsonl,legato.md) reproduce the saved outputs byte-for-byte, and thelabtests are green.Full protocol, ablations, leave-one-song-out analysis, format breakdowns, controls and limitations:
docs/audit/2026-09-fingering-legato-continuity.md.