pubid 2.0.32 → 2.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/data/iso/update_codes.yaml +5 -0
- data/lib/pubid/iso/CLAUDE.md +21 -0
- data/lib/pubid/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8aef45a3d166689b823ce4ab85ab8651e066838a49ddf5b7d23e40345c1a9e0c
|
|
4
|
+
data.tar.gz: 0d9e256b0cfcdb8ba4354b7e16836e1a0f236f14f5f682bce0850504e4af16ae
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7cdbc8c5709b74a0a3298a56b79ea954a689a95f94868c2c3a0973ad5912c07581a03f797944caf5f62414ad71cb6c27f9a4b0243351b883962adc67a5b5b2ff
|
|
7
|
+
data.tar.gz: 00debefc3b8438a48a158c4a706817807f75e2489cc8a3f8ceb247ebd7598592aa4927c6a0942730db12dba5d7e9af0ae875d126f7d7a321732eb2d866e7388d
|
data/data/iso/update_codes.yaml
CHANGED
|
@@ -2,6 +2,11 @@ ISO/R 657/IV: ISO/R 657-4:1969
|
|
|
2
2
|
ISO/IEC/IEEE 8802-22.2:2015/Amd.2:2017(E): ISO/IEC/IEEE 8802-22:2015/Amd.2:2017(E)
|
|
3
3
|
ISO/TR 17716.2: ISO/TR 17716
|
|
4
4
|
ISO/TR 17716.2(E): ISO/TR 17716(E)
|
|
5
|
+
# Unassigned-part placeholder: ISO's open data writes `-_` where a
|
|
6
|
+
# multipart project has no part number yet ("ISO/NP TS 6041-_", title
|
|
7
|
+
# "… Part _: _No part"). It carries no identity, so drop it and leave the
|
|
8
|
+
# part nil (relaton/relaton-data-iso#43).
|
|
9
|
+
"/(\\d)-_(?=[\\s:\\/(]|$)/": '\1'
|
|
5
10
|
# Long-form draft typed stages (DIS TR, FDIS PAS, ...) → canonical short
|
|
6
11
|
# typed-stage abbrs (DTR, FDPAS, ...). DIS/FDIS are typed-stages of the
|
|
7
12
|
# IS class only — for TR/TS/PAS/ISP they have dedicated D<type>/FD<type>
|
data/lib/pubid/iso/CLAUDE.md
CHANGED
|
@@ -207,3 +207,24 @@
|
|
|
207
207
|
`spec/pubid/iso/ballot_face_decode_spec.rb` (all 13 SSOT anchors, the
|
|
208
208
|
no-number rule, base-whole guards, Am alias, stored-twin agreement, and
|
|
209
209
|
the website-face-vs-stored-face drift rows the SSOT §5 records).
|
|
210
|
+
|
|
211
|
+
- **The unassigned-part placeholder `-_` is dropped before the parse
|
|
212
|
+
(relaton/relaton-data-iso#43).** ISO's open data
|
|
213
|
+
(`iso_deliverables_metadata.jsonl`) writes `-_` where a multipart project
|
|
214
|
+
has no part number yet — record 95616 is `ISO/NP TS 6041-_`, stage 10.20,
|
|
215
|
+
title "… Part _: _No part". The grammar's part body is word characters and
|
|
216
|
+
digits, so the id failed, and the relaton crawler left the file unindexed.
|
|
217
|
+
A `data/iso/update_codes.yaml` regex removes `-_` after a digit when a
|
|
218
|
+
separator (`:`, `/`, `(`, space) or the end follows, so the id parses as
|
|
219
|
+
`ISO/NP TS 6041` with a nil part. A nil part is the honest model (the part
|
|
220
|
+
is unknown), and `Pubid::Iso.parse` of the `-_` form (the call relaton's
|
|
221
|
+
crawler and lookup make) gives the same identifier as the index row. The
|
|
222
|
+
render is normalized, not byte-exact. No grammar or artifact change.
|
|
223
|
+
**Known gap:** the rule is ISO-only, and IEC's grammar accepts `_` as a
|
|
224
|
+
part, so `Pubid.parse("ISO 6041-_")` routes to IEC (an exact round trip
|
|
225
|
+
wins) with part `"_"`. The reported `ISO/NP TS 6041-_` still reaches ISO,
|
|
226
|
+
because IEC cannot read the NP stage. BSI and CSA delegate to ISO and get
|
|
227
|
+
the normalization. Over the whole open-data file (81,625
|
|
228
|
+
non-`Withdrawn` references, 2026-11-14) this was the only failure; the
|
|
229
|
+
`Withdrawn …` rows fail too, but the crawler skips them. Locked by
|
|
230
|
+
`spec/pubid/iso/update_codes_spec.rb`.
|
data/lib/pubid/version.rb
CHANGED