Skip to content

Commit 402d1fb

Browse files
Staacksclaude
andcommitted
Update the duplicate-metadata wording: the Android writer fix landed
The save path replaces previous metadata instead of accumulating it as of phyphox-android f248871b (2026-08-24), so the fixture description and the duplicate-metadata-last-wins rationale/state no longer claim the writer can still produce duplicates - files in that shape remain in the wild, which is what keeps the fixture and the tolerance relevant. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent b6a9117 commit 402d1fb

2 files changed

Lines changed: 13 additions & 10 deletions

File tree

corpus/invalid/state-title-duplicate.phyphox

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
<category>Saved states</category>
66
<description>
77
A saved state whose re-save appended a second state-title instead of
8-
replacing the first, the shape old Android versions wrote (and the
9-
current writer can still produce, see the live-NodeList removal skip
10-
in PhyphoxExperiment.java). Parsers tolerate the duplicate and the
11-
last occurrence wins (rule duplicate-metadata-last-wins); writing
12-
one remains an error, which is what the validators flag here.
8+
replacing the first, the shape old Android versions wrote (the
9+
writer bug, a live-NodeList removal skip in PhyphoxExperiment.java,
10+
was fixed on the development branch 2026-08-24; files in this shape
11+
remain in the wild). Parsers tolerate the duplicate and the last
12+
occurrence wins (rule duplicate-metadata-last-wins); writing one
13+
remains an error, which is what the validators flag here.
1314
</description>
1415
<data-containers>
1516
<container size="0">t</container>

spec/rules.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -320,9 +320,10 @@ rules:
320320
versions appended a fresh state-title on every re-save of a saved
321321
state without removing the previous one
322322
(corpus/valid/taipei101_down.phyphox was collected from a real 2018
323-
recording in exactly that shape, fixed 2026-08-24), and the current
324-
Android writer can still leave a stale element behind (live-NodeList
325-
removal skip, PhyphoxExperiment.java). Rejecting duplicates would
323+
recording in exactly that shape, fixed 2026-08-24), and until the
324+
same day's writer fix the Android save path could still leave a
325+
stale element behind (live-NodeList removal skip,
326+
PhyphoxExperiment.java, fixed in f248871b). Rejecting duplicates would
326327
strand users' own recordings; last-wins matches what Android has
327328
always done, so existing files keep showing the title the user gave
328329
last.
@@ -335,8 +336,9 @@ rules:
335336
Conforms by long-standing behavior: phyphoxBlockParser assigns the
336337
read value unconditionally per tag (PhyphoxFile.java, e.g. case
337338
"state-title"), so the last occurrence wins. The writer-side bug
338-
that produces the duplicates is a separate fix (handed off
339-
2026-08-24).
339+
that produced the duplicates is fixed on the development branch
340+
(f248871b, 2026-08-24): the save path now replaces the previous
341+
metadata instead of accumulating it.
340342
ios: >-
341343
Conforms as of the development branch (efff512c, 2026-08-24): the
342344
six root metadata handlers read lastResult() instead of

0 commit comments

Comments
 (0)