colregs 0.3.1 → 0.3.3
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/README.md +22 -14
- package/data/applicability.json +295 -276
- package/data/facts.json +19 -19
- package/data/i18n/en.json +73 -7
- package/data/i18n/fi.json +5 -5
- package/data/lights.json +10 -20
- package/data/version.json +1 -1
- package/docs/adr/0010-text-withheld-jurisdictions.md +2 -0
- package/docs/adr/0011-api-shape.md +7 -7
- package/docs/adr/0012-trace-and-rule2-departure-api.md +2 -2
- package/docs/adr/0016-encounter-roles-are-pooled-across-frames.md +82 -0
- package/docs/adr/0017-closed-vocabularies-are-prefixed-identifiers.md +105 -0
- package/docs/adr/0018-jurisdiction-delta-is-a-merge-patch.md +102 -0
- package/docs/adr/0019-relation-reach-and-import-reads.md +106 -0
- package/docs/budgets.json +6 -1
- package/docs/decisions.md +8 -0
- package/docs/identifiers.md +77 -60
- package/docs/part-b-invariants.md +41 -38
- package/docs/requirements.md +137 -137
- package/fixtures/applicability-fixtures.json +42 -0
- package/fixtures/situation-fixtures.json +600 -329
- package/package.json +4 -1
- package/schema/applicability.schema.json +74 -59
- package/schema/conduct-evaluation.schema.json +1 -1
- package/schema/encounter-evaluation.schema.json +6 -6
- package/schema/evaluation.schema.json +2 -2
- package/schema/facts.schema.json +4 -4
- package/schema/i18n-catalog.schema.json +26 -5
- package/schema/lights.schema.json +2 -3
- package/schema/situation-fixtures.schema.json +39 -0
- package/schema/situation.schema.json +3 -3
package/data/applicability.json
CHANGED
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
{
|
|
2
2
|
"conditions": "night (Rule 20(b): sunset to sunrise), and by 20(c) in restricted visibility by day. Day shapes are not in this release.",
|
|
3
3
|
"relations": {
|
|
4
|
-
"rel:includes": "import another entry's lights
|
|
5
|
-
"rel:conditional_includes": "import lights when the stated `when` holds; `one_of` is a set of legal alternatives among which the vessel picks one",
|
|
6
|
-
"rel:in_lieu_of": "this entry's lights replace the referenced entries' lights",
|
|
7
|
-
"rel:excludes": "the referenced entries must not be shown at the same time",
|
|
8
|
-
"rel:exempts": "the referenced entries are not required",
|
|
9
|
-
"rel:overrides": "the superiority relation: the referencing norm's obligation displaces the referenced norm's when both apply"
|
|
4
|
+
"rel:includes": "import another entry's lights, their modality and its scalar gates, never its axes (ADR 0019)",
|
|
5
|
+
"rel:conditional_includes": "import lights when the stated `when` holds; `one_of` is a set of legal alternatives among which the vessel picks exactly one, or none under a `may` carrier (ADR 0019)",
|
|
6
|
+
"rel:in_lieu_of": "this entry's lights replace the referenced entries' lights; two entries whose targets intersect are alternatives to each other (ADR 0019)",
|
|
7
|
+
"rel:excludes": "the referenced entries must not be shown at the same time; a constraint on one display, never a removal (ADR 0019)",
|
|
8
|
+
"rel:exempts": "the referenced entries are not required; reaches an entry in force, never an import (ADR 0019)",
|
|
9
|
+
"rel:overrides": "the superiority relation: the referencing norm's obligation displaces the referenced norm's when both apply; reaches an entry in force, never an import (ADR 0019)"
|
|
10
10
|
},
|
|
11
11
|
"modalities": {
|
|
12
|
-
"shall": "mandatory",
|
|
13
|
-
"may": "permitted alternative",
|
|
14
|
-
"shall-if-practicable": "mandatory where practicable, with a stated fallback",
|
|
15
|
-
"conditional": "modality depends on facts; see modality_by",
|
|
16
|
-
"exempt": "the entry relieves a requirement rather than imposing one",
|
|
17
|
-
"shall-not": "mandatory prohibition",
|
|
18
|
-
"shall-not-impede": "a distinct duty to avoid impeding another vessel, not a negated shall"
|
|
12
|
+
"modality:shall": "mandatory",
|
|
13
|
+
"modality:may": "permitted alternative",
|
|
14
|
+
"modality:shall-if-practicable": "mandatory where practicable, with a stated fallback",
|
|
15
|
+
"modality:conditional": "modality depends on facts; see modality_by",
|
|
16
|
+
"modality:exempt": "the entry relieves a requirement rather than imposing one",
|
|
17
|
+
"modality:shall-not": "mandatory prohibition",
|
|
18
|
+
"modality:shall-not-impede": "a distinct duty to avoid impeding another vessel, not a negated shall"
|
|
19
19
|
},
|
|
20
20
|
"categories": {
|
|
21
|
-
"definition": "produces vocabulary; not evaluated",
|
|
22
|
-
"standard": "produces technical values (ranges, heights); not evaluated",
|
|
23
|
-
"scope": "reads visibility, in-sight, jurisdiction; the engine derives which sections apply",
|
|
24
|
-
"display": "reads one vessel's facts; the engine derives signals and modality",
|
|
25
|
-
"classification": "reads relative geometry and history; the engine derives encounter type and risk of collision",
|
|
26
|
-
"precedence": "reads two vessels' facts plus encounter type; the engine derives give-way/stand-on/shall-not-impede/none",
|
|
27
|
-
"conduct": "reads encounter, role, phase, kinematics and observations; monitored over a trace, not evaluated at a point",
|
|
28
|
-
"care": "reads anything; produces residual responsibility; represented, never independently evaluated",
|
|
29
|
-
"meta": "reads the region state; produces a banner and advisories; computed by a solver, reviewed by humans"
|
|
21
|
+
"category:definition": "produces vocabulary; not evaluated",
|
|
22
|
+
"category:standard": "produces technical values (ranges, heights); not evaluated",
|
|
23
|
+
"category:scope": "reads visibility, in-sight, jurisdiction; the engine derives which sections apply",
|
|
24
|
+
"category:display": "reads one vessel's facts; the engine derives signals and modality",
|
|
25
|
+
"category:classification": "reads relative geometry and history; the engine derives encounter type and risk of collision",
|
|
26
|
+
"category:precedence": "reads two vessels' facts plus encounter type; the engine derives give-way/stand-on/shall-not-impede/none",
|
|
27
|
+
"category:conduct": "reads encounter, role, phase, kinematics and observations; monitored over a trace, not evaluated at a point",
|
|
28
|
+
"category:care": "reads anything; produces residual responsibility; represented, never independently evaluated",
|
|
29
|
+
"category:meta": "reads the region state; produces a banner and advisories; computed by a solver, reviewed by humans"
|
|
30
30
|
},
|
|
31
31
|
"effects": {
|
|
32
|
-
"note": "What a two-subject entry produces. `effect` is {\"
|
|
32
|
+
"note": "What a two-subject entry produces. `effect` is {\"self\": <role>, \"other\": <role>} for a `category:precedence` entry, {\"part\", \"section\", \"applies_rules\"} for a `category:scope` entry, and for a `category:classification` entry exactly one of {\"encounter\": <encounter>} or {\"risk_of_collision\": true}. A `category:display` entry has no `effect`; its output is `lights`. Roles and encounters are closed vocabularies and are prefixed identifiers (`role:`, `encounter:`; docs/identifiers.md, 'The scheme'). Pencil: ADR 0005 and docs/identifiers.md.",
|
|
33
33
|
"roles": {
|
|
34
|
-
"give-way": "this subject shall keep out of the way of the other; Rule 16 governs the action",
|
|
35
|
-
"stand-on": "this subject shall keep her course and speed; Rule 17 governs, including 17(a)(ii) and 17(b)",
|
|
36
|
-
"shall-not-impede": "this subject shall not impede the other's passage or safe passage; Rule 8(f) governs, and by 8(f)(iii) it confers nothing on the other",
|
|
37
|
-
"keep-clear": "this subject shall keep well clear of the other and avoid impeding her navigation, outside the give-way/stand-on pairing (18(e), 18(f)(i))",
|
|
38
|
-
"none": "this paragraph confers no role on this subject. Recorded rather than omitted: `none` on the counterpart of a shall-not-impede duty is the content of 8(f)(iii), and `none` on both sides of a NUC/RAM pair is the content of Rule 18's partial order."
|
|
34
|
+
"role:give-way": "this subject shall keep out of the way of the other; Rule 16 governs the action",
|
|
35
|
+
"role:stand-on": "this subject shall keep her course and speed; Rule 17 governs, including 17(a)(ii) and 17(b)",
|
|
36
|
+
"role:shall-not-impede": "this subject shall not impede the other's passage or safe passage; Rule 8(f) governs, and by 8(f)(iii) it confers nothing on the other",
|
|
37
|
+
"role:keep-clear": "this subject shall keep well clear of the other and avoid impeding her navigation, outside the give-way/stand-on pairing (18(e), 18(f)(i))",
|
|
38
|
+
"role:none": "this paragraph confers no role on this subject. Recorded rather than omitted: `role:none` on the counterpart of a shall-not-impede duty is the content of 8(f)(iii), and `role:none` on both sides of a NUC/RAM pair is the content of Rule 18's partial order."
|
|
39
39
|
},
|
|
40
40
|
"encounters": {
|
|
41
|
-
"head-on": "Rule 14: two power-driven vessels meeting on reciprocal or nearly reciprocal courses",
|
|
42
|
-
"crossing": "Rule 15: two power-driven vessels crossing. The residual of the other three, derived with `not` rather than written as its own sector, so the four cannot drift apart",
|
|
43
|
-
"overtaking": "Rule 13: one vessel coming up with another from more than 22.5 degrees abaft her beam, or
|
|
44
|
-
"none": "no encounter of Section II's three types. Declared for completeness of the vocabulary; no entry produces it, because an encounter type is asserted by a paragraph and the absence of one is the absence of an entry, not an entry with a null value"
|
|
41
|
+
"encounter:head-on": "Rule 14: two power-driven vessels meeting on reciprocal or nearly reciprocal courses",
|
|
42
|
+
"encounter:crossing": "Rule 15: two power-driven vessels crossing. The residual of the other three, derived with `not` rather than written as its own sector, so the four cannot drift apart",
|
|
43
|
+
"encounter:overtaking": "Rule 13: one vessel coming up with another from more than 22.5 degrees abaft her beam, or held there by 13(d)'s overtaking history",
|
|
44
|
+
"encounter:none": "no encounter of Section II's three types. Declared for completeness of the vocabulary; no entry produces it, because an encounter type is asserted by a paragraph and the absence of one is the absence of an entry, not an entry with a null value"
|
|
45
45
|
},
|
|
46
|
-
"classification_shape": "A classification effect carries exactly one key: `encounter`, whose value is one of `encounters` above, or `risk_of_collision`, whose value is `true`. Two shapes rather than one because Rule 7(d) and Rules 13-15 answer two different questions -- does risk exist, and what kind of encounter is this -- and ADR 0005 gives both to `classification`. A single merged shape would have made every encounter entry state a risk it does not decide."
|
|
46
|
+
"classification_shape": "A classification effect carries exactly one key: `encounter`, whose value is one of `encounters` above, or `risk_of_collision`, whose value is `true`. Two shapes rather than one because Rule 7(d) and Rules 13-15 answer two different questions -- does risk exist, and what kind of encounter is this -- and ADR 0005 gives both to `category:classification`. A single merged shape would have made every encounter entry state a risk it does not decide."
|
|
47
47
|
},
|
|
48
48
|
"known_omissions": [
|
|
49
49
|
{
|
|
@@ -74,17 +74,17 @@
|
|
|
74
74
|
{
|
|
75
75
|
"cite": "9(d)",
|
|
76
76
|
"what": "A vessel shall not cross a narrow channel or fairway if such crossing impedes the passage of a vessel which can safely navigate only within that channel.",
|
|
77
|
-
"why": "The duty is conditioned on
|
|
77
|
+
"why": "The duty is conditioned on self crossing the channel, which is a relation between self's heading and the channel's axis. Neither the channel's axis nor 'crossing it' is a fact this package carries, and `pair:env:narrow_channel` is a boolean about the place, not a geometry. No entry rather than an entry whose predicate is not the paragraph's."
|
|
78
78
|
},
|
|
79
79
|
{
|
|
80
80
|
"cite": "18(d)(ii)",
|
|
81
81
|
"what": "A vessel constrained by her draft shall navigate with particular caution having full regard to her special condition.",
|
|
82
|
-
"why": "`conduct`, not `precedence`: it prescribes a manner of navigating rather than a role in a pair, and conduct is monitored over a trace rather than evaluated at a point (ADR 0005 sec. 1). No conduct entry shape exists yet."
|
|
82
|
+
"why": "`category:conduct`, not `category:precedence`: it prescribes a manner of navigating rather than a role in a pair, and conduct is monitored over a trace rather than evaluated at a point (ADR 0005 sec. 1). No conduct entry shape exists yet."
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
85
|
"cite": "18(e)",
|
|
86
86
|
"what": "A seaplane on the water shall in general keep well clear of all vessels and avoid impeding their navigation; where risk of collision exists she shall comply with Rules 4-19.",
|
|
87
|
-
"why": "There is no fact for being a seaplane. `fact:propulsion` has power, sail and oars, and Rule 3(a) makes a seaplane a vessel without giving the fact record anywhere to say so. The effect vocabulary has `keep-clear` for it; the predicate does not exist."
|
|
87
|
+
"why": "There is no fact for being a seaplane. `fact:propulsion` has power, sail and oars, and Rule 3(a) makes a seaplane a vessel without giving the fact record anywhere to say so. The effect vocabulary has `role:keep-clear` for it; the predicate does not exist."
|
|
88
88
|
},
|
|
89
89
|
{
|
|
90
90
|
"cite": "18(f)(ii)",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
},
|
|
94
94
|
{
|
|
95
95
|
"cite": "1(a), 1(b), 1(c), 1(d), 1(e), 20(b), 20(c)",
|
|
96
|
-
"what": "The remaining `scope` paragraphs: the waters the Rules apply to, special rules made by an authority, the adoption of traffic separation schemes, the special-construction determination, and the sunset-to-sunrise and restricted-visibility gates on the light rules.",
|
|
96
|
+
"what": "The remaining `category:scope` paragraphs: the waters the Rules apply to, special rules made by an authority, the adoption of traffic separation schemes, the special-construction determination, and the sunset-to-sunrise and restricted-visibility gates on the light rules.",
|
|
97
97
|
"why": "None of them reads a fact this package declares. 1(a) needs a fact about the waters; 1(b)/(c)/(e) are about an authority's determination, which is closer to the jurisdiction dimension of ADR 0001 than to a predicate; 1(d) is not addressed to a vessel at all; 20(b)/(c) need time of day and visibility, and applicability.json's `conditions` note already records that night is assumed rather than gated. Deferred to a later PR with 4, 11 and 19(a) landing first."
|
|
98
98
|
},
|
|
99
99
|
{
|
|
@@ -109,7 +109,12 @@
|
|
|
109
109
|
{
|
|
110
110
|
"cite": "14(a)",
|
|
111
111
|
"what": "When two power-driven vessels are meeting on reciprocal or nearly reciprocal courses so as to involve risk of collision each shall alter her course to starboard so that each shall pass on the port side of the other.",
|
|
112
|
-
"why": "`conduct`, not `classification`: the paragraph states the situation in words and prescribes the action, and 14(b) is the paragraph that deems the situation to exist -- entry rule:14b cites it. The action is monitored over a trace rather than evaluated at a point (ADR 0005 sec. 1), and no conduct entry shape exists yet. Q-45."
|
|
112
|
+
"why": "`category:conduct`, not `category:classification`: the paragraph states the situation in words and prescribes the action, and 14(b) is the paragraph that deems the situation to exist -- entry rule:14b cites it. The action is monitored over a trace rather than evaluated at a point (ADR 0005 sec. 1), and no conduct entry shape exists yet. Q-45."
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"cite": "28",
|
|
116
|
+
"what": "Under us/inland a record carrying activity:cbd selects nothing: rule:28 is suppressed and the Rule 23(a) entries it imported read activity:none.",
|
|
117
|
+
"why": "'Constrained by her draft' is not an Inland status, so the record is out of vocabulary there and the package does not pick a reading for it; a consumer that decodes SignalK for inland waters maps it to activity:none (ADR 0018)."
|
|
113
118
|
}
|
|
114
119
|
],
|
|
115
120
|
"represented_paragraphs": [
|
|
@@ -117,14 +122,14 @@
|
|
|
117
122
|
"id": "rule:2a",
|
|
118
123
|
"jurisdiction": "intl",
|
|
119
124
|
"cite": "2(a)",
|
|
120
|
-
"category": "care",
|
|
125
|
+
"category": "category:care",
|
|
121
126
|
"note": "Residual responsibility for every other paragraph; nothing in this package discharges it, so it is recorded rather than dropped from the model."
|
|
122
127
|
},
|
|
123
128
|
{
|
|
124
129
|
"id": "rule:2b",
|
|
125
130
|
"jurisdiction": "intl",
|
|
126
131
|
"cite": "2(b)",
|
|
127
|
-
"category": "meta",
|
|
132
|
+
"category": "category:meta",
|
|
128
133
|
"note": "Names the region where a departure from the Rules may be necessary; scoped to level-1/2 invariant violations and computed offline by a solver as a region of situation space, never evaluated here as a predicate."
|
|
129
134
|
}
|
|
130
135
|
],
|
|
@@ -145,7 +150,7 @@
|
|
|
145
150
|
"count": 1
|
|
146
151
|
}
|
|
147
152
|
],
|
|
148
|
-
"modality": "shall",
|
|
153
|
+
"modality": "modality:shall",
|
|
149
154
|
"images": [
|
|
150
155
|
"NRHB_23_a.png"
|
|
151
156
|
]
|
|
@@ -166,7 +171,7 @@
|
|
|
166
171
|
"count": 1
|
|
167
172
|
}
|
|
168
173
|
],
|
|
169
|
-
"modality": "conditional",
|
|
174
|
+
"modality": "modality:conditional",
|
|
170
175
|
"modality_by": [
|
|
171
176
|
{
|
|
172
177
|
"when": {
|
|
@@ -174,7 +179,7 @@
|
|
|
174
179
|
"gte": 50
|
|
175
180
|
}
|
|
176
181
|
},
|
|
177
|
-
"modality": "shall"
|
|
182
|
+
"modality": "modality:shall"
|
|
178
183
|
},
|
|
179
184
|
{
|
|
180
185
|
"when": {
|
|
@@ -182,7 +187,7 @@
|
|
|
182
187
|
"lt": 50
|
|
183
188
|
}
|
|
184
189
|
},
|
|
185
|
-
"modality": "may"
|
|
190
|
+
"modality": "modality:may"
|
|
186
191
|
}
|
|
187
192
|
],
|
|
188
193
|
"images": [
|
|
@@ -207,7 +212,7 @@
|
|
|
207
212
|
"light": "light:sternlight"
|
|
208
213
|
}
|
|
209
214
|
],
|
|
210
|
-
"modality": "shall"
|
|
215
|
+
"modality": "modality:shall"
|
|
211
216
|
},
|
|
212
217
|
{
|
|
213
218
|
"id": "rule:23b",
|
|
@@ -232,7 +237,7 @@
|
|
|
232
237
|
"rule:23a_ii",
|
|
233
238
|
"rule:23a_iii_iv"
|
|
234
239
|
],
|
|
235
|
-
"modality": "shall",
|
|
240
|
+
"modality": "modality:shall",
|
|
236
241
|
"images": [
|
|
237
242
|
"NRHB_23_b.png"
|
|
238
243
|
],
|
|
@@ -263,7 +268,7 @@
|
|
|
263
268
|
"rule:23a_ii",
|
|
264
269
|
"rule:23a_iii_iv"
|
|
265
270
|
],
|
|
266
|
-
"modality": "shall",
|
|
271
|
+
"modality": "modality:shall",
|
|
267
272
|
"notes": "Only when taking off, landing and in flight near the surface."
|
|
268
273
|
},
|
|
269
274
|
{
|
|
@@ -293,7 +298,7 @@
|
|
|
293
298
|
"rule:23a_ii",
|
|
294
299
|
"rule:23a_iii_iv"
|
|
295
300
|
],
|
|
296
|
-
"modality": "may",
|
|
301
|
+
"modality": "modality:may",
|
|
297
302
|
"images": [
|
|
298
303
|
"NRHB_23_di.png"
|
|
299
304
|
]
|
|
@@ -321,7 +326,7 @@
|
|
|
321
326
|
},
|
|
322
327
|
{
|
|
323
328
|
"light": "light:sidelights",
|
|
324
|
-
"modality": "shall-if-practicable"
|
|
329
|
+
"modality": "modality:shall-if-practicable"
|
|
325
330
|
}
|
|
326
331
|
],
|
|
327
332
|
"rel:in_lieu_of": [
|
|
@@ -329,7 +334,7 @@
|
|
|
329
334
|
"rule:23a_ii",
|
|
330
335
|
"rule:23a_iii_iv"
|
|
331
336
|
],
|
|
332
|
-
"modality": "may",
|
|
337
|
+
"modality": "modality:may",
|
|
333
338
|
"images": [
|
|
334
339
|
"NRHB_23_Intl_dii.png"
|
|
335
340
|
],
|
|
@@ -356,7 +361,7 @@
|
|
|
356
361
|
"rule:23a_i",
|
|
357
362
|
"rule:23a_ii"
|
|
358
363
|
],
|
|
359
|
-
"modality": "shall",
|
|
364
|
+
"modality": "modality:shall",
|
|
360
365
|
"images": [
|
|
361
366
|
"NRHB_24_a.png"
|
|
362
367
|
]
|
|
@@ -382,7 +387,7 @@
|
|
|
382
387
|
"rule:23a_i",
|
|
383
388
|
"rule:23a_ii"
|
|
384
389
|
],
|
|
385
|
-
"modality": "shall",
|
|
390
|
+
"modality": "modality:shall",
|
|
386
391
|
"images": [
|
|
387
392
|
"NRHB_24_av.png"
|
|
388
393
|
]
|
|
@@ -411,7 +416,7 @@
|
|
|
411
416
|
]
|
|
412
417
|
}
|
|
413
418
|
],
|
|
414
|
-
"modality": "shall",
|
|
419
|
+
"modality": "modality:shall",
|
|
415
420
|
"images": [
|
|
416
421
|
"NRHB_24_a.png"
|
|
417
422
|
]
|
|
@@ -437,7 +442,7 @@
|
|
|
437
442
|
]
|
|
438
443
|
}
|
|
439
444
|
],
|
|
440
|
-
"modality": "shall",
|
|
445
|
+
"modality": "modality:shall",
|
|
441
446
|
"images": [
|
|
442
447
|
"NRHB_23_a.png"
|
|
443
448
|
],
|
|
@@ -472,7 +477,7 @@
|
|
|
472
477
|
"rule:23a_i",
|
|
473
478
|
"rule:23a_ii"
|
|
474
479
|
],
|
|
475
|
-
"modality": "shall",
|
|
480
|
+
"modality": "modality:shall",
|
|
476
481
|
"notes": "Also covers towing alongside (towed_alongside=true)."
|
|
477
482
|
},
|
|
478
483
|
{
|
|
@@ -490,7 +495,7 @@
|
|
|
490
495
|
"light": "light:sternlight"
|
|
491
496
|
}
|
|
492
497
|
],
|
|
493
|
-
"modality": "shall",
|
|
498
|
+
"modality": "modality:shall",
|
|
494
499
|
"images": [
|
|
495
500
|
"NRHB_24_e.png"
|
|
496
501
|
],
|
|
@@ -513,7 +518,7 @@
|
|
|
513
518
|
"light": "light:sternlight"
|
|
514
519
|
}
|
|
515
520
|
],
|
|
516
|
-
"modality": "shall",
|
|
521
|
+
"modality": "modality:shall",
|
|
517
522
|
"images": [
|
|
518
523
|
"NRHB_25_a.png"
|
|
519
524
|
]
|
|
@@ -548,7 +553,7 @@
|
|
|
548
553
|
"rel:excludes": [
|
|
549
554
|
"rule:25c"
|
|
550
555
|
],
|
|
551
|
-
"modality": "may",
|
|
556
|
+
"modality": "modality:may",
|
|
552
557
|
"images": [
|
|
553
558
|
"NRHB_25_b.png"
|
|
554
559
|
],
|
|
@@ -583,7 +588,7 @@
|
|
|
583
588
|
"rel:excludes": [
|
|
584
589
|
"rule:25b"
|
|
585
590
|
],
|
|
586
|
-
"modality": "may",
|
|
591
|
+
"modality": "modality:may",
|
|
587
592
|
"images": [
|
|
588
593
|
"NRHB_25_c.png"
|
|
589
594
|
]
|
|
@@ -612,7 +617,7 @@
|
|
|
612
617
|
"rule:25a",
|
|
613
618
|
"rule:25b"
|
|
614
619
|
],
|
|
615
|
-
"modality": "shall-if-practicable",
|
|
620
|
+
"modality": "modality:shall-if-practicable",
|
|
616
621
|
"images": [
|
|
617
622
|
"NRHB_25_d.png"
|
|
618
623
|
],
|
|
@@ -641,7 +646,7 @@
|
|
|
641
646
|
]
|
|
642
647
|
}
|
|
643
648
|
],
|
|
644
|
-
"modality": "may",
|
|
649
|
+
"modality": "modality:may",
|
|
645
650
|
"images": [
|
|
646
651
|
"NRHB_25_dii.png"
|
|
647
652
|
],
|
|
@@ -675,7 +680,7 @@
|
|
|
675
680
|
"rule:30a",
|
|
676
681
|
"rule:30b"
|
|
677
682
|
],
|
|
678
|
-
"modality": "shall",
|
|
683
|
+
"modality": "modality:shall",
|
|
679
684
|
"images": [
|
|
680
685
|
"NRHB_26_b.png"
|
|
681
686
|
],
|
|
@@ -698,7 +703,7 @@
|
|
|
698
703
|
"count": 1
|
|
699
704
|
}
|
|
700
705
|
],
|
|
701
|
-
"modality": "conditional",
|
|
706
|
+
"modality": "modality:conditional",
|
|
702
707
|
"modality_by": [
|
|
703
708
|
{
|
|
704
709
|
"when": {
|
|
@@ -706,7 +711,7 @@
|
|
|
706
711
|
"gte": 50
|
|
707
712
|
}
|
|
708
713
|
},
|
|
709
|
-
"modality": "shall"
|
|
714
|
+
"modality": "modality:shall"
|
|
710
715
|
},
|
|
711
716
|
{
|
|
712
717
|
"when": {
|
|
@@ -714,7 +719,7 @@
|
|
|
714
719
|
"lt": 50
|
|
715
720
|
}
|
|
716
721
|
},
|
|
717
|
-
"modality": "may"
|
|
722
|
+
"modality": "modality:may"
|
|
718
723
|
}
|
|
719
724
|
]
|
|
720
725
|
},
|
|
@@ -730,7 +735,7 @@
|
|
|
730
735
|
"rel:includes": [
|
|
731
736
|
"rule:23a_iii_iv"
|
|
732
737
|
],
|
|
733
|
-
"modality": "shall",
|
|
738
|
+
"modality": "modality:shall",
|
|
734
739
|
"images": [
|
|
735
740
|
"NRHB_26_biii.png"
|
|
736
741
|
]
|
|
@@ -763,7 +768,7 @@
|
|
|
763
768
|
"rule:30a",
|
|
764
769
|
"rule:30b"
|
|
765
770
|
],
|
|
766
|
-
"modality": "shall"
|
|
771
|
+
"modality": "modality:shall"
|
|
767
772
|
},
|
|
768
773
|
{
|
|
769
774
|
"id": "rule:26c_ii",
|
|
@@ -786,7 +791,7 @@
|
|
|
786
791
|
"position": "in the direction of the gear"
|
|
787
792
|
}
|
|
788
793
|
],
|
|
789
|
-
"modality": "shall"
|
|
794
|
+
"modality": "modality:shall"
|
|
790
795
|
},
|
|
791
796
|
{
|
|
792
797
|
"id": "rule:26c_iii",
|
|
@@ -800,7 +805,7 @@
|
|
|
800
805
|
"rel:includes": [
|
|
801
806
|
"rule:23a_iii_iv"
|
|
802
807
|
],
|
|
803
|
-
"modality": "shall",
|
|
808
|
+
"modality": "modality:shall",
|
|
804
809
|
"images": [
|
|
805
810
|
"NRHB_26_ciii.png"
|
|
806
811
|
]
|
|
@@ -821,7 +826,7 @@
|
|
|
821
826
|
"arrangement": "vertical"
|
|
822
827
|
}
|
|
823
828
|
],
|
|
824
|
-
"modality": "shall",
|
|
829
|
+
"modality": "modality:shall",
|
|
825
830
|
"images": [
|
|
826
831
|
"NRHB_27_a.png"
|
|
827
832
|
]
|
|
@@ -838,7 +843,7 @@
|
|
|
838
843
|
"rel:includes": [
|
|
839
844
|
"rule:23a_iii_iv"
|
|
840
845
|
],
|
|
841
|
-
"modality": "shall",
|
|
846
|
+
"modality": "modality:shall",
|
|
842
847
|
"images": [
|
|
843
848
|
"NRHB_27_aiii.png"
|
|
844
849
|
]
|
|
@@ -870,7 +875,7 @@
|
|
|
870
875
|
"position": "lower"
|
|
871
876
|
}
|
|
872
877
|
],
|
|
873
|
-
"modality": "shall",
|
|
878
|
+
"modality": "modality:shall",
|
|
874
879
|
"notes": "Except a vessel engaged in mine clearance operations (27(f))."
|
|
875
880
|
},
|
|
876
881
|
{
|
|
@@ -887,7 +892,7 @@
|
|
|
887
892
|
"rule:23a_ii",
|
|
888
893
|
"rule:23a_iii_iv"
|
|
889
894
|
],
|
|
890
|
-
"modality": "shall",
|
|
895
|
+
"modality": "modality:shall",
|
|
891
896
|
"images": [
|
|
892
897
|
"NRHB_27_biii.png"
|
|
893
898
|
]
|
|
@@ -909,7 +914,7 @@
|
|
|
909
914
|
]
|
|
910
915
|
}
|
|
911
916
|
],
|
|
912
|
-
"modality": "shall",
|
|
917
|
+
"modality": "modality:shall",
|
|
913
918
|
"images": [
|
|
914
919
|
"NRHB_27_biv.png"
|
|
915
920
|
]
|
|
@@ -941,7 +946,7 @@
|
|
|
941
946
|
"rel:includes": [
|
|
942
947
|
"rule:27b_i"
|
|
943
948
|
],
|
|
944
|
-
"modality": "shall",
|
|
949
|
+
"modality": "modality:shall",
|
|
945
950
|
"images": [
|
|
946
951
|
"NRHB_27_d.png",
|
|
947
952
|
"NRHB_27_diii.png"
|
|
@@ -978,7 +983,7 @@
|
|
|
978
983
|
"rel:in_lieu_of": [
|
|
979
984
|
"rule:27d"
|
|
980
985
|
],
|
|
981
|
-
"modality": "shall",
|
|
986
|
+
"modality": "modality:shall",
|
|
982
987
|
"notes": "Only when the vessel's size makes the full 27(d) display impracticable."
|
|
983
988
|
},
|
|
984
989
|
{
|
|
@@ -1019,7 +1024,7 @@
|
|
|
1019
1024
|
"cite": "27(f)"
|
|
1020
1025
|
}
|
|
1021
1026
|
],
|
|
1022
|
-
"modality": "shall",
|
|
1027
|
+
"modality": "modality:shall",
|
|
1023
1028
|
"images": [
|
|
1024
1029
|
"NRHB_27_f.png"
|
|
1025
1030
|
],
|
|
@@ -1046,7 +1051,7 @@
|
|
|
1046
1051
|
"rule:23a_ii",
|
|
1047
1052
|
"rule:23a_iii_iv"
|
|
1048
1053
|
],
|
|
1049
|
-
"modality": "may",
|
|
1054
|
+
"modality": "modality:may",
|
|
1050
1055
|
"images": [
|
|
1051
1056
|
"NRHB_28.png"
|
|
1052
1057
|
],
|
|
@@ -1094,7 +1099,7 @@
|
|
|
1094
1099
|
"cite": "29(a)(iii)"
|
|
1095
1100
|
}
|
|
1096
1101
|
],
|
|
1097
|
-
"modality": "shall",
|
|
1102
|
+
"modality": "modality:shall",
|
|
1098
1103
|
"images": [
|
|
1099
1104
|
"NRHB_29_a.png",
|
|
1100
1105
|
"NRHB_29_aiii.png"
|
|
@@ -1121,7 +1126,7 @@
|
|
|
1121
1126
|
"position": "at or near the stern, at a lower level than the fore one"
|
|
1122
1127
|
}
|
|
1123
1128
|
],
|
|
1124
|
-
"modality": "shall",
|
|
1129
|
+
"modality": "modality:shall",
|
|
1125
1130
|
"images": [
|
|
1126
1131
|
"NRHB_30_d.png"
|
|
1127
1132
|
]
|
|
@@ -1147,7 +1152,7 @@
|
|
|
1147
1152
|
"rel:in_lieu_of": [
|
|
1148
1153
|
"rule:30a"
|
|
1149
1154
|
],
|
|
1150
|
-
"modality": "may",
|
|
1155
|
+
"modality": "modality:may",
|
|
1151
1156
|
"images": [
|
|
1152
1157
|
"NRHB_30_a.png"
|
|
1153
1158
|
]
|
|
@@ -1165,7 +1170,7 @@
|
|
|
1165
1170
|
"note": "available working or equivalent lights to illuminate her decks"
|
|
1166
1171
|
}
|
|
1167
1172
|
],
|
|
1168
|
-
"modality": "conditional",
|
|
1173
|
+
"modality": "modality:conditional",
|
|
1169
1174
|
"modality_by": [
|
|
1170
1175
|
{
|
|
1171
1176
|
"when": {
|
|
@@ -1173,7 +1178,7 @@
|
|
|
1173
1178
|
"gte": 100
|
|
1174
1179
|
}
|
|
1175
1180
|
},
|
|
1176
|
-
"modality": "shall"
|
|
1181
|
+
"modality": "modality:shall"
|
|
1177
1182
|
},
|
|
1178
1183
|
{
|
|
1179
1184
|
"when": {
|
|
@@ -1181,7 +1186,7 @@
|
|
|
1181
1186
|
"lt": 100
|
|
1182
1187
|
}
|
|
1183
1188
|
},
|
|
1184
|
-
"modality": "may"
|
|
1189
|
+
"modality": "modality:may"
|
|
1185
1190
|
}
|
|
1186
1191
|
]
|
|
1187
1192
|
},
|
|
@@ -1201,7 +1206,7 @@
|
|
|
1201
1206
|
]
|
|
1202
1207
|
}
|
|
1203
1208
|
],
|
|
1204
|
-
"modality": "shall",
|
|
1209
|
+
"modality": "modality:shall",
|
|
1205
1210
|
"notes": "30(d)'s lead-in requires the 30(a)/(b) anchor lights unconditionally, with no length gate; only the two red lights below (30(d)(i)-(ii)) are subject to the 30(f) exemption."
|
|
1206
1211
|
},
|
|
1207
1212
|
{
|
|
@@ -1222,7 +1227,7 @@
|
|
|
1222
1227
|
"arrangement": "vertical"
|
|
1223
1228
|
}
|
|
1224
1229
|
],
|
|
1225
|
-
"modality": "shall-if-practicable",
|
|
1230
|
+
"modality": "modality:shall-if-practicable",
|
|
1226
1231
|
"images": [
|
|
1227
1232
|
"NRHB_30_dii.png"
|
|
1228
1233
|
],
|
|
@@ -1244,16 +1249,16 @@
|
|
|
1244
1249
|
"rule:30a",
|
|
1245
1250
|
"rule:30b"
|
|
1246
1251
|
],
|
|
1247
|
-
"modality": "exempt"
|
|
1252
|
+
"modality": "modality:exempt"
|
|
1248
1253
|
},
|
|
1249
1254
|
{
|
|
1250
1255
|
"id": "rule:4",
|
|
1251
1256
|
"jurisdiction": "intl",
|
|
1252
1257
|
"cite": "4",
|
|
1253
|
-
"category": "scope",
|
|
1258
|
+
"category": "category:scope",
|
|
1254
1259
|
"subjects": 2,
|
|
1255
1260
|
"when": {},
|
|
1256
|
-
"modality": "shall",
|
|
1261
|
+
"modality": "modality:shall",
|
|
1257
1262
|
"effect": {
|
|
1258
1263
|
"part": "B",
|
|
1259
1264
|
"section": "I",
|
|
@@ -1273,12 +1278,12 @@
|
|
|
1273
1278
|
"id": "rule:11",
|
|
1274
1279
|
"jurisdiction": "intl",
|
|
1275
1280
|
"cite": "11",
|
|
1276
|
-
"category": "scope",
|
|
1281
|
+
"category": "category:scope",
|
|
1277
1282
|
"subjects": 2,
|
|
1278
1283
|
"when": {
|
|
1279
1284
|
"pair:geo:in_sight": true
|
|
1280
1285
|
},
|
|
1281
|
-
"modality": "shall",
|
|
1286
|
+
"modality": "modality:shall",
|
|
1282
1287
|
"effect": {
|
|
1283
1288
|
"part": "B",
|
|
1284
1289
|
"section": "II",
|
|
@@ -1299,12 +1304,12 @@
|
|
|
1299
1304
|
"id": "rule:19a",
|
|
1300
1305
|
"jurisdiction": "intl",
|
|
1301
1306
|
"cite": "19(a)",
|
|
1302
|
-
"category": "scope",
|
|
1307
|
+
"category": "category:scope",
|
|
1303
1308
|
"subjects": 2,
|
|
1304
1309
|
"when": {
|
|
1305
1310
|
"pair:geo:in_sight": false
|
|
1306
1311
|
},
|
|
1307
|
-
"modality": "shall",
|
|
1312
|
+
"modality": "modality:shall",
|
|
1308
1313
|
"effect": {
|
|
1309
1314
|
"part": "B",
|
|
1310
1315
|
"section": "III",
|
|
@@ -1319,116 +1324,116 @@
|
|
|
1319
1324
|
"id": "rule:18a_i",
|
|
1320
1325
|
"jurisdiction": "intl",
|
|
1321
1326
|
"cite": "18(a)(i)",
|
|
1322
|
-
"category": "precedence",
|
|
1327
|
+
"category": "category:precedence",
|
|
1323
1328
|
"subjects": 2,
|
|
1324
1329
|
"when": {
|
|
1325
|
-
"
|
|
1326
|
-
"
|
|
1330
|
+
"self:fact:propulsion": "propulsion:power",
|
|
1331
|
+
"self:fact:rule18_class": {
|
|
1327
1332
|
"not": [
|
|
1328
1333
|
"rule18_class:nuc",
|
|
1329
1334
|
"rule18_class:ram",
|
|
1330
1335
|
"rule18_class:fishing"
|
|
1331
1336
|
]
|
|
1332
1337
|
},
|
|
1333
|
-
"
|
|
1338
|
+
"self:fact:position": "position:underway",
|
|
1334
1339
|
"other:fact:rule18_class": "rule18_class:nuc",
|
|
1335
1340
|
"other:fact:position": "position:underway",
|
|
1336
1341
|
"pair:geo:in_sight": true
|
|
1337
1342
|
},
|
|
1338
|
-
"modality": "shall",
|
|
1343
|
+
"modality": "modality:shall",
|
|
1339
1344
|
"effect": {
|
|
1340
|
-
"
|
|
1341
|
-
"other": "stand-on"
|
|
1345
|
+
"self": "role:give-way",
|
|
1346
|
+
"other": "role:stand-on"
|
|
1342
1347
|
},
|
|
1343
1348
|
"rel:overrides": [
|
|
1344
1349
|
"rule:15a:keep_out_of_the_way"
|
|
1345
1350
|
],
|
|
1346
|
-
"note": "
|
|
1351
|
+
"note": "Self is 'a power-driven vessel underway' (18(a)) that is not herself ranked by Rule 18 -- written as the negation the paragraph implies rather than as an enumeration of activity values that had to be edited every time the axis grew (Q-33). A vessel constrained by her draught and a WIG craft on the surface are both power-driven and both stay inside it, which is why the gate is `fact:propulsion` plus the negated rank and not `rule18_class:power`: 18(d) protects a CBD vessel, it does not exempt her from 18(a). Overrides `rule:15a:keep_out_of_the_way` (Q-40): self and a vessel not under command are both power-driven vessels by 3(b) whenever her machinery is in use, so 15(a) is in force between them as well and would hand the give-way role to whichever has the other on her starboard side, rank or no rank. Rule 18's opening words except Rules 9, 10 and 13 and no others, so this paragraph displaces it."
|
|
1347
1352
|
},
|
|
1348
1353
|
{
|
|
1349
1354
|
"id": "rule:18a_ii",
|
|
1350
1355
|
"jurisdiction": "intl",
|
|
1351
1356
|
"cite": "18(a)(ii)",
|
|
1352
|
-
"category": "precedence",
|
|
1357
|
+
"category": "category:precedence",
|
|
1353
1358
|
"subjects": 2,
|
|
1354
1359
|
"when": {
|
|
1355
|
-
"
|
|
1356
|
-
"
|
|
1360
|
+
"self:fact:propulsion": "propulsion:power",
|
|
1361
|
+
"self:fact:rule18_class": {
|
|
1357
1362
|
"not": [
|
|
1358
1363
|
"rule18_class:nuc",
|
|
1359
1364
|
"rule18_class:ram",
|
|
1360
1365
|
"rule18_class:fishing"
|
|
1361
1366
|
]
|
|
1362
1367
|
},
|
|
1363
|
-
"
|
|
1368
|
+
"self:fact:position": "position:underway",
|
|
1364
1369
|
"other:fact:rule18_class": "rule18_class:ram",
|
|
1365
1370
|
"other:fact:position": "position:underway",
|
|
1366
1371
|
"pair:geo:in_sight": true
|
|
1367
1372
|
},
|
|
1368
|
-
"modality": "shall",
|
|
1373
|
+
"modality": "modality:shall",
|
|
1369
1374
|
"effect": {
|
|
1370
|
-
"
|
|
1371
|
-
"other": "stand-on"
|
|
1375
|
+
"self": "role:give-way",
|
|
1376
|
+
"other": "role:stand-on"
|
|
1372
1377
|
},
|
|
1373
1378
|
"rel:overrides": [
|
|
1374
1379
|
"rule:15a:keep_out_of_the_way"
|
|
1375
1380
|
],
|
|
1376
|
-
"note": "Mine clearance (27(f)) and diving (27(e)) reach this entry through `rule18_class:ram`, which decodes them by 3(g), instead of being listed here by hand. That is the display/rank divergence Q-32 named, moved into facts.json. Overrides `rule:15a:keep_out_of_the_way` (Q-40):
|
|
1381
|
+
"note": "Mine clearance (27(f)) and diving (27(e)) reach this entry through `rule18_class:ram`, which decodes them by 3(g), instead of being listed here by hand. That is the display/rank divergence Q-32 named, moved into facts.json. Overrides `rule:15a:keep_out_of_the_way` (Q-40): self and a vessel restricted in her ability to manoeuvre are both power-driven vessels by 3(b) whenever her machinery is in use, so 15(a) is in force between them as well and would hand the give-way role to whichever has the other on her starboard side, rank or no rank. Rule 18's opening words except Rules 9, 10 and 13 and no others, so this paragraph displaces it."
|
|
1377
1382
|
},
|
|
1378
1383
|
{
|
|
1379
1384
|
"id": "rule:18a_iii",
|
|
1380
1385
|
"jurisdiction": "intl",
|
|
1381
1386
|
"cite": "18(a)(iii)",
|
|
1382
|
-
"category": "precedence",
|
|
1387
|
+
"category": "category:precedence",
|
|
1383
1388
|
"subjects": 2,
|
|
1384
1389
|
"when": {
|
|
1385
|
-
"
|
|
1386
|
-
"
|
|
1390
|
+
"self:fact:propulsion": "propulsion:power",
|
|
1391
|
+
"self:fact:rule18_class": {
|
|
1387
1392
|
"not": [
|
|
1388
1393
|
"rule18_class:nuc",
|
|
1389
1394
|
"rule18_class:ram",
|
|
1390
1395
|
"rule18_class:fishing"
|
|
1391
1396
|
]
|
|
1392
1397
|
},
|
|
1393
|
-
"
|
|
1398
|
+
"self:fact:position": "position:underway",
|
|
1394
1399
|
"other:fact:rule18_class": "rule18_class:fishing",
|
|
1395
1400
|
"other:fact:position": "position:underway",
|
|
1396
1401
|
"pair:geo:in_sight": true
|
|
1397
1402
|
},
|
|
1398
|
-
"modality": "shall",
|
|
1403
|
+
"modality": "modality:shall",
|
|
1399
1404
|
"effect": {
|
|
1400
|
-
"
|
|
1401
|
-
"other": "stand-on"
|
|
1405
|
+
"self": "role:give-way",
|
|
1406
|
+
"other": "role:stand-on"
|
|
1402
1407
|
},
|
|
1403
1408
|
"rel:overrides": [
|
|
1404
1409
|
"rule:15a:keep_out_of_the_way"
|
|
1405
1410
|
],
|
|
1406
|
-
"note": "`activity:trawling` reaches this entry through the class decode rather than by being listed beside `activity:fishing`; a fishing vessel under sail is `rule18_class:fishing` too, which is 18(c)'s reading of the axis. Overrides `rule:15a:keep_out_of_the_way` (Q-40):
|
|
1411
|
+
"note": "`activity:trawling` reaches this entry through the class decode rather than by being listed beside `activity:fishing`; a fishing vessel under sail is `rule18_class:fishing` too, which is 18(c)'s reading of the axis. Overrides `rule:15a:keep_out_of_the_way` (Q-40): self and a vessel engaged in fishing are both power-driven vessels by 3(b) whenever her machinery is in use, so 15(a) is in force between them as well and would hand the give-way role to whichever has the other on her starboard side, rank or no rank. Rule 18's opening words except Rules 9, 10 and 13 and no others, so this paragraph displaces it."
|
|
1407
1412
|
},
|
|
1408
1413
|
{
|
|
1409
1414
|
"id": "rule:18a_iv",
|
|
1410
1415
|
"jurisdiction": "intl",
|
|
1411
1416
|
"cite": "18(a)(iv)",
|
|
1412
|
-
"category": "precedence",
|
|
1417
|
+
"category": "category:precedence",
|
|
1413
1418
|
"subjects": 2,
|
|
1414
1419
|
"when": {
|
|
1415
|
-
"
|
|
1416
|
-
"
|
|
1420
|
+
"self:fact:propulsion": "propulsion:power",
|
|
1421
|
+
"self:fact:rule18_class": {
|
|
1417
1422
|
"not": [
|
|
1418
1423
|
"rule18_class:nuc",
|
|
1419
1424
|
"rule18_class:ram",
|
|
1420
1425
|
"rule18_class:fishing"
|
|
1421
1426
|
]
|
|
1422
1427
|
},
|
|
1423
|
-
"
|
|
1428
|
+
"self:fact:position": "position:underway",
|
|
1424
1429
|
"other:fact:rule18_class": "rule18_class:sail",
|
|
1425
1430
|
"other:fact:position": "position:underway",
|
|
1426
1431
|
"pair:geo:in_sight": true
|
|
1427
1432
|
},
|
|
1428
|
-
"modality": "shall",
|
|
1433
|
+
"modality": "modality:shall",
|
|
1429
1434
|
"effect": {
|
|
1430
|
-
"
|
|
1431
|
-
"other": "stand-on"
|
|
1435
|
+
"self": "role:give-way",
|
|
1436
|
+
"other": "role:stand-on"
|
|
1432
1437
|
},
|
|
1433
1438
|
"note": "A sailing vessel that is also fishing decodes to `rule18_class:fishing` and is ranked by 18(a)(iii), so the class alone carries what the old predicate needed a propulsion gate and an activity list to say."
|
|
1434
1439
|
},
|
|
@@ -1436,44 +1441,44 @@
|
|
|
1436
1441
|
"id": "rule:18b_i",
|
|
1437
1442
|
"jurisdiction": "intl",
|
|
1438
1443
|
"cite": "18(b)(i)",
|
|
1439
|
-
"category": "precedence",
|
|
1444
|
+
"category": "category:precedence",
|
|
1440
1445
|
"subjects": 2,
|
|
1441
1446
|
"when": {
|
|
1442
|
-
"
|
|
1443
|
-
"
|
|
1447
|
+
"self:fact:rule18_class": "rule18_class:sail",
|
|
1448
|
+
"self:fact:position": "position:underway",
|
|
1444
1449
|
"other:fact:rule18_class": "rule18_class:nuc",
|
|
1445
1450
|
"other:fact:position": "position:underway",
|
|
1446
1451
|
"pair:geo:in_sight": true
|
|
1447
1452
|
},
|
|
1448
|
-
"modality": "shall",
|
|
1453
|
+
"modality": "modality:shall",
|
|
1449
1454
|
"effect": {
|
|
1450
|
-
"
|
|
1451
|
-
"other": "stand-on"
|
|
1455
|
+
"self": "role:give-way",
|
|
1456
|
+
"other": "role:stand-on"
|
|
1452
1457
|
},
|
|
1453
1458
|
"rel:overrides": [
|
|
1454
1459
|
"rule:12a_i",
|
|
1455
1460
|
"rule:12a_ii",
|
|
1456
1461
|
"rule:12a_iii"
|
|
1457
1462
|
],
|
|
1458
|
-
"note": "
|
|
1463
|
+
"note": "Self is `rule18_class:sail`, which is 3(c)'s sailing vessel and not a fishing vessel under sail -- the class carries both halves of what the propulsion gate and the activity list used to say between them. Overrides the three Rule 12 entries (Q-40): both subjects can be sailing vessels by 3(c) -- the other under sail and not under command, restricted in her ability to manoeuvre, or engaged in fishing -- so Rule 12 is in force between them too, and Rule 18's chapeau excepts only Rules 9, 10 and 13."
|
|
1459
1464
|
},
|
|
1460
1465
|
{
|
|
1461
1466
|
"id": "rule:18b_ii",
|
|
1462
1467
|
"jurisdiction": "intl",
|
|
1463
1468
|
"cite": "18(b)(ii)",
|
|
1464
|
-
"category": "precedence",
|
|
1469
|
+
"category": "category:precedence",
|
|
1465
1470
|
"subjects": 2,
|
|
1466
1471
|
"when": {
|
|
1467
|
-
"
|
|
1468
|
-
"
|
|
1472
|
+
"self:fact:rule18_class": "rule18_class:sail",
|
|
1473
|
+
"self:fact:position": "position:underway",
|
|
1469
1474
|
"other:fact:rule18_class": "rule18_class:ram",
|
|
1470
1475
|
"other:fact:position": "position:underway",
|
|
1471
1476
|
"pair:geo:in_sight": true
|
|
1472
1477
|
},
|
|
1473
|
-
"modality": "shall",
|
|
1478
|
+
"modality": "modality:shall",
|
|
1474
1479
|
"effect": {
|
|
1475
|
-
"
|
|
1476
|
-
"other": "stand-on"
|
|
1480
|
+
"self": "role:give-way",
|
|
1481
|
+
"other": "role:stand-on"
|
|
1477
1482
|
},
|
|
1478
1483
|
"rel:overrides": [
|
|
1479
1484
|
"rule:12a_i",
|
|
@@ -1486,19 +1491,19 @@
|
|
|
1486
1491
|
"id": "rule:18b_iii",
|
|
1487
1492
|
"jurisdiction": "intl",
|
|
1488
1493
|
"cite": "18(b)(iii)",
|
|
1489
|
-
"category": "precedence",
|
|
1494
|
+
"category": "category:precedence",
|
|
1490
1495
|
"subjects": 2,
|
|
1491
1496
|
"when": {
|
|
1492
|
-
"
|
|
1493
|
-
"
|
|
1497
|
+
"self:fact:rule18_class": "rule18_class:sail",
|
|
1498
|
+
"self:fact:position": "position:underway",
|
|
1494
1499
|
"other:fact:rule18_class": "rule18_class:fishing",
|
|
1495
1500
|
"other:fact:position": "position:underway",
|
|
1496
1501
|
"pair:geo:in_sight": true
|
|
1497
1502
|
},
|
|
1498
|
-
"modality": "shall",
|
|
1503
|
+
"modality": "modality:shall",
|
|
1499
1504
|
"effect": {
|
|
1500
|
-
"
|
|
1501
|
-
"other": "stand-on"
|
|
1505
|
+
"self": "role:give-way",
|
|
1506
|
+
"other": "role:stand-on"
|
|
1502
1507
|
},
|
|
1503
1508
|
"rel:overrides": [
|
|
1504
1509
|
"rule:12a_i",
|
|
@@ -1511,19 +1516,19 @@
|
|
|
1511
1516
|
"id": "rule:18c_i",
|
|
1512
1517
|
"jurisdiction": "intl",
|
|
1513
1518
|
"cite": "18(c)(i)",
|
|
1514
|
-
"category": "precedence",
|
|
1519
|
+
"category": "category:precedence",
|
|
1515
1520
|
"subjects": 2,
|
|
1516
1521
|
"when": {
|
|
1517
|
-
"
|
|
1518
|
-
"
|
|
1522
|
+
"self:fact:rule18_class": "rule18_class:fishing",
|
|
1523
|
+
"self:fact:position": "position:underway",
|
|
1519
1524
|
"other:fact:rule18_class": "rule18_class:nuc",
|
|
1520
1525
|
"other:fact:position": "position:underway",
|
|
1521
1526
|
"pair:geo:in_sight": true
|
|
1522
1527
|
},
|
|
1523
|
-
"modality": "shall-if-practicable",
|
|
1528
|
+
"modality": "modality:shall-if-practicable",
|
|
1524
1529
|
"effect": {
|
|
1525
|
-
"
|
|
1526
|
-
"other": "stand-on"
|
|
1530
|
+
"self": "role:give-way",
|
|
1531
|
+
"other": "role:stand-on"
|
|
1527
1532
|
},
|
|
1528
1533
|
"rel:overrides": [
|
|
1529
1534
|
"rule:12a_i",
|
|
@@ -1537,19 +1542,19 @@
|
|
|
1537
1542
|
"id": "rule:18c_ii",
|
|
1538
1543
|
"jurisdiction": "intl",
|
|
1539
1544
|
"cite": "18(c)(ii)",
|
|
1540
|
-
"category": "precedence",
|
|
1545
|
+
"category": "category:precedence",
|
|
1541
1546
|
"subjects": 2,
|
|
1542
1547
|
"when": {
|
|
1543
|
-
"
|
|
1544
|
-
"
|
|
1548
|
+
"self:fact:rule18_class": "rule18_class:fishing",
|
|
1549
|
+
"self:fact:position": "position:underway",
|
|
1545
1550
|
"other:fact:rule18_class": "rule18_class:ram",
|
|
1546
1551
|
"other:fact:position": "position:underway",
|
|
1547
1552
|
"pair:geo:in_sight": true
|
|
1548
1553
|
},
|
|
1549
|
-
"modality": "shall-if-practicable",
|
|
1554
|
+
"modality": "modality:shall-if-practicable",
|
|
1550
1555
|
"effect": {
|
|
1551
|
-
"
|
|
1552
|
-
"other": "stand-on"
|
|
1556
|
+
"self": "role:give-way",
|
|
1557
|
+
"other": "role:stand-on"
|
|
1553
1558
|
},
|
|
1554
1559
|
"rel:overrides": [
|
|
1555
1560
|
"rule:12a_i",
|
|
@@ -1563,44 +1568,44 @@
|
|
|
1563
1568
|
"id": "rule:18d_i",
|
|
1564
1569
|
"jurisdiction": "intl",
|
|
1565
1570
|
"cite": "18(d)(i)",
|
|
1566
|
-
"category": "precedence",
|
|
1571
|
+
"category": "category:precedence",
|
|
1567
1572
|
"subjects": 2,
|
|
1568
1573
|
"when": {
|
|
1569
|
-
"
|
|
1574
|
+
"self:fact:rule18_class": {
|
|
1570
1575
|
"not": [
|
|
1571
1576
|
"rule18_class:nuc",
|
|
1572
1577
|
"rule18_class:ram"
|
|
1573
1578
|
]
|
|
1574
1579
|
},
|
|
1575
|
-
"
|
|
1580
|
+
"self:fact:position": "position:underway",
|
|
1576
1581
|
"other:fact:rule18_class": "rule18_class:cbd",
|
|
1577
1582
|
"other:fact:position": "position:underway",
|
|
1578
1583
|
"pair:geo:in_sight": true
|
|
1579
1584
|
},
|
|
1580
|
-
"modality": "shall-if-practicable",
|
|
1585
|
+
"modality": "modality:shall-if-practicable",
|
|
1581
1586
|
"effect": {
|
|
1582
|
-
"
|
|
1583
|
-
"other": "none"
|
|
1587
|
+
"self": "role:shall-not-impede",
|
|
1588
|
+
"other": "role:none"
|
|
1584
1589
|
},
|
|
1585
|
-
"note": "
|
|
1590
|
+
"note": "Self is the paragraph's self subject, verbatim: 'any vessel other than a vessel not under command or a vessel restricted in her ability to manoeuvre'. That is a negation, and it is now written as one (Q-33) instead of as the eight-value positive list it took before. `other` is `role:none` and not `role:stand-on`: 18(d) confers no stand-on role, which is the point 8(f)(iii) makes explicit. The modality is `modality:shall-if-practicable` because the duty itself now lives in `effect.self` -- 'shall, if the circumstances of the case admit' is the deontic qualification and `role:shall-not-impede` is the role, so the two halves the paragraph carries at once are held in two fields rather than fought over in one. That closes 18(d)(i)'s half of Q-31 and leaves the general question open.",
|
|
1586
1591
|
"gap": "18(d)(i) conditions on the CBD vessel 'exhibiting the signals in Rule 28', which is a display fact of the other vessel and is not read here; the entry is that much wider than the paragraph. Q-34."
|
|
1587
1592
|
},
|
|
1588
1593
|
{
|
|
1589
1594
|
"id": "rule:18f_i",
|
|
1590
1595
|
"jurisdiction": "intl",
|
|
1591
1596
|
"cite": "18(f)(i)",
|
|
1592
|
-
"category": "precedence",
|
|
1597
|
+
"category": "category:precedence",
|
|
1593
1598
|
"subjects": 2,
|
|
1594
1599
|
"when": {
|
|
1595
|
-
"
|
|
1596
|
-
"
|
|
1600
|
+
"self:fact:rule18_class": "rule18_class:wig",
|
|
1601
|
+
"self:fact:position": "position:underway",
|
|
1597
1602
|
"other:fact:position": "position:underway",
|
|
1598
1603
|
"pair:geo:in_sight": true
|
|
1599
1604
|
},
|
|
1600
|
-
"modality": "shall",
|
|
1605
|
+
"modality": "modality:shall",
|
|
1601
1606
|
"effect": {
|
|
1602
|
-
"
|
|
1603
|
-
"other": "none"
|
|
1607
|
+
"self": "role:keep-clear",
|
|
1608
|
+
"other": "role:none"
|
|
1604
1609
|
},
|
|
1605
1610
|
"rel:overrides": [
|
|
1606
1611
|
"rule:18a_i",
|
|
@@ -1610,23 +1615,23 @@
|
|
|
1610
1615
|
"rule:18d_i",
|
|
1611
1616
|
"rule:15a:keep_out_of_the_way"
|
|
1612
1617
|
],
|
|
1613
|
-
"note": "`rule18_class:wig` is the decode of `fact:wig` and `fact:wig_near_surface` together, so the phase gate 18(f)(i) is scoped to is stated once in facts.json rather than as a pair of booleans in every entry that needs it. A WIG craft near the surface still satisfies 18(a)'s predicate -- she is a power-driven vessel underway and the negated rank does not exclude her -- so the rel:overrides against the 18(a) family and 18(d)(i) still carries. `keep-clear` is one effect for the paragraph's two duties, which the effect vocabulary cannot separate. It overrides `rule:15a:keep_out_of_the_way` as well (Q-40): a WIG craft operating on the water surface is a power-driven vessel by 3(m), so 15(a) would give her a give-way or stand-on role beside 18(f)(i)'s keep-clear duty -- two helm roles at once, which is the conflict the rank negation on `rule:15a:keep_out_of_the_way` used to avoid by keeping her out of Rule 15 altogether."
|
|
1618
|
+
"note": "`rule18_class:wig` is the decode of `fact:wig` and `fact:wig_near_surface` together, so the phase gate 18(f)(i) is scoped to is stated once in facts.json rather than as a pair of booleans in every entry that needs it. A WIG craft near the surface still satisfies 18(a)'s predicate -- she is a power-driven vessel underway and the negated rank does not exclude her -- so the rel:overrides against the 18(a) family and 18(d)(i) still carries. `role:keep-clear` is one effect for the paragraph's two duties, which the effect vocabulary cannot separate. It overrides `rule:15a:keep_out_of_the_way` as well (Q-40): a WIG craft operating on the water surface is a power-driven vessel by 3(m), so 15(a) would give her a give-way or stand-on role beside 18(f)(i)'s keep-clear duty -- two helm roles at once, which is the conflict the rank negation on `rule:15a:keep_out_of_the_way` used to avoid by keeping her out of Rule 15 altogether."
|
|
1614
1619
|
},
|
|
1615
1620
|
{
|
|
1616
1621
|
"id": "rule:8f_iii",
|
|
1617
1622
|
"jurisdiction": "intl",
|
|
1618
1623
|
"cite": "8(f)(iii)",
|
|
1619
|
-
"category": "precedence",
|
|
1624
|
+
"category": "category:precedence",
|
|
1620
1625
|
"subjects": 2,
|
|
1621
1626
|
"when": {
|
|
1622
1627
|
"pair:geo:risk_of_collision": true
|
|
1623
1628
|
},
|
|
1624
|
-
"modality": "shall",
|
|
1629
|
+
"modality": "modality:shall",
|
|
1625
1630
|
"effect": {
|
|
1626
|
-
"
|
|
1627
|
-
"other": "none"
|
|
1631
|
+
"self": "role:none",
|
|
1632
|
+
"other": "role:none"
|
|
1628
1633
|
},
|
|
1629
|
-
"note": "Recorded as a precedence norm rather than as a rel:overrides. It is not a superiority relation: 8(f)(ii) keeps the impeding vessel's duty alive, so nothing is displaced. What 8(f)(iii) does is deny the not-to-be-impeded vessel any role -- `none` on both sides -- so that shall-not-impede is never read as conferring stand-on.",
|
|
1634
|
+
"note": "Recorded as a precedence norm rather than as a rel:overrides. It is not a superiority relation: 8(f)(ii) keeps the impeding vessel's duty alive, so nothing is displaced. What 8(f)(iii) does is deny the not-to-be-impeded vessel any role -- `role:none` on both sides -- so that shall-not-impede is never read as conferring stand-on.",
|
|
1630
1635
|
"gap": "The paragraph's antecedent is 'a vessel, the passage of which is not to be impeded'. That is the output of another norm, not a fact, and a precedence predicate reads only facts. The `when` is therefore the risk-of-collision half alone, which makes this entry wider than the paragraph: it applies to any pair with risk of collision. Kept wide and recorded rather than narrowed by inventing a fact.",
|
|
1631
1636
|
"no_gate_note": "No in-sight gate: Rule 4 puts Rules 4-10 in any condition of visibility."
|
|
1632
1637
|
},
|
|
@@ -1634,7 +1639,7 @@
|
|
|
1634
1639
|
"id": "rule:13a",
|
|
1635
1640
|
"jurisdiction": "intl",
|
|
1636
1641
|
"cite": "13(a)",
|
|
1637
|
-
"category": "precedence",
|
|
1642
|
+
"category": "category:precedence",
|
|
1638
1643
|
"subjects": 2,
|
|
1639
1644
|
"when": {
|
|
1640
1645
|
"pair:geo:in_sight": true,
|
|
@@ -1650,15 +1655,15 @@
|
|
|
1650
1655
|
"other:hist:was_overtaking": false
|
|
1651
1656
|
},
|
|
1652
1657
|
{
|
|
1653
|
-
"
|
|
1658
|
+
"self:hist:was_overtaking": true
|
|
1654
1659
|
}
|
|
1655
1660
|
],
|
|
1656
1661
|
"other:fact:position": "position:underway"
|
|
1657
1662
|
},
|
|
1658
|
-
"modality": "shall",
|
|
1663
|
+
"modality": "modality:shall",
|
|
1659
1664
|
"effect": {
|
|
1660
|
-
"
|
|
1661
|
-
"other": "stand-on"
|
|
1665
|
+
"self": "role:give-way",
|
|
1666
|
+
"other": "role:stand-on"
|
|
1662
1667
|
},
|
|
1663
1668
|
"rel:overrides": [
|
|
1664
1669
|
"rule:18a_i",
|
|
@@ -1676,35 +1681,35 @@
|
|
|
1676
1681
|
"rule:12a_ii",
|
|
1677
1682
|
"rule:12a_iii"
|
|
1678
1683
|
],
|
|
1679
|
-
"note": "Categorised `precedence`, not `classification` as ADR 0005 sec. 1 and the proposal's first-cut table have it. 13(a) is the one paragraph of Rule 13 that assigns a role, and a `classification` entry has no field to put a role in; 13(b)'s sector test is the classification and is what
|
|
1680
|
-
"gap": "Only
|
|
1684
|
+
"note": "Categorised `category:precedence`, not `category:classification` as ADR 0005 sec. 1 and the proposal's first-cut table have it. 13(a) is the one paragraph of Rule 13 that assigns a role, and a `category:classification` entry has no field to put a role in; 13(b)'s sector test is the classification and is what starts the overtaking history. Q-14 settles membership paragraph by paragraph and this is one of them. The predicate now carries both halves of 'any vessel overtaking any other': the 13(b) sector, which rule:13b classifies, and 13(d)'s overtaking history, which rule:13d classifies. They are a disjunction, which is what the entry could not write before the predicate language grew `any_of` (Q-33). Now also overrides the three Rule 12 entries: 'notwithstanding anything contained in' the Rules of Part B Sections I and II includes Rule 12, and two sailing vessels in an overtaking would otherwise hold 13(a)'s and 12(a)'s roles at once (Q-40). The sector branch now also reads `other:hist:was_overtaking: false`, so it cannot newly name a second give-way vessel while the other side already holds 13(d)'s overtaking history -- once overtaking, always overtaking, on whichever vessel history says holds the role (Q-47).",
|
|
1685
|
+
"gap": "Only self's side, directional by design -- but not, as once claimed here, recoverable by reading this entry with the vessels swapped: Q-47's `other:hist:was_overtaking: false` guard blocks that swapped read once the overtaking history is set, so nothing today names the overtaken vessel stand-on from this entry. Also cannot say 13(c) (doubt is not a fact) and inherits rule:13b's speed-comparison gap. Q-41, Q-46."
|
|
1681
1686
|
},
|
|
1682
1687
|
{
|
|
1683
1688
|
"id": "rule:9b",
|
|
1684
1689
|
"jurisdiction": "intl",
|
|
1685
1690
|
"cite": "9(b)",
|
|
1686
|
-
"category": "precedence",
|
|
1691
|
+
"category": "category:precedence",
|
|
1687
1692
|
"subjects": 2,
|
|
1688
1693
|
"when": {
|
|
1689
1694
|
"pair:env:narrow_channel": true,
|
|
1690
1695
|
"any_of": [
|
|
1691
1696
|
{
|
|
1692
|
-
"
|
|
1697
|
+
"self:fact:length_m": {
|
|
1693
1698
|
"lt": 20
|
|
1694
1699
|
}
|
|
1695
1700
|
},
|
|
1696
1701
|
{
|
|
1697
|
-
"
|
|
1702
|
+
"self:fact:propulsion": "propulsion:sail"
|
|
1698
1703
|
}
|
|
1699
1704
|
],
|
|
1700
|
-
"
|
|
1705
|
+
"self:fact:position": "position:underway",
|
|
1701
1706
|
"other:fact:position": "position:underway",
|
|
1702
1707
|
"other:fact:confined_to_channel": true
|
|
1703
1708
|
},
|
|
1704
|
-
"modality": "shall-not-impede",
|
|
1709
|
+
"modality": "modality:shall-not-impede",
|
|
1705
1710
|
"effect": {
|
|
1706
|
-
"
|
|
1707
|
-
"other": "none"
|
|
1711
|
+
"self": "role:shall-not-impede",
|
|
1712
|
+
"other": "role:none"
|
|
1708
1713
|
},
|
|
1709
1714
|
"rel:overrides": [
|
|
1710
1715
|
"rule:18a_iv"
|
|
@@ -1715,18 +1720,18 @@
|
|
|
1715
1720
|
"id": "rule:9c",
|
|
1716
1721
|
"jurisdiction": "intl",
|
|
1717
1722
|
"cite": "9(c)",
|
|
1718
|
-
"category": "precedence",
|
|
1723
|
+
"category": "category:precedence",
|
|
1719
1724
|
"subjects": 2,
|
|
1720
1725
|
"when": {
|
|
1721
1726
|
"pair:env:narrow_channel": true,
|
|
1722
|
-
"
|
|
1723
|
-
"
|
|
1727
|
+
"self:fact:rule18_class": "rule18_class:fishing",
|
|
1728
|
+
"self:fact:position": "position:underway",
|
|
1724
1729
|
"other:fact:position": "position:underway"
|
|
1725
1730
|
},
|
|
1726
|
-
"modality": "shall-not-impede",
|
|
1731
|
+
"modality": "modality:shall-not-impede",
|
|
1727
1732
|
"effect": {
|
|
1728
|
-
"
|
|
1729
|
-
"other": "none"
|
|
1733
|
+
"self": "role:shall-not-impede",
|
|
1734
|
+
"other": "role:none"
|
|
1730
1735
|
},
|
|
1731
1736
|
"rel:overrides": [
|
|
1732
1737
|
"rule:18a_iii",
|
|
@@ -1738,19 +1743,19 @@
|
|
|
1738
1743
|
"id": "rule:10i",
|
|
1739
1744
|
"jurisdiction": "intl",
|
|
1740
1745
|
"cite": "10(i)",
|
|
1741
|
-
"category": "precedence",
|
|
1746
|
+
"category": "category:precedence",
|
|
1742
1747
|
"subjects": 2,
|
|
1743
1748
|
"when": {
|
|
1744
1749
|
"pair:env:traffic_lane": true,
|
|
1745
|
-
"
|
|
1746
|
-
"
|
|
1750
|
+
"self:fact:rule18_class": "rule18_class:fishing",
|
|
1751
|
+
"self:fact:position": "position:underway",
|
|
1747
1752
|
"other:fact:position": "position:underway",
|
|
1748
1753
|
"other:fact:following_traffic_lane": true
|
|
1749
1754
|
},
|
|
1750
|
-
"modality": "shall-not-impede",
|
|
1755
|
+
"modality": "modality:shall-not-impede",
|
|
1751
1756
|
"effect": {
|
|
1752
|
-
"
|
|
1753
|
-
"other": "none"
|
|
1757
|
+
"self": "role:shall-not-impede",
|
|
1758
|
+
"other": "role:none"
|
|
1754
1759
|
},
|
|
1755
1760
|
"rel:overrides": [
|
|
1756
1761
|
"rule:18a_iii",
|
|
@@ -1762,29 +1767,29 @@
|
|
|
1762
1767
|
"id": "rule:10j",
|
|
1763
1768
|
"jurisdiction": "intl",
|
|
1764
1769
|
"cite": "10(j)",
|
|
1765
|
-
"category": "precedence",
|
|
1770
|
+
"category": "category:precedence",
|
|
1766
1771
|
"subjects": 2,
|
|
1767
1772
|
"when": {
|
|
1768
1773
|
"pair:env:traffic_lane": true,
|
|
1769
1774
|
"any_of": [
|
|
1770
1775
|
{
|
|
1771
|
-
"
|
|
1776
|
+
"self:fact:length_m": {
|
|
1772
1777
|
"lt": 20
|
|
1773
1778
|
}
|
|
1774
1779
|
},
|
|
1775
1780
|
{
|
|
1776
|
-
"
|
|
1781
|
+
"self:fact:propulsion": "propulsion:sail"
|
|
1777
1782
|
}
|
|
1778
1783
|
],
|
|
1779
|
-
"
|
|
1784
|
+
"self:fact:position": "position:underway",
|
|
1780
1785
|
"other:fact:propulsion": "propulsion:power",
|
|
1781
1786
|
"other:fact:position": "position:underway",
|
|
1782
1787
|
"other:fact:following_traffic_lane": true
|
|
1783
1788
|
},
|
|
1784
|
-
"modality": "shall-not-impede",
|
|
1789
|
+
"modality": "modality:shall-not-impede",
|
|
1785
1790
|
"effect": {
|
|
1786
|
-
"
|
|
1787
|
-
"other": "none"
|
|
1791
|
+
"self": "role:shall-not-impede",
|
|
1792
|
+
"other": "role:none"
|
|
1788
1793
|
},
|
|
1789
1794
|
"rel:overrides": [
|
|
1790
1795
|
"rule:18a_iv"
|
|
@@ -1795,7 +1800,7 @@
|
|
|
1795
1800
|
"id": "rule:7d_i",
|
|
1796
1801
|
"jurisdiction": "intl",
|
|
1797
1802
|
"cite": "7(d)(i)",
|
|
1798
|
-
"category": "classification",
|
|
1803
|
+
"category": "category:classification",
|
|
1799
1804
|
"subjects": 2,
|
|
1800
1805
|
"when": {
|
|
1801
1806
|
"pair:geo:bearing_change_deg_min": {
|
|
@@ -1806,7 +1811,7 @@
|
|
|
1806
1811
|
"gt": 0
|
|
1807
1812
|
}
|
|
1808
1813
|
},
|
|
1809
|
-
"modality": "shall",
|
|
1814
|
+
"modality": "modality:shall",
|
|
1810
1815
|
"effect": {
|
|
1811
1816
|
"risk_of_collision": true
|
|
1812
1817
|
},
|
|
@@ -1818,54 +1823,54 @@
|
|
|
1818
1823
|
"id": "rule:12a_i",
|
|
1819
1824
|
"jurisdiction": "intl",
|
|
1820
1825
|
"cite": "12(a)(i)",
|
|
1821
|
-
"category": "precedence",
|
|
1826
|
+
"category": "category:precedence",
|
|
1822
1827
|
"subjects": 2,
|
|
1823
1828
|
"when": {
|
|
1824
1829
|
"pair:geo:in_sight": true,
|
|
1825
1830
|
"pair:geo:risk_of_collision": true,
|
|
1826
|
-
"
|
|
1831
|
+
"self:fact:propulsion": "propulsion:sail",
|
|
1827
1832
|
"other:fact:propulsion": "propulsion:sail",
|
|
1828
|
-
"
|
|
1833
|
+
"self:fact:position": "position:underway",
|
|
1829
1834
|
"other:fact:position": "position:underway",
|
|
1830
|
-
"
|
|
1835
|
+
"self:kin:wind_side": "wind_side:port",
|
|
1831
1836
|
"other:kin:wind_side": "wind_side:starboard"
|
|
1832
1837
|
},
|
|
1833
|
-
"modality": "shall",
|
|
1838
|
+
"modality": "modality:shall",
|
|
1834
1839
|
"effect": {
|
|
1835
|
-
"
|
|
1836
|
-
"other": "stand-on"
|
|
1840
|
+
"self": "role:give-way",
|
|
1841
|
+
"other": "role:stand-on"
|
|
1837
1842
|
},
|
|
1838
|
-
"note": "Each has the wind on a different side, so the vessel with the wind on the port side keeps out of the way. Evaluated from
|
|
1843
|
+
"note": "Each has the wind on a different side, so the vessel with the wind on the port side keeps out of the way. Evaluated from self's side, so the mirror case -- self on starboard, other on port -- is this same entry read on the swapped situation, and it is what makes the other vessel stand-on. 'Two sailing vessels' is 3(c), so both subjects are gated on `fact:propulsion: propulsion:sail` and not on `rule18_class:sail` (Q-40): a vessel engaged in fishing under sail, or not under command under sail, is a sailing vessel by 3(c) and is inside Rule 12. Where Rule 18 also ranks the pair -- 18(b) from the ordinary sailing vessel's side, 18(c) from the fishing vessel's -- that entry carries `rel:overrides` against this one, because Rule 18's opening words except Rules 9, 10 and 13 and no others; 13(a)'s 'notwithstanding' overrides it the same way. Between two sailing vessels Rule 18 leaves unordered -- one not under command and one restricted in her ability to manoeuvre -- this entry is the only norm in force, and it lays a helm duty on a vessel that may be unable to discharge it; that is Rule 2's region and is recorded in Q-40 rather than gated away."
|
|
1839
1844
|
},
|
|
1840
1845
|
{
|
|
1841
1846
|
"id": "rule:12a_ii",
|
|
1842
1847
|
"jurisdiction": "intl",
|
|
1843
1848
|
"cite": "12(a)(ii)",
|
|
1844
|
-
"category": "precedence",
|
|
1849
|
+
"category": "category:precedence",
|
|
1845
1850
|
"subjects": 2,
|
|
1846
1851
|
"when": {
|
|
1847
1852
|
"pair:geo:in_sight": true,
|
|
1848
1853
|
"pair:geo:risk_of_collision": true,
|
|
1849
|
-
"
|
|
1854
|
+
"self:fact:propulsion": "propulsion:sail",
|
|
1850
1855
|
"other:fact:propulsion": "propulsion:sail",
|
|
1851
|
-
"
|
|
1856
|
+
"self:fact:position": "position:underway",
|
|
1852
1857
|
"other:fact:position": "position:underway",
|
|
1853
|
-
"
|
|
1858
|
+
"self:geo:windward": true,
|
|
1854
1859
|
"any_of": [
|
|
1855
1860
|
{
|
|
1856
|
-
"
|
|
1861
|
+
"self:kin:wind_side": "wind_side:port",
|
|
1857
1862
|
"other:kin:wind_side": "wind_side:port"
|
|
1858
1863
|
},
|
|
1859
1864
|
{
|
|
1860
|
-
"
|
|
1865
|
+
"self:kin:wind_side": "wind_side:starboard",
|
|
1861
1866
|
"other:kin:wind_side": "wind_side:starboard"
|
|
1862
1867
|
}
|
|
1863
1868
|
]
|
|
1864
1869
|
},
|
|
1865
|
-
"modality": "shall",
|
|
1870
|
+
"modality": "modality:shall",
|
|
1866
1871
|
"effect": {
|
|
1867
|
-
"
|
|
1868
|
-
"other": "stand-on"
|
|
1872
|
+
"self": "role:give-way",
|
|
1873
|
+
"other": "role:stand-on"
|
|
1869
1874
|
},
|
|
1870
1875
|
"note": "Both have the wind on the same side, so the windward vessel keeps clear. 'The same side' is a comparison between two facts and the predicate language compares a fact to a constant, so the disjunction is written out over the two values the comparison can take -- which is why `wind_side:unknown` on either subject falls through to 12(a)(iii) rather than into this entry. 'Two sailing vessels' is 3(c), so both subjects are gated on `fact:propulsion: propulsion:sail` and not on `rule18_class:sail` (Q-40): a vessel engaged in fishing under sail, or not under command under sail, is a sailing vessel by 3(c) and is inside Rule 12. Where Rule 18 also ranks the pair -- 18(b) from the ordinary sailing vessel's side, 18(c) from the fishing vessel's -- that entry carries `rel:overrides` against this one, because Rule 18's opening words except Rules 9, 10 and 13 and no others; 13(a)'s 'notwithstanding' overrides it the same way. Between two sailing vessels Rule 18 leaves unordered -- one not under command and one restricted in her ability to manoeuvre -- this entry is the only norm in force, and it lays a helm duty on a vessel that may be unable to discharge it; that is Rule 2's region and is recorded in Q-40 rather than gated away."
|
|
1871
1876
|
},
|
|
@@ -1873,31 +1878,31 @@
|
|
|
1873
1878
|
"id": "rule:12a_iii",
|
|
1874
1879
|
"jurisdiction": "intl",
|
|
1875
1880
|
"cite": "12(a)(iii)",
|
|
1876
|
-
"category": "precedence",
|
|
1881
|
+
"category": "category:precedence",
|
|
1877
1882
|
"subjects": 2,
|
|
1878
1883
|
"when": {
|
|
1879
1884
|
"pair:geo:in_sight": true,
|
|
1880
1885
|
"pair:geo:risk_of_collision": true,
|
|
1881
|
-
"
|
|
1886
|
+
"self:fact:propulsion": "propulsion:sail",
|
|
1882
1887
|
"other:fact:propulsion": "propulsion:sail",
|
|
1883
|
-
"
|
|
1888
|
+
"self:fact:position": "position:underway",
|
|
1884
1889
|
"other:fact:position": "position:underway",
|
|
1885
|
-
"
|
|
1890
|
+
"self:kin:wind_side": "wind_side:port",
|
|
1886
1891
|
"other:kin:wind_side": "wind_side:unknown",
|
|
1887
1892
|
"other:geo:windward": true
|
|
1888
1893
|
},
|
|
1889
|
-
"modality": "shall",
|
|
1894
|
+
"modality": "modality:shall",
|
|
1890
1895
|
"effect": {
|
|
1891
|
-
"
|
|
1892
|
-
"other": "stand-on"
|
|
1896
|
+
"self": "role:give-way",
|
|
1897
|
+
"other": "role:stand-on"
|
|
1893
1898
|
},
|
|
1894
|
-
"note": "The doubt case, and the one paragraph of Rule 12 that is expressible only because uncertainty is a declared value of the fact rather than the fact's absence. `wind_side:unknown` on the other subject is 'cannot determine with certainty', and an absent fact would have been the wrong model for it: absent satisfies nothing, so silence would have relieved
|
|
1899
|
+
"note": "The doubt case, and the one paragraph of Rule 12 that is expressible only because uncertainty is a declared value of the fact rather than the fact's absence. `wind_side:unknown` on the other subject is 'cannot determine with certainty', and an absent fact would have been the wrong model for it: absent satisfies nothing, so silence would have relieved self of a duty the paragraph imposes. This is the shape 13(c) and 14(c) would need and do not have -- Q-41. 'Two sailing vessels' is 3(c), so both subjects are gated on `fact:propulsion: propulsion:sail` and not on `rule18_class:sail` (Q-40): a vessel engaged in fishing under sail, or not under command under sail, is a sailing vessel by 3(c) and is inside Rule 12. Where Rule 18 also ranks the pair -- 18(b) from the ordinary sailing vessel's side, 18(c) from the fishing vessel's -- that entry carries `rel:overrides` against this one, because Rule 18's opening words except Rules 9, 10 and 13 and no others; 13(a)'s 'notwithstanding' overrides it the same way. Between two sailing vessels Rule 18 leaves unordered -- one not under command and one restricted in her ability to manoeuvre -- this entry is the only norm in force, and it lays a helm duty on a vessel that may be unable to discharge it; that is Rule 2's region and is recorded in Q-40 rather than gated away."
|
|
1895
1900
|
},
|
|
1896
1901
|
{
|
|
1897
1902
|
"id": "rule:13b",
|
|
1898
1903
|
"jurisdiction": "intl",
|
|
1899
1904
|
"cite": "13(b)",
|
|
1900
|
-
"category": "classification",
|
|
1905
|
+
"category": "category:classification",
|
|
1901
1906
|
"subjects": 2,
|
|
1902
1907
|
"when": {
|
|
1903
1908
|
"pair:geo:in_sight": true,
|
|
@@ -1909,7 +1914,7 @@
|
|
|
1909
1914
|
}
|
|
1910
1915
|
},
|
|
1911
1916
|
{
|
|
1912
|
-
"
|
|
1917
|
+
"self:geo:rel_bearing_deg": {
|
|
1913
1918
|
"gt": 112.5,
|
|
1914
1919
|
"lt": 247.5
|
|
1915
1920
|
}
|
|
@@ -1918,58 +1923,58 @@
|
|
|
1918
1923
|
"pair:geo:tcpa_s": {
|
|
1919
1924
|
"gt": 0
|
|
1920
1925
|
},
|
|
1921
|
-
"
|
|
1926
|
+
"self:fact:position": "position:underway",
|
|
1922
1927
|
"other:fact:position": "position:underway"
|
|
1923
1928
|
},
|
|
1924
|
-
"modality": "shall",
|
|
1929
|
+
"modality": "modality:shall",
|
|
1925
1930
|
"effect": {
|
|
1926
|
-
"encounter": "overtaking"
|
|
1931
|
+
"encounter": "encounter:overtaking"
|
|
1927
1932
|
},
|
|
1928
|
-
"note": "The deeming paragraph, and therefore the classification -- the half of Q-37 left open when 13(a) took the role. One symmetric entry: the encounter type belongs to the pair, so the sector is read on either subject under `any_of` --
|
|
1933
|
+
"note": "The deeming paragraph, and therefore the classification -- the half of Q-37 left open when 13(a) took the role. One symmetric entry: the encounter type belongs to the pair, so the sector is read on either subject under `any_of` -- self is in an overtaking whether she is coming up with the other or being come up with. Reading aspect alone would classify the overtaken vessel's side of the same encounter as a crossing. Which vessel carries the duty is 13(a)'s question.",
|
|
1929
1934
|
"gap": "'Coming up with' is a comparison of the two vessels' speeds, and a predicate compares a fact to a constant, never one fact to another. `pair:geo:tcpa_s` positive stands in: the closest point of approach is still ahead, so the pair is closing, and closing from abaft the beam is coming up. A vessel drawing away astern is excluded, which is the case that mattered; a pair closing because the vessel ahead has stopped is not. Q-46."
|
|
1930
1935
|
},
|
|
1931
1936
|
{
|
|
1932
1937
|
"id": "rule:13d",
|
|
1933
1938
|
"jurisdiction": "intl",
|
|
1934
1939
|
"cite": "13(d)",
|
|
1935
|
-
"category": "classification",
|
|
1940
|
+
"category": "category:classification",
|
|
1936
1941
|
"subjects": 2,
|
|
1937
1942
|
"when": {
|
|
1938
1943
|
"pair:geo:in_sight": true,
|
|
1939
1944
|
"any_of": [
|
|
1940
1945
|
{
|
|
1941
|
-
"
|
|
1946
|
+
"self:hist:was_overtaking": true
|
|
1942
1947
|
},
|
|
1943
1948
|
{
|
|
1944
1949
|
"other:hist:was_overtaking": true
|
|
1945
1950
|
}
|
|
1946
1951
|
],
|
|
1947
|
-
"
|
|
1952
|
+
"self:fact:position": "position:underway",
|
|
1948
1953
|
"other:fact:position": "position:underway"
|
|
1949
1954
|
},
|
|
1950
|
-
"modality": "shall",
|
|
1955
|
+
"modality": "modality:shall",
|
|
1951
1956
|
"effect": {
|
|
1952
|
-
"encounter": "overtaking"
|
|
1957
|
+
"encounter": "encounter:overtaking"
|
|
1953
1958
|
},
|
|
1954
|
-
"note": "
|
|
1955
|
-
"gap": "'Until she is finally past and clear' is the paragraph's
|
|
1959
|
+
"note": "Overtaking history, and the reason `hist` is a fact class rather than a note. Once either vessel has been the overtaking vessel the encounter stays an overtaking whatever the bearing does next, so this entry reads history alone and no geometry at all. It is the counterpart of the `hist:was_overtaking: false` gate on rule:14b and rule:15a:crossing: without both halves the drawn-out bearing would produce a head-on or a crossing beside the overtaking, which is exactly the reclassification 13(d) forbids. `pair:geo:in_sight` stays in the gate; a Rule 19(d)(i) entry reads `hist:was_overtaking` directly (Q-49).",
|
|
1960
|
+
"gap": "'Until she is finally past and clear' is the paragraph's self end condition and nothing in the fact vocabulary carries it, so in this model overtaking history never clears. A consumer sets and clears `hist:was_overtaking` itself. Recorded rather than approximated with a range or a bearing: past and clear is a seamanship judgement, and inventing a threshold for it would be the kind of number Q-40's neighbours are about. Q-47."
|
|
1956
1961
|
},
|
|
1957
1962
|
{
|
|
1958
1963
|
"id": "rule:14b",
|
|
1959
1964
|
"jurisdiction": "intl",
|
|
1960
1965
|
"cite": "14(b)",
|
|
1961
|
-
"category": "classification",
|
|
1966
|
+
"category": "category:classification",
|
|
1962
1967
|
"subjects": 2,
|
|
1963
1968
|
"when": {
|
|
1964
1969
|
"pair:geo:in_sight": true,
|
|
1965
1970
|
"pair:geo:risk_of_collision": true,
|
|
1966
|
-
"
|
|
1971
|
+
"self:fact:propulsion": "propulsion:power",
|
|
1967
1972
|
"other:fact:propulsion": "propulsion:power",
|
|
1968
|
-
"
|
|
1973
|
+
"self:fact:position": "position:underway",
|
|
1969
1974
|
"other:fact:position": "position:underway",
|
|
1970
|
-
"
|
|
1975
|
+
"self:hist:was_overtaking": false,
|
|
1971
1976
|
"other:hist:was_overtaking": false,
|
|
1972
|
-
"
|
|
1977
|
+
"self:geo:rel_bearing_deg": {
|
|
1973
1978
|
"any_of": [
|
|
1974
1979
|
{
|
|
1975
1980
|
"lte": 11.25
|
|
@@ -1990,29 +1995,29 @@
|
|
|
1990
1995
|
]
|
|
1991
1996
|
}
|
|
1992
1997
|
},
|
|
1993
|
-
"modality": "shall",
|
|
1998
|
+
"modality": "modality:shall",
|
|
1994
1999
|
"effect": {
|
|
1995
|
-
"encounter": "head-on"
|
|
2000
|
+
"encounter": "encounter:head-on"
|
|
1996
2001
|
},
|
|
1997
|
-
"note": "14(b)'s deeming test: both vessels see the other ahead or nearly ahead. Both bearings are read, not one: a single vessel with the other fine on the bow is not a head-on situation unless she is also fine on the other's bow, and reading one bearing alone would have swallowed part of the crossing sector. The half-angle is declared once in facts.json `situation.constants.head_on_half_angle_deg`. Cites 14(b) and not 14(a) because the deeming paragraph is the classification, exactly as rule:13b and rule:13b cite 13(b): 14(a) states the situation in words -- 'reciprocal or nearly reciprocal courses' -- and imposes the duty, each shall alter her course to starboard, which is `conduct`, is not modelled, and is in known_omissions. Q-45.",
|
|
2002
|
+
"note": "14(b)'s deeming test: both vessels see the other ahead or nearly ahead. Both bearings are read, not one: a single vessel with the other fine on the bow is not a head-on situation unless she is also fine on the other's bow, and reading one bearing alone would have swallowed part of the crossing sector. The half-angle is declared once in facts.json `situation.constants.head_on_half_angle_deg`. Cites 14(b) and not 14(a) because the deeming paragraph is the classification, exactly as rule:13b and rule:13b cite 13(b): 14(a) states the situation in words -- 'reciprocal or nearly reciprocal courses' -- and imposes the duty, each shall alter her course to starboard, which is `category:conduct`, is not modelled, and is in known_omissions. Q-45.",
|
|
1998
2003
|
"gap": "The history gates are 13(d)'s, not Rule 14's, and they are what keeps the three encounter types a partition -- their price is that a situation which omits `hist:was_overtaking` is classified as no encounter at all rather than as a head-on. Q-43."
|
|
1999
2004
|
},
|
|
2000
2005
|
{
|
|
2001
2006
|
"id": "rule:15a:crossing",
|
|
2002
2007
|
"jurisdiction": "intl",
|
|
2003
2008
|
"cite": "15(a)",
|
|
2004
|
-
"category": "classification",
|
|
2009
|
+
"category": "category:classification",
|
|
2005
2010
|
"subjects": 2,
|
|
2006
2011
|
"when": {
|
|
2007
2012
|
"pair:geo:in_sight": true,
|
|
2008
2013
|
"pair:geo:risk_of_collision": true,
|
|
2009
|
-
"
|
|
2014
|
+
"self:fact:propulsion": "propulsion:power",
|
|
2010
2015
|
"other:fact:propulsion": "propulsion:power",
|
|
2011
|
-
"
|
|
2016
|
+
"self:fact:position": "position:underway",
|
|
2012
2017
|
"other:fact:position": "position:underway",
|
|
2013
|
-
"
|
|
2018
|
+
"self:hist:was_overtaking": false,
|
|
2014
2019
|
"other:hist:was_overtaking": false,
|
|
2015
|
-
"
|
|
2020
|
+
"self:geo:rel_bearing_deg": {
|
|
2016
2021
|
"not": {
|
|
2017
2022
|
"gt": 112.5,
|
|
2018
2023
|
"lt": 247.5
|
|
@@ -2026,7 +2031,7 @@
|
|
|
2026
2031
|
},
|
|
2027
2032
|
"any_of": [
|
|
2028
2033
|
{
|
|
2029
|
-
"
|
|
2034
|
+
"self:geo:rel_bearing_deg": {
|
|
2030
2035
|
"not": {
|
|
2031
2036
|
"any_of": [
|
|
2032
2037
|
{
|
|
@@ -2055,9 +2060,9 @@
|
|
|
2055
2060
|
}
|
|
2056
2061
|
]
|
|
2057
2062
|
},
|
|
2058
|
-
"modality": "shall",
|
|
2063
|
+
"modality": "modality:shall",
|
|
2059
2064
|
"effect": {
|
|
2060
|
-
"encounter": "crossing"
|
|
2065
|
+
"encounter": "encounter:crossing"
|
|
2061
2066
|
},
|
|
2062
2067
|
"note": "The residual, and derived rather than written as its own sector. Not overtaking is `not` over the very constraint rule:13b uses, on both subjects, so the sector and its complement cannot drift apart and the 112.5 edge lands in exactly one of them. Not head-on is `not` over rule:14b's cone, on either subject -- the negation of a conjunction, which is why it is an `any_of` and not two constraints. Nothing here enumerates a crossing sector, and that is the point: the only way for the three encounter types to overlap or to leave a bearing unclassified is for someone to edit one of the two constraints without editing the other, and there is only one of each.",
|
|
2063
2068
|
"gap": "15(a) says 'two power-driven vessels', which this reads as 3(b)'s definition and nothing more, so a vessel not under command is inside it -- she is power-driven. That is deliberate for the classification: the encounter really is a crossing. `rule:15a:keep_out_of_the_way` reads 3(b) the same way and no longer gates on rank either (Q-40): where Rule 18 ranks the pair it is that entry's `rel:overrides` that displaces the role."
|
|
@@ -2066,18 +2071,18 @@
|
|
|
2066
2071
|
"id": "rule:15a:keep_out_of_the_way",
|
|
2067
2072
|
"jurisdiction": "intl",
|
|
2068
2073
|
"cite": "15(a)",
|
|
2069
|
-
"category": "precedence",
|
|
2074
|
+
"category": "category:precedence",
|
|
2070
2075
|
"subjects": 2,
|
|
2071
2076
|
"when": {
|
|
2072
2077
|
"pair:geo:in_sight": true,
|
|
2073
2078
|
"pair:geo:risk_of_collision": true,
|
|
2074
|
-
"
|
|
2079
|
+
"self:fact:propulsion": "propulsion:power",
|
|
2075
2080
|
"other:fact:propulsion": "propulsion:power",
|
|
2076
|
-
"
|
|
2081
|
+
"self:fact:position": "position:underway",
|
|
2077
2082
|
"other:fact:position": "position:underway",
|
|
2078
|
-
"
|
|
2083
|
+
"self:hist:was_overtaking": false,
|
|
2079
2084
|
"other:hist:was_overtaking": false,
|
|
2080
|
-
"
|
|
2085
|
+
"self:geo:rel_bearing_deg": {
|
|
2081
2086
|
"gt": 0,
|
|
2082
2087
|
"lte": 112.5
|
|
2083
2088
|
},
|
|
@@ -2089,7 +2094,7 @@
|
|
|
2089
2094
|
},
|
|
2090
2095
|
"any_of": [
|
|
2091
2096
|
{
|
|
2092
|
-
"
|
|
2097
|
+
"self:geo:rel_bearing_deg": {
|
|
2093
2098
|
"not": {
|
|
2094
2099
|
"any_of": [
|
|
2095
2100
|
{
|
|
@@ -2118,13 +2123,13 @@
|
|
|
2118
2123
|
}
|
|
2119
2124
|
]
|
|
2120
2125
|
},
|
|
2121
|
-
"modality": "shall",
|
|
2126
|
+
"modality": "modality:shall",
|
|
2122
2127
|
"effect": {
|
|
2123
|
-
"
|
|
2124
|
-
"other": "stand-on"
|
|
2128
|
+
"self": "role:give-way",
|
|
2129
|
+
"other": "role:stand-on"
|
|
2125
2130
|
},
|
|
2126
|
-
"note": "The role half of 15(a): the vessel which has the other on her own starboard side keeps out of the way.
|
|
2127
|
-
"gap": "15(a)'s second duty -- 'shall, if the circumstances of the case admit, avoid crossing ahead of the other vessel' -- is `conduct` with a practicability caveat, and neither half fits a precedence entry. It is dropped here, which is Q-31's shape again: the caveat has no field to move into unless the duty happens to be a role, and this one is an action."
|
|
2131
|
+
"note": "The role half of 15(a): the vessel which has the other on her own starboard side keeps out of the way. Self's bearing constraint is the starboard half of the non-overtaking sector, and its upper edge is the same declared constant 13b reads, so it is not a hand-listed sector either; the partition test asserts that this entry selects exactly the crossings in which the other bears between 0 and 180 relative, which is what makes the shorthand checkable rather than trusted. 'Two power-driven vessels' is 3(b) and nothing more, so both subjects are gated on `fact:propulsion: propulsion:power` and on no Rule 18 rank (Q-40): a vessel engaged in fishing, not under command, restricted in her ability to manoeuvre or constrained by her draught is a power-driven vessel whenever her machinery is in use, and is inside Rule 15. Where Rule 18 also ranks the pair, that entry carries `rel:overrides` against this one -- 18(a)(i)-(iii) from the unranked vessel's side, 18(c)(i)-(ii) from the fishing vessel's, 18(f)(i) from the WIG craft's -- because Rule 18's opening words except Rules 9, 10 and 13 and no others; 13(a)'s 'notwithstanding' would override it the same way, and does not need to, because this entry's bearing gates and its `hist:was_overtaking: false` already exclude every overtaking. Where Rule 18 leaves the pair unordered -- two vessels engaged in fishing, or one not under command and one restricted in her ability to manoeuvre -- this entry is the only norm in force, and it lays a helm duty on a vessel that may be unable to discharge it; that is Rule 2's region and is recorded in Q-40 rather than gated away.",
|
|
2132
|
+
"gap": "15(a)'s second duty -- 'shall, if the circumstances of the case admit, avoid crossing ahead of the other vessel' -- is `category:conduct` with a practicability caveat, and neither half fits a precedence entry. It is dropped here, which is Q-31's shape again: the caveat has no field to move into unless the duty happens to be a role, and this one is an action."
|
|
2128
2133
|
},
|
|
2129
2134
|
{
|
|
2130
2135
|
"id": "rule:30a:mooring_buoy",
|
|
@@ -2148,7 +2153,7 @@
|
|
|
2148
2153
|
"position": "at or near the stern, at a lower level than the fore one"
|
|
2149
2154
|
}
|
|
2150
2155
|
],
|
|
2151
|
-
"modality": "shall",
|
|
2156
|
+
"modality": "modality:shall",
|
|
2152
2157
|
"note": "33 CFR 90.5 deems a vessel made fast to a mooring buoy to be a vessel at anchor, so Inland Rule 30(a) reaches her. The Convention has no such deeming provision: under intl she is 'moored' by Rule 3(i) and no paragraph prescribes lights for her."
|
|
2153
2158
|
},
|
|
2154
2159
|
{
|
|
@@ -2173,8 +2178,22 @@
|
|
|
2173
2178
|
"rel:in_lieu_of": [
|
|
2174
2179
|
"rule:30a:mooring_buoy"
|
|
2175
2180
|
],
|
|
2176
|
-
"modality": "may",
|
|
2181
|
+
"modality": "modality:may",
|
|
2177
2182
|
"note": "The under-50 m alternative, on the same 33 CFR 90.5 deeming that brings rule:30a:mooring_buoy in. It is a separate entry because widening rule:30b's predicate would edit an intl entry to carry a national delta, which REQ-SCOPE-4 forbids."
|
|
2178
2183
|
}
|
|
2184
|
+
],
|
|
2185
|
+
"suppressions": [
|
|
2186
|
+
{
|
|
2187
|
+
"jurisdiction": "us/inland",
|
|
2188
|
+
"suppresses": "rule:28",
|
|
2189
|
+
"cite": "28",
|
|
2190
|
+
"why": "33 CFR 83.28 is [Reserved]: 'constrained by her draft' is not an Inland Rules status, so the Rule 28 signal is deliberately absent under us/inland rather than untranscribed (Q-11, ADR 0018)."
|
|
2191
|
+
},
|
|
2192
|
+
{
|
|
2193
|
+
"jurisdiction": "us/inland",
|
|
2194
|
+
"suppresses": "rule:23d_ii",
|
|
2195
|
+
"cite": "23(d)(ii)",
|
|
2196
|
+
"why": "33 CFR 83.23(d) is a single paragraph with no counterpart to the under-7 m, 7 kn exception of 23(d)(ii); the exception is deliberately absent under us/inland (Q-11, ADR 0018)."
|
|
2197
|
+
}
|
|
2179
2198
|
]
|
|
2180
2199
|
}
|