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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cf1af3c60d0d620d92b5b8393d2c246628a8fc71c87484ad53a5d75335254644
4
- data.tar.gz: 7da19312a43e892d150bc517dbc8dd9882174a3bae6e6284c10c5950b30b34f6
3
+ metadata.gz: 8aef45a3d166689b823ce4ab85ab8651e066838a49ddf5b7d23e40345c1a9e0c
4
+ data.tar.gz: 0d9e256b0cfcdb8ba4354b7e16836e1a0f236f14f5f682bce0850504e4af16ae
5
5
  SHA512:
6
- metadata.gz: 8e7430bf08502334e07d742cbf529a2b2c9381d5f1f58dac93d70a822623cafe6f77caad2b3b2a17aafb7c18a8a55bf196dcf082cdd9024c82f722b0cbc014f2
7
- data.tar.gz: e85be66ebca3178f9adc7514f477032e3551122de76c4e8055dc6b75e4cfbc684e61161ba9763eca454a36619dd75d98bdcf79e0cd06a30ac9b120de59e3305e
6
+ metadata.gz: 7cdbc8c5709b74a0a3298a56b79ea954a689a95f94868c2c3a0973ad5912c07581a03f797944caf5f62414ad71cb6c27f9a4b0243351b883962adc67a5b5b2ff
7
+ data.tar.gz: 00debefc3b8438a48a158c4a706817807f75e2489cc8a3f8ceb247ebd7598592aa4927c6a0942730db12dba5d7e9af0ae875d126f7d7a321732eb2d866e7388d
@@ -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>
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pubid
4
- VERSION = "2.0.32"
4
+ VERSION = "2.0.33"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pubid
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.32
4
+ version: 2.0.33
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.