Skip to content

Commit bb67cb3

Browse files
committed
Bump document sync hash to c95b4f2 and drop the transitional DEVIATION
Two follow-ups after the DID-python#83 / DID-matlab#198 merge landed on main: * did_matlab_python_bridge.yaml: matlab_last_sync_hash for the document entry was still 78583f6, so the bridge coverage job flagged c95b4f2 (the MATLAB parse-tighten commit) as unreviewed drift. Bump it and add a class-level decision_log note naming the commit and pointing at the method-level entries that already describe the alignment. No Python code change was needed -- the Python side was already strict. * tests/symmetry/read_artifacts/common/test_series_member_names.py: the transitional DEVIATION for chunkdata.bin_-1 (added while #198 was pending) is now stale. Both languages refuse the name at the parse; empty the table. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SqTZnkGgPBgWKyAyNHGNuv
1 parent a80348b commit bb67cb3

2 files changed

Lines changed: 16 additions & 18 deletions

File tree

‎src/did/did_matlab_python_bridge.yaml‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -906,7 +906,7 @@ classes:
906906
- name: document
907907
type: class
908908
matlab_path: "+did/document.m"
909-
matlab_last_sync_hash: "78583f6"
909+
matlab_last_sync_hash: "c95b4f2"
910910
status: ported
911911
python_path: "did/document.py"
912912
python_class: "Document"
@@ -1371,6 +1371,16 @@ classes:
13711371
deliberately not ported. Synchronized 2026-03-16; construction and
13721372
validation 2026-08-28.
13731373
1374+
Sync hash bumped to c95b4f2 on 2026-09-08 (DID-matlab#198 /
1375+
DID-python#69). That commit tightened the NAME_<i> parse in
1376+
is_in_file_list, seriesMemberOf and localValidateFileDeclarations
1377+
from str2num (which EVALUATES) to a strict all-digits check, matching
1378+
Python's series_member_of. The Python side was already strict, so no
1379+
code change was needed here -- the entry's method-level decision_logs
1380+
for is_in_file_list and the constructor already describe the alignment.
1381+
Both languages now accept NAME_<i> as a numbered entry only when <i>
1382+
is a non-negative integer.
1383+
13741384
# -----------------------------------------------------------------------
13751385
# did.query
13761386
# -----------------------------------------------------------------------

‎tests/symmetry/read_artifacts/common/test_series_member_names.py‎

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,23 +31,11 @@
3131

3232
# name -> (this language's stem, this language's index, why they differ)
3333
#
34-
# TRANSITIONAL, pending VH-Lab/DID-matlab#198. Once that PR merges,
35-
# MATLAB's seriesMemberOf uses a strict all-digits parse and this table
36-
# empties out. Until then the DID-matlab main this workflow checks out
37-
# still records ('chunkdata.bin_-1', 'chunkdata.bin', -1) via str2num,
38-
# and Python's isdigit-based parse answers ('', None) -- both languages
39-
# refuse the name, only the layer differs. See DID-python#69.
40-
DEVIATIONS: dict[str, tuple[str, int | None, str]] = {
41-
"chunkdata.bin_-1": (
42-
"",
43-
None,
44-
(
45-
"MATLAB's str2num parses a leading minus; Python's isdigit() does not. "
46-
"Both refuse the name, at different layers. Removed here once "
47-
"VH-Lab/DID-matlab#198 lands and MATLAB's parse becomes strict too."
48-
),
49-
),
50-
}
34+
# Empty as of DID-matlab#198 / DID-python#69: MATLAB tightened its parse
35+
# from str2num (which EVALUATES) to a strict all-digits check, matching
36+
# Python's isdigit-based parse. The '_-1' vector that used to be a
37+
# MATLAB-only member is now refused at the parse in both languages.
38+
DEVIATIONS: dict[str, tuple[str, int | None, str]] = {}
5139

5240

5341
def _recorded_index(case):

0 commit comments

Comments
 (0)