docs: the matcher implements a superseded version of §3
JRay-public-server UR-009 changed the §3 score to count a frame as agreeing within ±1 frame, on scene-actor-extraction VR-014's measurement: over 40 correctly recovered offsets on real film audio the exact-frame rule scored 27 of them below 0.85 and demoted them to `loose`, because the two windows are cut on their own file's frame grid and those grids do not coincide. `AudioSignatureMatcher` still implements the exact rule. Nothing is misaligned by the divergence — the recovered offset is unaffected, and JR-047 makes the local answer supersede the server's — but the plugin will show a caveat for a match that is not in doubt. Recorded against JR-044 rather than fixed here, so the gap is findable. TRACES: JR-044 | SR-003
This commit is contained in:
@@ -240,6 +240,22 @@ end-to-end mechanism.
|
|||||||
| JR-045 | Emit and honour the signature's own `v1:` prefix, so a DSP change is detectable rather than silently non-matching | SR-003 | Low | **Done** (UT-047…049) — `AudioSignatureMatcher.TryParseFrames` refuses any prefix but `v1:`, and refuses malformed or structurally invalid payloads, so a future producer's `v2:` drops the item to the runtime tier instead of scoring as if it were understood |
|
| JR-045 | Emit and honour the signature's own `v1:` prefix, so a DSP change is detectable rather than silently non-matching | SR-003 | Low | **Done** (UT-047…049) — `AudioSignatureMatcher.TryParseFrames` refuses any prefix but `v1:`, and refuses malformed or structurally invalid payloads, so a future producer's `v2:` drops the item to the runtime tier instead of scoring as if it were understood |
|
||||||
| JR-047 | **A fetched manifest is aligned against the local file before its windows are stored**, and the alignment is recorded beside the truth data | SR-003 | High | **Done** (UT-053…057) — `ManifestAligner` runs on the fetch path. A local alignment supersedes the server's offset, since the server has never seen this file; every unavailable path degrades to the server's offset rather than refusing, and a genuine signature disagreement is recorded and surfaced as a caveat without failing the fetch |
|
| JR-047 | **A fetched manifest is aligned against the local file before its windows are stored**, and the alignment is recorded beside the truth data | SR-003 | High | **Done** (UT-053…057) — `ManifestAligner` runs on the fetch path. A local alignment supersedes the server's offset, since the server has never seen this file; every unavailable path degrades to the server's offset rather than refusing, and a genuine signature disagreement is recorded and surfaced as a caveat without failing the fetch |
|
||||||
|
|
||||||
|
> **Outstanding: §3's score gained ±1 frame of tolerance and this matcher has
|
||||||
|
> not.** `AudioSignatureMatcher` implements the exact-frame rule §3 carried
|
||||||
|
> until `JRay-public-server` UR-009 landed. The change was
|
||||||
|
> `scene-actor-extraction` VR-014's measurement: over 40 correctly recovered
|
||||||
|
> offsets on real film audio the exact rule scored 27 of them below 0.85 and
|
||||||
|
> demoted them to `loose`, because the two windows are cut on their own file's
|
||||||
|
> frame grid and those grids do not coincide. With ±1 frame all 40 reach
|
||||||
|
> `audio` and the strongest false match is unmoved at 0.16.
|
||||||
|
>
|
||||||
|
> **Nothing is misaligned by the divergence** — the offset the matcher recovers
|
||||||
|
> is unaffected, and JR-047 makes the local answer supersede the server's — but
|
||||||
|
> the plugin will label as `loose` alignments the server calls `audio`, which is
|
||||||
|
> a caveat shown to a user for a match that is not in doubt. JR-044's matcher
|
||||||
|
> and [`audio-alignment.md`](audio-alignment.md)'s scoring table both need the
|
||||||
|
> revised rule. Until then this repo implements a superseded version of §3.
|
||||||
|
|
||||||
## Human-in-the-loop association (JR-046)
|
## Human-in-the-loop association (JR-046)
|
||||||
|
|
||||||
| ID | Requirement | Traces to | Priority | Status |
|
| ID | Requirement | Traces to | Priority | Status |
|
||||||
|
|||||||
Reference in New Issue
Block a user