colregs 0.2.4 → 0.3.0

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.
package/PROVENANCE.md CHANGED
@@ -3,7 +3,7 @@
3
3
  Everything in this package is transcribed or copied from US Government
4
4
  publications. Nothing here is authoritative: consult the published rules.
5
5
 
6
- ## Rule text — `data/rules.json`
6
+ ## Rule text — `data/text/intl/2016/en-US.uscg.json`
7
7
 
8
8
  - **Source:** USCG Navigation Center, *Navigation Rules, International —
9
9
  Inland* (amalgamated), <https://www.navcen.uscg.gov/navigation-rules-amalgamated>
@@ -16,8 +16,8 @@ publications. Nothing here is authoritative: consult the published rules.
16
16
  - **Rights:** a work of the US Government, not subject to copyright in the
17
17
  United States (17 U.S.C. 105).
18
18
  - **Known hole:** Rule 24(g)(i) is absent from the source page. Rather than
19
- reconstruct it from memory, `rules.json` records it under `gaps` and the
20
- paragraph is omitted. 24(g) covers inconspicuous, partly submerged tows and
19
+ reconstruct it from memory, the corpus records it under `gaps` and carries
20
+ no text for it; the skeleton still has the path. 24(g) covers inconspicuous, partly submerged tows and
21
21
  is outside the applicability table in this release.
22
22
  - **Withheld text is not a gap.** A `gaps` entry is a paragraph we could not
23
23
  obtain. A paragraph with `text_status: withheld` is one we hold but may not
package/README.md CHANGED
@@ -26,7 +26,10 @@ See a [live demo](https://mark-brannan.github.io/searoom/) of searoom and the co
26
26
  > by the published rules.
27
27
 
28
28
  ```text
29
- data/rules.json rule text, keyed by paragraph path and jurisdiction
29
+ data/rules.json the skeleton: paragraph paths, rule numbers, jurisdictions -- no text
30
+ data/editions.json which edition of which instrument each jurisdiction is on
31
+ data/text/ rule text, one corpus per edition x language x source
32
+ data/corpora.json index of those corpora and how much each covers
30
33
  data/lights.json the six Rule 21 lights: colour, arc, Rule 22 range
31
34
  data/facts.json the fact record, and how to decode SignalK navigation.state
32
35
  data/applicability.json predicate -> lights, each entry also carrying modality, citation, jurisdiction
@@ -59,7 +62,10 @@ mooring buoy, lives only under `us/inland`
59
62
  ## The layers
60
63
 
61
64
  **Rule text.** Verbatim, keyed by *paragraph path*, like `27(a)(i)`, because
62
- the paragraph is the unit you actually cite. Where a licence bars republishing
65
+ the paragraph is the unit you actually cite. The paths live in a
66
+ language-neutral skeleton; the words live in corpora, one per edition,
67
+ language and source, each with its own provenance and legal tier. A mixed
68
+ rendering across corpora is never a single authoritative edition. Where a licence bars republishing
63
69
  a jurisdiction's words, the paragraph is still modelled and its text withheld
64
70
  rather than paraphrased — evaluation never reads the text.
65
71
 
@@ -89,8 +95,9 @@ identifier is immutable once published; retirements go through
89
95
 
90
96
  Requirements-first: sessions work against the numbered requirements in
91
97
  [`docs/requirements.md`](docs/requirements.md) and decisions live in
92
- [`docs/adr/`](docs/adr/) rather than being argued again. Four ideas carry
93
- most of it.
98
+ [`docs/adr/`](docs/adr/) rather than being argued again; the amendment and
99
+ national-adoption history is in [`docs/timeline.md`](docs/timeline.md). Four
100
+ ideas carry most of it.
94
101
 
95
102
  **The paragraph is the unit.** Rule text, citations and composition all key
96
103
  on the paragraph path. Citation unit and composition unit turn out to be the
@@ -0,0 +1,41 @@
1
+ {
2
+ "note": "Index of the text corpora under data/text/, one entry per file; test/data.test.mjs regenerates it from the files and fails on drift -- REQ-LANG-5.",
3
+ "corpora": {
4
+ "intl@2016.en-US.uscg": {
5
+ "file": "text/intl/2016/en-US.uscg.json",
6
+ "edition": "intl@2016",
7
+ "edition_status": "verified",
8
+ "language": "en-US",
9
+ "source_id": "uscg",
10
+ "tier": "national",
11
+ "paragraphs": 212
12
+ },
13
+ "intl@2016.fi.finlex": {
14
+ "file": "text/intl/2016/fi.finlex.json",
15
+ "edition": "intl@2016",
16
+ "edition_status": "claimed",
17
+ "language": "fi",
18
+ "source_id": "finlex",
19
+ "tier": "national",
20
+ "paragraphs": 0
21
+ },
22
+ "intl@2016.es.boe": {
23
+ "file": "text/intl/2016/es.boe.json",
24
+ "edition": "intl@2016",
25
+ "edition_status": "claimed",
26
+ "language": "es",
27
+ "source_id": "boe",
28
+ "tier": "national",
29
+ "paragraphs": 0
30
+ },
31
+ "us/inland@2014.en-US.ecfr": {
32
+ "file": "text/us/inland/2014/en-US.ecfr.json",
33
+ "edition": "us/inland@2014",
34
+ "edition_status": "claimed",
35
+ "language": "en-US",
36
+ "source_id": "ecfr",
37
+ "tier": "national",
38
+ "paragraphs": 0
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "note": "Registry of instruments and their editions, per jurisdiction. A corpus names the edition its text reflects; the skeleton names the one it consolidates -- REQ-LANG-10, ADR 0013.",
3
+ "jurisdictions": {
4
+ "intl": {
5
+ "instrument": "Convention on the International Regulations for Preventing Collisions at Sea, 1972 (COLREG)",
6
+ "skeleton": "intl@2016",
7
+ "editions": {
8
+ "intl@2016": {
9
+ "amended_through": "A.1085(28)",
10
+ "in_force": "2016-01-01",
11
+ "note": "2013 amendment (Part F) verified on imo.org; the resolution number and date are recalled, not yet verified against the resolution text -- REQ-LANG-10."
12
+ }
13
+ }
14
+ },
15
+ "us/inland": {
16
+ "instrument": "33 CFR Part 83, Inland Navigation Rules",
17
+ "skeleton": null,
18
+ "editions": {
19
+ "us/inland@2014": {
20
+ "amended_through": "79 FR 37898 (2014 final rule)",
21
+ "in_force": "2014-08-01",
22
+ "note": "Recalled, not verified; a stub edition so the second jurisdiction has one to name -- REQ-LANG-10."
23
+ }
24
+ }
25
+ }
26
+ }
27
+ }