colregs 0.3.0 → 0.3.2
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 +13 -11
- package/data/applicability.json +478 -503
- package/data/facts.json +22 -22
- package/data/geometry.json +8 -8
- package/data/i18n/en.json +27 -0
- package/data/i18n/fi.json +25 -0
- package/data/images.json +32 -32
- package/data/operations.json +79 -0
- package/data/rules.json +5 -0
- package/data/version.json +1 -1
- package/docs/adr/0006-json-schema-and-identifier-diff.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/0014-engine-interface-owned-by-colregs.md +103 -0
- package/docs/adr/0015-rule-ids-are-paragraph-keys.md +191 -0
- 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/budgets.json +8 -15
- package/docs/decisions.md +6 -0
- package/docs/identifiers.md +121 -109
- package/docs/maritime-sources.md +58 -0
- package/docs/normative-language.md +103 -0
- package/docs/part-b-invariants.md +48 -45
- package/docs/requirements.md +147 -138
- package/fixtures/applicability-fixtures.json +190 -190
- package/fixtures/situation-fixtures.json +870 -599
- package/package.json +1 -1
- package/schema/applicability-fixtures.schema.json +4 -13
- package/schema/applicability.schema.json +77 -77
- package/schema/conduct-evaluation.schema.json +135 -0
- package/schema/display-evaluation.schema.json +146 -0
- package/schema/encounter-evaluation.schema.json +109 -0
- package/schema/evaluation.schema.json +149 -0
- package/schema/fact-record.schema.json +30 -0
- package/schema/facts.schema.json +4 -4
- package/schema/i18n-catalog.schema.json +47 -0
- package/schema/operations.schema.json +124 -0
- package/schema/rule2-departure-finding.schema.json +72 -0
- package/schema/rule2-departure-model.schema.json +159 -0
- package/schema/situation-fixtures.schema.json +30 -127
- package/schema/situation.schema.json +72 -0
- package/schema/trace.schema.json +33 -0
- package/data/deprecated-identifiers.json +0 -7
- package/schema/deprecated-identifiers.schema.json +0 -29
package/data/applicability.json
CHANGED
|
@@ -9,47 +9,47 @@
|
|
|
9
9
|
"rel:overrides": "the superiority relation: the referencing norm's obligation displaces the referenced norm's when both apply"
|
|
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
|
{
|
|
50
50
|
"cite": "24(d)",
|
|
51
51
|
"what": "A power-driven vessel to which 24(a) or (c) applies shall also comply with 23(a)(ii) — the second masthead light.",
|
|
52
|
-
"why": "Not an entry in the settled table; 24a-m2/24a-m3 carry in_lieu_of against
|
|
52
|
+
"why": "Not an entry in the settled table; 24a-m2/24a-m3 carry in_lieu_of against rule:23a_i and rule:23a_ii instead. Recorded here rather than added unilaterally."
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
55
|
"cite": "24(f), 24(g), 24(h), 24(i)",
|
|
@@ -74,26 +74,26 @@
|
|
|
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)",
|
|
91
91
|
"what": "A WIG craft operating on the water surface shall comply with Rules 4-19 as a power-driven vessel.",
|
|
92
|
-
"why": "Not a precedence norm: it maps a WIG on the surface onto `propulsion:power` for the rest of Part B, which is a classification or a decode-table statement rather than a role in a pair. 18(f)(i) -- the phase that does change the roles -- is entry
|
|
92
|
+
"why": "Not a precedence norm: it maps a WIG on the surface onto `propulsion:power` for the rest of Part B, which is a classification or a decode-table statement rather than a role in a pair. 18(f)(i) -- the phase that does change the roles -- is entry rule:18f_i."
|
|
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,38 +109,28 @@
|
|
|
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 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
113
|
}
|
|
114
114
|
],
|
|
115
115
|
"represented_paragraphs": [
|
|
116
116
|
{
|
|
117
|
-
"id": "2a",
|
|
117
|
+
"id": "rule:2a",
|
|
118
118
|
"jurisdiction": "intl",
|
|
119
119
|
"cite": "2(a)",
|
|
120
|
-
"category": "care",
|
|
120
|
+
"category": "category:care",
|
|
121
121
|
"note": "Residual responsibility for every other paragraph; nothing in this package discharges it, so it is recorded rather than dropped from the model."
|
|
122
122
|
},
|
|
123
123
|
{
|
|
124
|
-
"id": "2b",
|
|
124
|
+
"id": "rule:2b",
|
|
125
125
|
"jurisdiction": "intl",
|
|
126
126
|
"cite": "2(b)",
|
|
127
|
-
"category": "meta",
|
|
127
|
+
"category": "category:meta",
|
|
128
128
|
"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
129
|
}
|
|
130
130
|
],
|
|
131
|
-
"retired_entry_ids": {
|
|
132
|
-
"note": "Entry ids that existed and no longer do. REQ-MODEL-10 makes an identifier immutable, which means a retired id is never reused for a different entry -- recorded here so that a later session cannot reuse one by accident. The first four retirements cost no consumer anything since nothing had shipped yet; `14a` is the first to have shipped (v0.1.3), so it is deprecated rather than dropped -- see data/deprecated-identifiers.json.",
|
|
133
|
-
"ids": {
|
|
134
|
-
"9b-small": "Collapsed into `9b` when `any_of` gave the predicate language a disjunction; 9(b)'s subject needed two entries only because a `when` was a conjunction.",
|
|
135
|
-
"9b-sail": "Collapsed into `9b`, same reason.",
|
|
136
|
-
"10j-small": "Collapsed into `10j`, same reason.",
|
|
137
|
-
"10j-sail": "Collapsed into `10j`, same reason.",
|
|
138
|
-
"14a": "Renamed `14b` when the head-on classification moved its cite from 14(a) to 14(b), the deeming paragraph it reads; 14(a) is conduct and is in known_omissions. Shipped in v0.1.3, so it is the first record in data/deprecated-identifiers.json (REQ-MODEL-11). Q-45."
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
131
|
"entries": [
|
|
142
132
|
{
|
|
143
|
-
"id": "
|
|
133
|
+
"id": "rule:23a_i",
|
|
144
134
|
"jurisdiction": "intl",
|
|
145
135
|
"cite": "23(a)(i)",
|
|
146
136
|
"when": {
|
|
@@ -155,13 +145,13 @@
|
|
|
155
145
|
"count": 1
|
|
156
146
|
}
|
|
157
147
|
],
|
|
158
|
-
"modality": "shall",
|
|
148
|
+
"modality": "modality:shall",
|
|
159
149
|
"images": [
|
|
160
150
|
"NRHB_23_a.png"
|
|
161
151
|
]
|
|
162
152
|
},
|
|
163
153
|
{
|
|
164
|
-
"id": "
|
|
154
|
+
"id": "rule:23a_ii",
|
|
165
155
|
"jurisdiction": "intl",
|
|
166
156
|
"cite": "23(a)(ii)",
|
|
167
157
|
"when": {
|
|
@@ -176,7 +166,7 @@
|
|
|
176
166
|
"count": 1
|
|
177
167
|
}
|
|
178
168
|
],
|
|
179
|
-
"modality": "conditional",
|
|
169
|
+
"modality": "modality:conditional",
|
|
180
170
|
"modality_by": [
|
|
181
171
|
{
|
|
182
172
|
"when": {
|
|
@@ -184,7 +174,7 @@
|
|
|
184
174
|
"gte": 50
|
|
185
175
|
}
|
|
186
176
|
},
|
|
187
|
-
"modality": "shall"
|
|
177
|
+
"modality": "modality:shall"
|
|
188
178
|
},
|
|
189
179
|
{
|
|
190
180
|
"when": {
|
|
@@ -192,7 +182,7 @@
|
|
|
192
182
|
"lt": 50
|
|
193
183
|
}
|
|
194
184
|
},
|
|
195
|
-
"modality": "may"
|
|
185
|
+
"modality": "modality:may"
|
|
196
186
|
}
|
|
197
187
|
],
|
|
198
188
|
"images": [
|
|
@@ -201,7 +191,7 @@
|
|
|
201
191
|
]
|
|
202
192
|
},
|
|
203
193
|
{
|
|
204
|
-
"id": "
|
|
194
|
+
"id": "rule:23a_iii_iv",
|
|
205
195
|
"jurisdiction": "intl",
|
|
206
196
|
"cite": "23(a)(iii)-(iv)",
|
|
207
197
|
"when": {
|
|
@@ -217,10 +207,10 @@
|
|
|
217
207
|
"light": "light:sternlight"
|
|
218
208
|
}
|
|
219
209
|
],
|
|
220
|
-
"modality": "shall"
|
|
210
|
+
"modality": "modality:shall"
|
|
221
211
|
},
|
|
222
212
|
{
|
|
223
|
-
"id": "23b",
|
|
213
|
+
"id": "rule:23b",
|
|
224
214
|
"jurisdiction": "intl",
|
|
225
215
|
"cite": "23(b)",
|
|
226
216
|
"when": {
|
|
@@ -238,18 +228,18 @@
|
|
|
238
228
|
}
|
|
239
229
|
],
|
|
240
230
|
"rel:includes": [
|
|
241
|
-
"
|
|
242
|
-
"
|
|
243
|
-
"
|
|
231
|
+
"rule:23a_i",
|
|
232
|
+
"rule:23a_ii",
|
|
233
|
+
"rule:23a_iii_iv"
|
|
244
234
|
],
|
|
245
|
-
"modality": "shall",
|
|
235
|
+
"modality": "modality:shall",
|
|
246
236
|
"images": [
|
|
247
237
|
"NRHB_23_b.png"
|
|
248
238
|
],
|
|
249
239
|
"notes": "Air-cushion vessel operating in non-displacement mode; in addition to 23(a)."
|
|
250
240
|
},
|
|
251
241
|
{
|
|
252
|
-
"id": "23c",
|
|
242
|
+
"id": "rule:23c",
|
|
253
243
|
"jurisdiction": "intl",
|
|
254
244
|
"cite": "23(c)",
|
|
255
245
|
"when": {
|
|
@@ -269,15 +259,15 @@
|
|
|
269
259
|
}
|
|
270
260
|
],
|
|
271
261
|
"rel:includes": [
|
|
272
|
-
"
|
|
273
|
-
"
|
|
274
|
-
"
|
|
262
|
+
"rule:23a_i",
|
|
263
|
+
"rule:23a_ii",
|
|
264
|
+
"rule:23a_iii_iv"
|
|
275
265
|
],
|
|
276
|
-
"modality": "shall",
|
|
266
|
+
"modality": "modality:shall",
|
|
277
267
|
"notes": "Only when taking off, landing and in flight near the surface."
|
|
278
268
|
},
|
|
279
269
|
{
|
|
280
|
-
"id": "
|
|
270
|
+
"id": "rule:23d_i",
|
|
281
271
|
"jurisdiction": "intl",
|
|
282
272
|
"cite": "23(d)(i)",
|
|
283
273
|
"when": {
|
|
@@ -299,17 +289,17 @@
|
|
|
299
289
|
}
|
|
300
290
|
],
|
|
301
291
|
"rel:in_lieu_of": [
|
|
302
|
-
"
|
|
303
|
-
"
|
|
304
|
-
"
|
|
292
|
+
"rule:23a_i",
|
|
293
|
+
"rule:23a_ii",
|
|
294
|
+
"rule:23a_iii_iv"
|
|
305
295
|
],
|
|
306
|
-
"modality": "may",
|
|
296
|
+
"modality": "modality:may",
|
|
307
297
|
"images": [
|
|
308
298
|
"NRHB_23_di.png"
|
|
309
299
|
]
|
|
310
300
|
},
|
|
311
301
|
{
|
|
312
|
-
"id": "
|
|
302
|
+
"id": "rule:23d_ii",
|
|
313
303
|
"jurisdiction": "intl",
|
|
314
304
|
"cite": "23(d)(ii)",
|
|
315
305
|
"when": {
|
|
@@ -331,22 +321,22 @@
|
|
|
331
321
|
},
|
|
332
322
|
{
|
|
333
323
|
"light": "light:sidelights",
|
|
334
|
-
"modality": "shall-if-practicable"
|
|
324
|
+
"modality": "modality:shall-if-practicable"
|
|
335
325
|
}
|
|
336
326
|
],
|
|
337
327
|
"rel:in_lieu_of": [
|
|
338
|
-
"
|
|
339
|
-
"
|
|
340
|
-
"
|
|
328
|
+
"rule:23a_i",
|
|
329
|
+
"rule:23a_ii",
|
|
330
|
+
"rule:23a_iii_iv"
|
|
341
331
|
],
|
|
342
|
-
"modality": "may",
|
|
332
|
+
"modality": "modality:may",
|
|
343
333
|
"images": [
|
|
344
334
|
"NRHB_23_Intl_dii.png"
|
|
345
335
|
],
|
|
346
336
|
"notes": "The all-round white light is 'may'; the sidelights are 'shall, if practicable' — one paragraph, two modalities."
|
|
347
337
|
},
|
|
348
338
|
{
|
|
349
|
-
"id": "
|
|
339
|
+
"id": "rule:24a_i",
|
|
350
340
|
"jurisdiction": "intl",
|
|
351
341
|
"cite": "24(a)(i)",
|
|
352
342
|
"when": {
|
|
@@ -363,16 +353,16 @@
|
|
|
363
353
|
}
|
|
364
354
|
],
|
|
365
355
|
"rel:in_lieu_of": [
|
|
366
|
-
"
|
|
367
|
-
"
|
|
356
|
+
"rule:23a_i",
|
|
357
|
+
"rule:23a_ii"
|
|
368
358
|
],
|
|
369
|
-
"modality": "shall",
|
|
359
|
+
"modality": "modality:shall",
|
|
370
360
|
"images": [
|
|
371
361
|
"NRHB_24_a.png"
|
|
372
362
|
]
|
|
373
363
|
},
|
|
374
364
|
{
|
|
375
|
-
"id": "
|
|
365
|
+
"id": "rule:24a_i:exceeds_200m",
|
|
376
366
|
"jurisdiction": "intl",
|
|
377
367
|
"cite": "24(a)(i)",
|
|
378
368
|
"when": {
|
|
@@ -389,16 +379,16 @@
|
|
|
389
379
|
}
|
|
390
380
|
],
|
|
391
381
|
"rel:in_lieu_of": [
|
|
392
|
-
"
|
|
393
|
-
"
|
|
382
|
+
"rule:23a_i",
|
|
383
|
+
"rule:23a_ii"
|
|
394
384
|
],
|
|
395
|
-
"modality": "shall",
|
|
385
|
+
"modality": "modality:shall",
|
|
396
386
|
"images": [
|
|
397
387
|
"NRHB_24_av.png"
|
|
398
388
|
]
|
|
399
389
|
},
|
|
400
390
|
{
|
|
401
|
-
"id": "
|
|
391
|
+
"id": "rule:24a_ii_iv",
|
|
402
392
|
"jurisdiction": "intl",
|
|
403
393
|
"cite": "24(a)(ii)-(iv)",
|
|
404
394
|
"when": {
|
|
@@ -417,17 +407,17 @@
|
|
|
417
407
|
"fact:position": "position:underway"
|
|
418
408
|
},
|
|
419
409
|
"rel:includes": [
|
|
420
|
-
"
|
|
410
|
+
"rule:23a_iii_iv"
|
|
421
411
|
]
|
|
422
412
|
}
|
|
423
413
|
],
|
|
424
|
-
"modality": "shall",
|
|
414
|
+
"modality": "modality:shall",
|
|
425
415
|
"images": [
|
|
426
416
|
"NRHB_24_a.png"
|
|
427
417
|
]
|
|
428
418
|
},
|
|
429
419
|
{
|
|
430
|
-
"id": "24b",
|
|
420
|
+
"id": "rule:24b",
|
|
431
421
|
"jurisdiction": "intl",
|
|
432
422
|
"cite": "24(b)",
|
|
433
423
|
"when": {
|
|
@@ -441,20 +431,20 @@
|
|
|
441
431
|
"fact:position": "position:underway"
|
|
442
432
|
},
|
|
443
433
|
"rel:includes": [
|
|
444
|
-
"
|
|
445
|
-
"
|
|
446
|
-
"
|
|
434
|
+
"rule:23a_i",
|
|
435
|
+
"rule:23a_ii",
|
|
436
|
+
"rule:23a_iii_iv"
|
|
447
437
|
]
|
|
448
438
|
}
|
|
449
439
|
],
|
|
450
|
-
"modality": "shall",
|
|
440
|
+
"modality": "modality:shall",
|
|
451
441
|
"images": [
|
|
452
442
|
"NRHB_23_a.png"
|
|
453
443
|
],
|
|
454
444
|
"notes": "A composite unit is regarded as a power-driven vessel."
|
|
455
445
|
},
|
|
456
446
|
{
|
|
457
|
-
"id": "24c",
|
|
447
|
+
"id": "rule:24c",
|
|
458
448
|
"jurisdiction": "intl",
|
|
459
449
|
"cite": "24(c)",
|
|
460
450
|
"when": {
|
|
@@ -474,19 +464,19 @@
|
|
|
474
464
|
"fact:position": "position:underway"
|
|
475
465
|
},
|
|
476
466
|
"rel:includes": [
|
|
477
|
-
"
|
|
467
|
+
"rule:23a_iii_iv"
|
|
478
468
|
]
|
|
479
469
|
}
|
|
480
470
|
],
|
|
481
471
|
"rel:in_lieu_of": [
|
|
482
|
-
"
|
|
483
|
-
"
|
|
472
|
+
"rule:23a_i",
|
|
473
|
+
"rule:23a_ii"
|
|
484
474
|
],
|
|
485
|
-
"modality": "shall",
|
|
475
|
+
"modality": "modality:shall",
|
|
486
476
|
"notes": "Also covers towing alongside (towed_alongside=true)."
|
|
487
477
|
},
|
|
488
478
|
{
|
|
489
|
-
"id": "24e",
|
|
479
|
+
"id": "rule:24e",
|
|
490
480
|
"jurisdiction": "intl",
|
|
491
481
|
"cite": "24(e)",
|
|
492
482
|
"when": {
|
|
@@ -500,14 +490,14 @@
|
|
|
500
490
|
"light": "light:sternlight"
|
|
501
491
|
}
|
|
502
492
|
],
|
|
503
|
-
"modality": "shall",
|
|
493
|
+
"modality": "modality:shall",
|
|
504
494
|
"images": [
|
|
505
495
|
"NRHB_24_e.png"
|
|
506
496
|
],
|
|
507
497
|
"notes": "Other than the inconspicuous, partly submerged objects of 24(g)."
|
|
508
498
|
},
|
|
509
499
|
{
|
|
510
|
-
"id": "25a",
|
|
500
|
+
"id": "rule:25a",
|
|
511
501
|
"jurisdiction": "intl",
|
|
512
502
|
"cite": "25(a)",
|
|
513
503
|
"when": {
|
|
@@ -523,13 +513,13 @@
|
|
|
523
513
|
"light": "light:sternlight"
|
|
524
514
|
}
|
|
525
515
|
],
|
|
526
|
-
"modality": "shall",
|
|
516
|
+
"modality": "modality:shall",
|
|
527
517
|
"images": [
|
|
528
518
|
"NRHB_25_a.png"
|
|
529
519
|
]
|
|
530
520
|
},
|
|
531
521
|
{
|
|
532
|
-
"id": "25b",
|
|
522
|
+
"id": "rule:25b",
|
|
533
523
|
"jurisdiction": "intl",
|
|
534
524
|
"cite": "25(b)",
|
|
535
525
|
"when": {
|
|
@@ -553,19 +543,19 @@
|
|
|
553
543
|
}
|
|
554
544
|
],
|
|
555
545
|
"rel:in_lieu_of": [
|
|
556
|
-
"25a"
|
|
546
|
+
"rule:25a"
|
|
557
547
|
],
|
|
558
548
|
"rel:excludes": [
|
|
559
|
-
"25c"
|
|
549
|
+
"rule:25c"
|
|
560
550
|
],
|
|
561
|
-
"modality": "may",
|
|
551
|
+
"modality": "modality:may",
|
|
562
552
|
"images": [
|
|
563
553
|
"NRHB_25_b.png"
|
|
564
554
|
],
|
|
565
555
|
"notes": "The tricolor: 25(a)'s lights combined in one lantern."
|
|
566
556
|
},
|
|
567
557
|
{
|
|
568
|
-
"id": "25c",
|
|
558
|
+
"id": "rule:25c",
|
|
569
559
|
"jurisdiction": "intl",
|
|
570
560
|
"cite": "25(c)",
|
|
571
561
|
"when": {
|
|
@@ -588,18 +578,18 @@
|
|
|
588
578
|
}
|
|
589
579
|
],
|
|
590
580
|
"rel:includes": [
|
|
591
|
-
"25a"
|
|
581
|
+
"rule:25a"
|
|
592
582
|
],
|
|
593
583
|
"rel:excludes": [
|
|
594
|
-
"25b"
|
|
584
|
+
"rule:25b"
|
|
595
585
|
],
|
|
596
|
-
"modality": "may",
|
|
586
|
+
"modality": "modality:may",
|
|
597
587
|
"images": [
|
|
598
588
|
"NRHB_25_c.png"
|
|
599
589
|
]
|
|
600
590
|
},
|
|
601
591
|
{
|
|
602
|
-
"id": "
|
|
592
|
+
"id": "rule:25d_i",
|
|
603
593
|
"jurisdiction": "intl",
|
|
604
594
|
"cite": "25(d)(i)",
|
|
605
595
|
"when": {
|
|
@@ -619,17 +609,17 @@
|
|
|
619
609
|
}
|
|
620
610
|
],
|
|
621
611
|
"rel:in_lieu_of": [
|
|
622
|
-
"25a",
|
|
623
|
-
"25b"
|
|
612
|
+
"rule:25a",
|
|
613
|
+
"rule:25b"
|
|
624
614
|
],
|
|
625
|
-
"modality": "shall-if-practicable",
|
|
615
|
+
"modality": "modality:shall-if-practicable",
|
|
626
616
|
"images": [
|
|
627
617
|
"NRHB_25_d.png"
|
|
628
618
|
],
|
|
629
619
|
"notes": "25(a) or (b) shall be shown if practicable; the torch is the fallback."
|
|
630
620
|
},
|
|
631
621
|
{
|
|
632
|
-
"id": "
|
|
622
|
+
"id": "rule:25d_ii",
|
|
633
623
|
"jurisdiction": "intl",
|
|
634
624
|
"cite": "25(d)(ii)",
|
|
635
625
|
"when": {
|
|
@@ -646,19 +636,19 @@
|
|
|
646
636
|
"rel:conditional_includes": [
|
|
647
637
|
{
|
|
648
638
|
"one_of": [
|
|
649
|
-
"25a",
|
|
650
|
-
"25b"
|
|
639
|
+
"rule:25a",
|
|
640
|
+
"rule:25b"
|
|
651
641
|
]
|
|
652
642
|
}
|
|
653
643
|
],
|
|
654
|
-
"modality": "may",
|
|
644
|
+
"modality": "modality:may",
|
|
655
645
|
"images": [
|
|
656
646
|
"NRHB_25_dii.png"
|
|
657
647
|
],
|
|
658
648
|
"notes": "No length gate at all: a vessel under oars of any length may show only the torch, where a sailing vessel of 10 m may not."
|
|
659
649
|
},
|
|
660
650
|
{
|
|
661
|
-
"id": "
|
|
651
|
+
"id": "rule:26b_i",
|
|
662
652
|
"jurisdiction": "intl",
|
|
663
653
|
"cite": "26(b)(i)",
|
|
664
654
|
"when": {
|
|
@@ -682,17 +672,17 @@
|
|
|
682
672
|
}
|
|
683
673
|
],
|
|
684
674
|
"rel:overrides": [
|
|
685
|
-
"30a",
|
|
686
|
-
"30b"
|
|
675
|
+
"rule:30a",
|
|
676
|
+
"rule:30b"
|
|
687
677
|
],
|
|
688
|
-
"modality": "shall",
|
|
678
|
+
"modality": "modality:shall",
|
|
689
679
|
"images": [
|
|
690
680
|
"NRHB_26_b.png"
|
|
691
681
|
],
|
|
692
682
|
"notes": "Rule 26(a) — 'only the lights prescribed in this Rule' — prevails over Rule 30's anchor lights underway or at anchor (rel:overrides, ADR 0007). Aground is neither (Rule 3(i)); she shows 30(d) alone."
|
|
693
683
|
},
|
|
694
684
|
{
|
|
695
|
-
"id": "
|
|
685
|
+
"id": "rule:26b_ii",
|
|
696
686
|
"jurisdiction": "intl",
|
|
697
687
|
"cite": "26(b)(ii)",
|
|
698
688
|
"when": {
|
|
@@ -708,7 +698,7 @@
|
|
|
708
698
|
"count": 1
|
|
709
699
|
}
|
|
710
700
|
],
|
|
711
|
-
"modality": "conditional",
|
|
701
|
+
"modality": "modality:conditional",
|
|
712
702
|
"modality_by": [
|
|
713
703
|
{
|
|
714
704
|
"when": {
|
|
@@ -716,7 +706,7 @@
|
|
|
716
706
|
"gte": 50
|
|
717
707
|
}
|
|
718
708
|
},
|
|
719
|
-
"modality": "shall"
|
|
709
|
+
"modality": "modality:shall"
|
|
720
710
|
},
|
|
721
711
|
{
|
|
722
712
|
"when": {
|
|
@@ -724,12 +714,12 @@
|
|
|
724
714
|
"lt": 50
|
|
725
715
|
}
|
|
726
716
|
},
|
|
727
|
-
"modality": "may"
|
|
717
|
+
"modality": "modality:may"
|
|
728
718
|
}
|
|
729
719
|
]
|
|
730
720
|
},
|
|
731
721
|
{
|
|
732
|
-
"id": "
|
|
722
|
+
"id": "rule:26b_iii",
|
|
733
723
|
"jurisdiction": "intl",
|
|
734
724
|
"cite": "26(b)(iii)",
|
|
735
725
|
"when": {
|
|
@@ -738,15 +728,15 @@
|
|
|
738
728
|
},
|
|
739
729
|
"lights": [],
|
|
740
730
|
"rel:includes": [
|
|
741
|
-
"
|
|
731
|
+
"rule:23a_iii_iv"
|
|
742
732
|
],
|
|
743
|
-
"modality": "shall",
|
|
733
|
+
"modality": "modality:shall",
|
|
744
734
|
"images": [
|
|
745
735
|
"NRHB_26_biii.png"
|
|
746
736
|
]
|
|
747
737
|
},
|
|
748
738
|
{
|
|
749
|
-
"id": "
|
|
739
|
+
"id": "rule:26c_i",
|
|
750
740
|
"jurisdiction": "intl",
|
|
751
741
|
"cite": "26(c)(i)",
|
|
752
742
|
"when": {
|
|
@@ -770,13 +760,13 @@
|
|
|
770
760
|
}
|
|
771
761
|
],
|
|
772
762
|
"rel:overrides": [
|
|
773
|
-
"30a",
|
|
774
|
-
"30b"
|
|
763
|
+
"rule:30a",
|
|
764
|
+
"rule:30b"
|
|
775
765
|
],
|
|
776
|
-
"modality": "shall"
|
|
766
|
+
"modality": "modality:shall"
|
|
777
767
|
},
|
|
778
768
|
{
|
|
779
|
-
"id": "
|
|
769
|
+
"id": "rule:26c_ii",
|
|
780
770
|
"jurisdiction": "intl",
|
|
781
771
|
"cite": "26(c)(ii)",
|
|
782
772
|
"when": {
|
|
@@ -796,10 +786,10 @@
|
|
|
796
786
|
"position": "in the direction of the gear"
|
|
797
787
|
}
|
|
798
788
|
],
|
|
799
|
-
"modality": "shall"
|
|
789
|
+
"modality": "modality:shall"
|
|
800
790
|
},
|
|
801
791
|
{
|
|
802
|
-
"id": "
|
|
792
|
+
"id": "rule:26c_iii",
|
|
803
793
|
"jurisdiction": "intl",
|
|
804
794
|
"cite": "26(c)(iii)",
|
|
805
795
|
"when": {
|
|
@@ -808,15 +798,15 @@
|
|
|
808
798
|
},
|
|
809
799
|
"lights": [],
|
|
810
800
|
"rel:includes": [
|
|
811
|
-
"
|
|
801
|
+
"rule:23a_iii_iv"
|
|
812
802
|
],
|
|
813
|
-
"modality": "shall",
|
|
803
|
+
"modality": "modality:shall",
|
|
814
804
|
"images": [
|
|
815
805
|
"NRHB_26_ciii.png"
|
|
816
806
|
]
|
|
817
807
|
},
|
|
818
808
|
{
|
|
819
|
-
"id": "
|
|
809
|
+
"id": "rule:27a_i",
|
|
820
810
|
"jurisdiction": "intl",
|
|
821
811
|
"cite": "27(a)(i)",
|
|
822
812
|
"when": {
|
|
@@ -831,13 +821,13 @@
|
|
|
831
821
|
"arrangement": "vertical"
|
|
832
822
|
}
|
|
833
823
|
],
|
|
834
|
-
"modality": "shall",
|
|
824
|
+
"modality": "modality:shall",
|
|
835
825
|
"images": [
|
|
836
826
|
"NRHB_27_a.png"
|
|
837
827
|
]
|
|
838
828
|
},
|
|
839
829
|
{
|
|
840
|
-
"id": "
|
|
830
|
+
"id": "rule:27a_iii",
|
|
841
831
|
"jurisdiction": "intl",
|
|
842
832
|
"cite": "27(a)(iii)",
|
|
843
833
|
"when": {
|
|
@@ -846,15 +836,15 @@
|
|
|
846
836
|
},
|
|
847
837
|
"lights": [],
|
|
848
838
|
"rel:includes": [
|
|
849
|
-
"
|
|
839
|
+
"rule:23a_iii_iv"
|
|
850
840
|
],
|
|
851
|
-
"modality": "shall",
|
|
841
|
+
"modality": "modality:shall",
|
|
852
842
|
"images": [
|
|
853
843
|
"NRHB_27_aiii.png"
|
|
854
844
|
]
|
|
855
845
|
},
|
|
856
846
|
{
|
|
857
|
-
"id": "
|
|
847
|
+
"id": "rule:27b_i",
|
|
858
848
|
"jurisdiction": "intl",
|
|
859
849
|
"cite": "27(b)(i)",
|
|
860
850
|
"when": {
|
|
@@ -880,11 +870,11 @@
|
|
|
880
870
|
"position": "lower"
|
|
881
871
|
}
|
|
882
872
|
],
|
|
883
|
-
"modality": "shall",
|
|
873
|
+
"modality": "modality:shall",
|
|
884
874
|
"notes": "Except a vessel engaged in mine clearance operations (27(f))."
|
|
885
875
|
},
|
|
886
876
|
{
|
|
887
|
-
"id": "
|
|
877
|
+
"id": "rule:27b_iii",
|
|
888
878
|
"jurisdiction": "intl",
|
|
889
879
|
"cite": "27(b)(iii)",
|
|
890
880
|
"when": {
|
|
@@ -893,17 +883,17 @@
|
|
|
893
883
|
},
|
|
894
884
|
"lights": [],
|
|
895
885
|
"rel:includes": [
|
|
896
|
-
"
|
|
897
|
-
"
|
|
898
|
-
"
|
|
886
|
+
"rule:23a_i",
|
|
887
|
+
"rule:23a_ii",
|
|
888
|
+
"rule:23a_iii_iv"
|
|
899
889
|
],
|
|
900
|
-
"modality": "shall",
|
|
890
|
+
"modality": "modality:shall",
|
|
901
891
|
"images": [
|
|
902
892
|
"NRHB_27_biii.png"
|
|
903
893
|
]
|
|
904
894
|
},
|
|
905
895
|
{
|
|
906
|
-
"id": "
|
|
896
|
+
"id": "rule:27b_iv",
|
|
907
897
|
"jurisdiction": "intl",
|
|
908
898
|
"cite": "27(b)(iv)",
|
|
909
899
|
"when": {
|
|
@@ -914,18 +904,18 @@
|
|
|
914
904
|
"rel:conditional_includes": [
|
|
915
905
|
{
|
|
916
906
|
"one_of": [
|
|
917
|
-
"30a",
|
|
918
|
-
"30b"
|
|
907
|
+
"rule:30a",
|
|
908
|
+
"rule:30b"
|
|
919
909
|
]
|
|
920
910
|
}
|
|
921
911
|
],
|
|
922
|
-
"modality": "shall",
|
|
912
|
+
"modality": "modality:shall",
|
|
923
913
|
"images": [
|
|
924
914
|
"NRHB_27_biv.png"
|
|
925
915
|
]
|
|
926
916
|
},
|
|
927
917
|
{
|
|
928
|
-
"id": "27d",
|
|
918
|
+
"id": "rule:27d",
|
|
929
919
|
"jurisdiction": "intl",
|
|
930
920
|
"cite": "27(d)",
|
|
931
921
|
"when": {
|
|
@@ -949,9 +939,9 @@
|
|
|
949
939
|
}
|
|
950
940
|
],
|
|
951
941
|
"rel:includes": [
|
|
952
|
-
"
|
|
942
|
+
"rule:27b_i"
|
|
953
943
|
],
|
|
954
|
-
"modality": "shall",
|
|
944
|
+
"modality": "modality:shall",
|
|
955
945
|
"images": [
|
|
956
946
|
"NRHB_27_d.png",
|
|
957
947
|
"NRHB_27_diii.png"
|
|
@@ -959,7 +949,7 @@
|
|
|
959
949
|
"notes": "27(d)(iii): when at anchor these lights are shown instead of Rule 30's."
|
|
960
950
|
},
|
|
961
951
|
{
|
|
962
|
-
"id": "
|
|
952
|
+
"id": "rule:27e_i",
|
|
963
953
|
"jurisdiction": "intl",
|
|
964
954
|
"cite": "27(e)(i)",
|
|
965
955
|
"when": {
|
|
@@ -986,13 +976,13 @@
|
|
|
986
976
|
}
|
|
987
977
|
],
|
|
988
978
|
"rel:in_lieu_of": [
|
|
989
|
-
"27d"
|
|
979
|
+
"rule:27d"
|
|
990
980
|
],
|
|
991
|
-
"modality": "shall",
|
|
981
|
+
"modality": "modality:shall",
|
|
992
982
|
"notes": "Only when the vessel's size makes the full 27(d) display impracticable."
|
|
993
983
|
},
|
|
994
984
|
{
|
|
995
|
-
"id": "27f",
|
|
985
|
+
"id": "rule:27f",
|
|
996
986
|
"jurisdiction": "intl",
|
|
997
987
|
"cite": "27(f)",
|
|
998
988
|
"when": {
|
|
@@ -1012,9 +1002,9 @@
|
|
|
1012
1002
|
"fact:position": "position:underway"
|
|
1013
1003
|
},
|
|
1014
1004
|
"rel:includes": [
|
|
1015
|
-
"
|
|
1016
|
-
"
|
|
1017
|
-
"
|
|
1005
|
+
"rule:23a_i",
|
|
1006
|
+
"rule:23a_ii",
|
|
1007
|
+
"rule:23a_iii_iv"
|
|
1018
1008
|
],
|
|
1019
1009
|
"cite": "27(f)"
|
|
1020
1010
|
},
|
|
@@ -1023,20 +1013,20 @@
|
|
|
1023
1013
|
"fact:position": "position:anchored"
|
|
1024
1014
|
},
|
|
1025
1015
|
"one_of": [
|
|
1026
|
-
"30a",
|
|
1027
|
-
"30b"
|
|
1016
|
+
"rule:30a",
|
|
1017
|
+
"rule:30b"
|
|
1028
1018
|
],
|
|
1029
1019
|
"cite": "27(f)"
|
|
1030
1020
|
}
|
|
1031
1021
|
],
|
|
1032
|
-
"modality": "shall",
|
|
1022
|
+
"modality": "modality:shall",
|
|
1033
1023
|
"images": [
|
|
1034
1024
|
"NRHB_27_f.png"
|
|
1035
1025
|
],
|
|
1036
1026
|
"notes": "27(f) adds the three green lights 'to the lights prescribed for a power-driven vessel in Rule 23 or to the lights or shape prescribed for a vessel at anchor in Rule 30, as appropriate': which set is imported turns on fact:position, so both imports are gated (the 29(a) pattern). The anchored branch is genuine practice, added by A.464(XII) in 1981 — docs/verification/2026-09-05-rule27f-rule28-anchor-scenarios.md, Q1."
|
|
1037
1027
|
},
|
|
1038
1028
|
{
|
|
1039
|
-
"id": "28",
|
|
1029
|
+
"id": "rule:28",
|
|
1040
1030
|
"jurisdiction": "intl",
|
|
1041
1031
|
"cite": "28",
|
|
1042
1032
|
"when": {
|
|
@@ -1052,18 +1042,18 @@
|
|
|
1052
1042
|
}
|
|
1053
1043
|
],
|
|
1054
1044
|
"rel:includes": [
|
|
1055
|
-
"
|
|
1056
|
-
"
|
|
1057
|
-
"
|
|
1045
|
+
"rule:23a_i",
|
|
1046
|
+
"rule:23a_ii",
|
|
1047
|
+
"rule:23a_iii_iv"
|
|
1058
1048
|
],
|
|
1059
|
-
"modality": "may",
|
|
1049
|
+
"modality": "modality:may",
|
|
1060
1050
|
"images": [
|
|
1061
1051
|
"NRHB_28.png"
|
|
1062
1052
|
],
|
|
1063
1053
|
"notes": "The Rule 23(a) lights are 'shall' (she is a power-driven vessel underway); the three red lights are 'may'. International Rules only. Position is pinned to underway rather than gating the Rule 23 import: 'constrained by her draught' is a status of a vessel navigating (3(h)); the standard commentary and IMO guidance treat the Rule 28 signal as shown only with the underway lights; and Annex I positions the red lights only relative to masthead lights — docs/verification/2026-09-05-rule27f-rule28-anchor-scenarios.md, Q2. A record of activity:cbd at anchor therefore gets Rule 30 alone."
|
|
1064
1054
|
},
|
|
1065
1055
|
{
|
|
1066
|
-
"id": "29a",
|
|
1056
|
+
"id": "rule:29a",
|
|
1067
1057
|
"jurisdiction": "intl",
|
|
1068
1058
|
"cite": "29(a)",
|
|
1069
1059
|
"when": {
|
|
@@ -1089,7 +1079,7 @@
|
|
|
1089
1079
|
"fact:position": "position:underway"
|
|
1090
1080
|
},
|
|
1091
1081
|
"rel:includes": [
|
|
1092
|
-
"
|
|
1082
|
+
"rule:23a_iii_iv"
|
|
1093
1083
|
],
|
|
1094
1084
|
"cite": "29(a)(ii)"
|
|
1095
1085
|
},
|
|
@@ -1098,20 +1088,20 @@
|
|
|
1098
1088
|
"fact:position": "position:anchored"
|
|
1099
1089
|
},
|
|
1100
1090
|
"one_of": [
|
|
1101
|
-
"30a",
|
|
1102
|
-
"30b"
|
|
1091
|
+
"rule:30a",
|
|
1092
|
+
"rule:30b"
|
|
1103
1093
|
],
|
|
1104
1094
|
"cite": "29(a)(iii)"
|
|
1105
1095
|
}
|
|
1106
1096
|
],
|
|
1107
|
-
"modality": "shall",
|
|
1097
|
+
"modality": "modality:shall",
|
|
1108
1098
|
"images": [
|
|
1109
1099
|
"NRHB_29_a.png",
|
|
1110
1100
|
"NRHB_29_aiii.png"
|
|
1111
1101
|
]
|
|
1112
1102
|
},
|
|
1113
1103
|
{
|
|
1114
|
-
"id": "30a",
|
|
1104
|
+
"id": "rule:30a",
|
|
1115
1105
|
"jurisdiction": "intl",
|
|
1116
1106
|
"cite": "30(a)",
|
|
1117
1107
|
"when": {
|
|
@@ -1131,13 +1121,13 @@
|
|
|
1131
1121
|
"position": "at or near the stern, at a lower level than the fore one"
|
|
1132
1122
|
}
|
|
1133
1123
|
],
|
|
1134
|
-
"modality": "shall",
|
|
1124
|
+
"modality": "modality:shall",
|
|
1135
1125
|
"images": [
|
|
1136
1126
|
"NRHB_30_d.png"
|
|
1137
1127
|
]
|
|
1138
1128
|
},
|
|
1139
1129
|
{
|
|
1140
|
-
"id": "30b",
|
|
1130
|
+
"id": "rule:30b",
|
|
1141
1131
|
"jurisdiction": "intl",
|
|
1142
1132
|
"cite": "30(b)",
|
|
1143
1133
|
"when": {
|
|
@@ -1155,15 +1145,15 @@
|
|
|
1155
1145
|
}
|
|
1156
1146
|
],
|
|
1157
1147
|
"rel:in_lieu_of": [
|
|
1158
|
-
"30a"
|
|
1148
|
+
"rule:30a"
|
|
1159
1149
|
],
|
|
1160
|
-
"modality": "may",
|
|
1150
|
+
"modality": "modality:may",
|
|
1161
1151
|
"images": [
|
|
1162
1152
|
"NRHB_30_a.png"
|
|
1163
1153
|
]
|
|
1164
1154
|
},
|
|
1165
1155
|
{
|
|
1166
|
-
"id": "30c",
|
|
1156
|
+
"id": "rule:30c",
|
|
1167
1157
|
"jurisdiction": "intl",
|
|
1168
1158
|
"cite": "30(c)",
|
|
1169
1159
|
"when": {
|
|
@@ -1175,7 +1165,7 @@
|
|
|
1175
1165
|
"note": "available working or equivalent lights to illuminate her decks"
|
|
1176
1166
|
}
|
|
1177
1167
|
],
|
|
1178
|
-
"modality": "conditional",
|
|
1168
|
+
"modality": "modality:conditional",
|
|
1179
1169
|
"modality_by": [
|
|
1180
1170
|
{
|
|
1181
1171
|
"when": {
|
|
@@ -1183,7 +1173,7 @@
|
|
|
1183
1173
|
"gte": 100
|
|
1184
1174
|
}
|
|
1185
1175
|
},
|
|
1186
|
-
"modality": "shall"
|
|
1176
|
+
"modality": "modality:shall"
|
|
1187
1177
|
},
|
|
1188
1178
|
{
|
|
1189
1179
|
"when": {
|
|
@@ -1191,12 +1181,12 @@
|
|
|
1191
1181
|
"lt": 100
|
|
1192
1182
|
}
|
|
1193
1183
|
},
|
|
1194
|
-
"modality": "may"
|
|
1184
|
+
"modality": "modality:may"
|
|
1195
1185
|
}
|
|
1196
1186
|
]
|
|
1197
1187
|
},
|
|
1198
1188
|
{
|
|
1199
|
-
"id": "30d
|
|
1189
|
+
"id": "rule:30d",
|
|
1200
1190
|
"jurisdiction": "intl",
|
|
1201
1191
|
"cite": "30(d)",
|
|
1202
1192
|
"when": {
|
|
@@ -1206,18 +1196,18 @@
|
|
|
1206
1196
|
"rel:conditional_includes": [
|
|
1207
1197
|
{
|
|
1208
1198
|
"one_of": [
|
|
1209
|
-
"30a",
|
|
1210
|
-
"30b"
|
|
1199
|
+
"rule:30a",
|
|
1200
|
+
"rule:30b"
|
|
1211
1201
|
]
|
|
1212
1202
|
}
|
|
1213
1203
|
],
|
|
1214
|
-
"modality": "shall",
|
|
1204
|
+
"modality": "modality:shall",
|
|
1215
1205
|
"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."
|
|
1216
1206
|
},
|
|
1217
1207
|
{
|
|
1218
|
-
"id": "
|
|
1208
|
+
"id": "rule:30d_i",
|
|
1219
1209
|
"jurisdiction": "intl",
|
|
1220
|
-
"cite": "30(d)",
|
|
1210
|
+
"cite": "30(d)(i)",
|
|
1221
1211
|
"when": {
|
|
1222
1212
|
"fact:position": "position:aground",
|
|
1223
1213
|
"fact:length_m": {
|
|
@@ -1232,14 +1222,14 @@
|
|
|
1232
1222
|
"arrangement": "vertical"
|
|
1233
1223
|
}
|
|
1234
1224
|
],
|
|
1235
|
-
"modality": "shall-if-practicable",
|
|
1225
|
+
"modality": "modality:shall-if-practicable",
|
|
1236
1226
|
"images": [
|
|
1237
1227
|
"NRHB_30_dii.png"
|
|
1238
1228
|
],
|
|
1239
|
-
"notes": "The two red lights are 'shall, if practicable'. 30(f) exempts vessels under 12 m from them; it does not exempt the 30(a)/(b) anchor lights, see 30d
|
|
1229
|
+
"notes": "The two red lights are 'shall, if practicable'. 30(f) exempts vessels under 12 m from them; it does not exempt the 30(a)/(b) anchor lights, see rule:30d."
|
|
1240
1230
|
},
|
|
1241
1231
|
{
|
|
1242
|
-
"id": "30e",
|
|
1232
|
+
"id": "rule:30e",
|
|
1243
1233
|
"jurisdiction": "intl",
|
|
1244
1234
|
"cite": "30(e)",
|
|
1245
1235
|
"when": {
|
|
@@ -1251,19 +1241,19 @@
|
|
|
1251
1241
|
},
|
|
1252
1242
|
"lights": [],
|
|
1253
1243
|
"rel:exempts": [
|
|
1254
|
-
"30a",
|
|
1255
|
-
"30b"
|
|
1244
|
+
"rule:30a",
|
|
1245
|
+
"rule:30b"
|
|
1256
1246
|
],
|
|
1257
|
-
"modality": "exempt"
|
|
1247
|
+
"modality": "modality:exempt"
|
|
1258
1248
|
},
|
|
1259
1249
|
{
|
|
1260
|
-
"id": "4",
|
|
1250
|
+
"id": "rule:4",
|
|
1261
1251
|
"jurisdiction": "intl",
|
|
1262
1252
|
"cite": "4",
|
|
1263
|
-
"category": "scope",
|
|
1253
|
+
"category": "category:scope",
|
|
1264
1254
|
"subjects": 2,
|
|
1265
1255
|
"when": {},
|
|
1266
|
-
"modality": "shall",
|
|
1256
|
+
"modality": "modality:shall",
|
|
1267
1257
|
"effect": {
|
|
1268
1258
|
"part": "B",
|
|
1269
1259
|
"section": "I",
|
|
@@ -1280,15 +1270,15 @@
|
|
|
1280
1270
|
"note": "Part B Section I is ungated: the predicate is empty because 'any condition of visibility' is the absence of a condition, not a fact. A scope entry is never a display entry, so an empty `when` selects no lights."
|
|
1281
1271
|
},
|
|
1282
1272
|
{
|
|
1283
|
-
"id": "11",
|
|
1273
|
+
"id": "rule:11",
|
|
1284
1274
|
"jurisdiction": "intl",
|
|
1285
1275
|
"cite": "11",
|
|
1286
|
-
"category": "scope",
|
|
1276
|
+
"category": "category:scope",
|
|
1287
1277
|
"subjects": 2,
|
|
1288
1278
|
"when": {
|
|
1289
1279
|
"pair:geo:in_sight": true
|
|
1290
1280
|
},
|
|
1291
|
-
"modality": "shall",
|
|
1281
|
+
"modality": "modality:shall",
|
|
1292
1282
|
"effect": {
|
|
1293
1283
|
"part": "B",
|
|
1294
1284
|
"section": "II",
|
|
@@ -1306,15 +1296,15 @@
|
|
|
1306
1296
|
"note": "Rule 3(k)'s in-sight test is a fact of the pair, so Section II is gated on `pair:geo:in_sight` and every Rule 18 entry below repeats that gate rather than relying on the engine to apply this one."
|
|
1307
1297
|
},
|
|
1308
1298
|
{
|
|
1309
|
-
"id": "19a",
|
|
1299
|
+
"id": "rule:19a",
|
|
1310
1300
|
"jurisdiction": "intl",
|
|
1311
1301
|
"cite": "19(a)",
|
|
1312
|
-
"category": "scope",
|
|
1302
|
+
"category": "category:scope",
|
|
1313
1303
|
"subjects": 2,
|
|
1314
1304
|
"when": {
|
|
1315
1305
|
"pair:geo:in_sight": false
|
|
1316
1306
|
},
|
|
1317
|
-
"modality": "shall",
|
|
1307
|
+
"modality": "modality:shall",
|
|
1318
1308
|
"effect": {
|
|
1319
1309
|
"part": "B",
|
|
1320
1310
|
"section": "III",
|
|
@@ -1326,325 +1316,325 @@
|
|
|
1326
1316
|
"note": "The complement of 11. Rule 3(l) defines restricted visibility; nothing in facts.json carries it."
|
|
1327
1317
|
},
|
|
1328
1318
|
{
|
|
1329
|
-
"id": "
|
|
1319
|
+
"id": "rule:18a_i",
|
|
1330
1320
|
"jurisdiction": "intl",
|
|
1331
1321
|
"cite": "18(a)(i)",
|
|
1332
|
-
"category": "precedence",
|
|
1322
|
+
"category": "category:precedence",
|
|
1333
1323
|
"subjects": 2,
|
|
1334
1324
|
"when": {
|
|
1335
|
-
"
|
|
1336
|
-
"
|
|
1325
|
+
"self:fact:propulsion": "propulsion:power",
|
|
1326
|
+
"self:fact:rule18_class": {
|
|
1337
1327
|
"not": [
|
|
1338
1328
|
"rule18_class:nuc",
|
|
1339
1329
|
"rule18_class:ram",
|
|
1340
1330
|
"rule18_class:fishing"
|
|
1341
1331
|
]
|
|
1342
1332
|
},
|
|
1343
|
-
"
|
|
1333
|
+
"self:fact:position": "position:underway",
|
|
1344
1334
|
"other:fact:rule18_class": "rule18_class:nuc",
|
|
1345
1335
|
"other:fact:position": "position:underway",
|
|
1346
1336
|
"pair:geo:in_sight": true
|
|
1347
1337
|
},
|
|
1348
|
-
"modality": "shall",
|
|
1338
|
+
"modality": "modality:shall",
|
|
1349
1339
|
"effect": {
|
|
1350
|
-
"
|
|
1351
|
-
"other": "stand-on"
|
|
1340
|
+
"self": "role:give-way",
|
|
1341
|
+
"other": "role:stand-on"
|
|
1352
1342
|
},
|
|
1353
1343
|
"rel:overrides": [
|
|
1354
|
-
"15a
|
|
1344
|
+
"rule:15a:keep_out_of_the_way"
|
|
1355
1345
|
],
|
|
1356
|
-
"note": "
|
|
1346
|
+
"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."
|
|
1357
1347
|
},
|
|
1358
1348
|
{
|
|
1359
|
-
"id": "
|
|
1349
|
+
"id": "rule:18a_ii",
|
|
1360
1350
|
"jurisdiction": "intl",
|
|
1361
1351
|
"cite": "18(a)(ii)",
|
|
1362
|
-
"category": "precedence",
|
|
1352
|
+
"category": "category:precedence",
|
|
1363
1353
|
"subjects": 2,
|
|
1364
1354
|
"when": {
|
|
1365
|
-
"
|
|
1366
|
-
"
|
|
1355
|
+
"self:fact:propulsion": "propulsion:power",
|
|
1356
|
+
"self:fact:rule18_class": {
|
|
1367
1357
|
"not": [
|
|
1368
1358
|
"rule18_class:nuc",
|
|
1369
1359
|
"rule18_class:ram",
|
|
1370
1360
|
"rule18_class:fishing"
|
|
1371
1361
|
]
|
|
1372
1362
|
},
|
|
1373
|
-
"
|
|
1363
|
+
"self:fact:position": "position:underway",
|
|
1374
1364
|
"other:fact:rule18_class": "rule18_class:ram",
|
|
1375
1365
|
"other:fact:position": "position:underway",
|
|
1376
1366
|
"pair:geo:in_sight": true
|
|
1377
1367
|
},
|
|
1378
|
-
"modality": "shall",
|
|
1368
|
+
"modality": "modality:shall",
|
|
1379
1369
|
"effect": {
|
|
1380
|
-
"
|
|
1381
|
-
"other": "stand-on"
|
|
1370
|
+
"self": "role:give-way",
|
|
1371
|
+
"other": "role:stand-on"
|
|
1382
1372
|
},
|
|
1383
1373
|
"rel:overrides": [
|
|
1384
|
-
"15a
|
|
1374
|
+
"rule:15a:keep_out_of_the_way"
|
|
1385
1375
|
],
|
|
1386
|
-
"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 `15a
|
|
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): 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."
|
|
1387
1377
|
},
|
|
1388
1378
|
{
|
|
1389
|
-
"id": "
|
|
1379
|
+
"id": "rule:18a_iii",
|
|
1390
1380
|
"jurisdiction": "intl",
|
|
1391
1381
|
"cite": "18(a)(iii)",
|
|
1392
|
-
"category": "precedence",
|
|
1382
|
+
"category": "category:precedence",
|
|
1393
1383
|
"subjects": 2,
|
|
1394
1384
|
"when": {
|
|
1395
|
-
"
|
|
1396
|
-
"
|
|
1385
|
+
"self:fact:propulsion": "propulsion:power",
|
|
1386
|
+
"self:fact:rule18_class": {
|
|
1397
1387
|
"not": [
|
|
1398
1388
|
"rule18_class:nuc",
|
|
1399
1389
|
"rule18_class:ram",
|
|
1400
1390
|
"rule18_class:fishing"
|
|
1401
1391
|
]
|
|
1402
1392
|
},
|
|
1403
|
-
"
|
|
1393
|
+
"self:fact:position": "position:underway",
|
|
1404
1394
|
"other:fact:rule18_class": "rule18_class:fishing",
|
|
1405
1395
|
"other:fact:position": "position:underway",
|
|
1406
1396
|
"pair:geo:in_sight": true
|
|
1407
1397
|
},
|
|
1408
|
-
"modality": "shall",
|
|
1398
|
+
"modality": "modality:shall",
|
|
1409
1399
|
"effect": {
|
|
1410
|
-
"
|
|
1411
|
-
"other": "stand-on"
|
|
1400
|
+
"self": "role:give-way",
|
|
1401
|
+
"other": "role:stand-on"
|
|
1412
1402
|
},
|
|
1413
1403
|
"rel:overrides": [
|
|
1414
|
-
"15a
|
|
1404
|
+
"rule:15a:keep_out_of_the_way"
|
|
1415
1405
|
],
|
|
1416
|
-
"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 `15a
|
|
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): 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."
|
|
1417
1407
|
},
|
|
1418
1408
|
{
|
|
1419
|
-
"id": "
|
|
1409
|
+
"id": "rule:18a_iv",
|
|
1420
1410
|
"jurisdiction": "intl",
|
|
1421
1411
|
"cite": "18(a)(iv)",
|
|
1422
|
-
"category": "precedence",
|
|
1412
|
+
"category": "category:precedence",
|
|
1423
1413
|
"subjects": 2,
|
|
1424
1414
|
"when": {
|
|
1425
|
-
"
|
|
1426
|
-
"
|
|
1415
|
+
"self:fact:propulsion": "propulsion:power",
|
|
1416
|
+
"self:fact:rule18_class": {
|
|
1427
1417
|
"not": [
|
|
1428
1418
|
"rule18_class:nuc",
|
|
1429
1419
|
"rule18_class:ram",
|
|
1430
1420
|
"rule18_class:fishing"
|
|
1431
1421
|
]
|
|
1432
1422
|
},
|
|
1433
|
-
"
|
|
1423
|
+
"self:fact:position": "position:underway",
|
|
1434
1424
|
"other:fact:rule18_class": "rule18_class:sail",
|
|
1435
1425
|
"other:fact:position": "position:underway",
|
|
1436
1426
|
"pair:geo:in_sight": true
|
|
1437
1427
|
},
|
|
1438
|
-
"modality": "shall",
|
|
1428
|
+
"modality": "modality:shall",
|
|
1439
1429
|
"effect": {
|
|
1440
|
-
"
|
|
1441
|
-
"other": "stand-on"
|
|
1430
|
+
"self": "role:give-way",
|
|
1431
|
+
"other": "role:stand-on"
|
|
1442
1432
|
},
|
|
1443
1433
|
"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."
|
|
1444
1434
|
},
|
|
1445
1435
|
{
|
|
1446
|
-
"id": "
|
|
1436
|
+
"id": "rule:18b_i",
|
|
1447
1437
|
"jurisdiction": "intl",
|
|
1448
1438
|
"cite": "18(b)(i)",
|
|
1449
|
-
"category": "precedence",
|
|
1439
|
+
"category": "category:precedence",
|
|
1450
1440
|
"subjects": 2,
|
|
1451
1441
|
"when": {
|
|
1452
|
-
"
|
|
1453
|
-
"
|
|
1442
|
+
"self:fact:rule18_class": "rule18_class:sail",
|
|
1443
|
+
"self:fact:position": "position:underway",
|
|
1454
1444
|
"other:fact:rule18_class": "rule18_class:nuc",
|
|
1455
1445
|
"other:fact:position": "position:underway",
|
|
1456
1446
|
"pair:geo:in_sight": true
|
|
1457
1447
|
},
|
|
1458
|
-
"modality": "shall",
|
|
1448
|
+
"modality": "modality:shall",
|
|
1459
1449
|
"effect": {
|
|
1460
|
-
"
|
|
1461
|
-
"other": "stand-on"
|
|
1450
|
+
"self": "role:give-way",
|
|
1451
|
+
"other": "role:stand-on"
|
|
1462
1452
|
},
|
|
1463
1453
|
"rel:overrides": [
|
|
1464
|
-
"
|
|
1465
|
-
"
|
|
1466
|
-
"
|
|
1454
|
+
"rule:12a_i",
|
|
1455
|
+
"rule:12a_ii",
|
|
1456
|
+
"rule:12a_iii"
|
|
1467
1457
|
],
|
|
1468
|
-
"note": "
|
|
1458
|
+
"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."
|
|
1469
1459
|
},
|
|
1470
1460
|
{
|
|
1471
|
-
"id": "
|
|
1461
|
+
"id": "rule:18b_ii",
|
|
1472
1462
|
"jurisdiction": "intl",
|
|
1473
1463
|
"cite": "18(b)(ii)",
|
|
1474
|
-
"category": "precedence",
|
|
1464
|
+
"category": "category:precedence",
|
|
1475
1465
|
"subjects": 2,
|
|
1476
1466
|
"when": {
|
|
1477
|
-
"
|
|
1478
|
-
"
|
|
1467
|
+
"self:fact:rule18_class": "rule18_class:sail",
|
|
1468
|
+
"self:fact:position": "position:underway",
|
|
1479
1469
|
"other:fact:rule18_class": "rule18_class:ram",
|
|
1480
1470
|
"other:fact:position": "position:underway",
|
|
1481
1471
|
"pair:geo:in_sight": true
|
|
1482
1472
|
},
|
|
1483
|
-
"modality": "shall",
|
|
1473
|
+
"modality": "modality:shall",
|
|
1484
1474
|
"effect": {
|
|
1485
|
-
"
|
|
1486
|
-
"other": "stand-on"
|
|
1475
|
+
"self": "role:give-way",
|
|
1476
|
+
"other": "role:stand-on"
|
|
1487
1477
|
},
|
|
1488
1478
|
"rel:overrides": [
|
|
1489
|
-
"
|
|
1490
|
-
"
|
|
1491
|
-
"
|
|
1479
|
+
"rule:12a_i",
|
|
1480
|
+
"rule:12a_ii",
|
|
1481
|
+
"rule:12a_iii"
|
|
1492
1482
|
],
|
|
1493
1483
|
"note": "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."
|
|
1494
1484
|
},
|
|
1495
1485
|
{
|
|
1496
|
-
"id": "
|
|
1486
|
+
"id": "rule:18b_iii",
|
|
1497
1487
|
"jurisdiction": "intl",
|
|
1498
1488
|
"cite": "18(b)(iii)",
|
|
1499
|
-
"category": "precedence",
|
|
1489
|
+
"category": "category:precedence",
|
|
1500
1490
|
"subjects": 2,
|
|
1501
1491
|
"when": {
|
|
1502
|
-
"
|
|
1503
|
-
"
|
|
1492
|
+
"self:fact:rule18_class": "rule18_class:sail",
|
|
1493
|
+
"self:fact:position": "position:underway",
|
|
1504
1494
|
"other:fact:rule18_class": "rule18_class:fishing",
|
|
1505
1495
|
"other:fact:position": "position:underway",
|
|
1506
1496
|
"pair:geo:in_sight": true
|
|
1507
1497
|
},
|
|
1508
|
-
"modality": "shall",
|
|
1498
|
+
"modality": "modality:shall",
|
|
1509
1499
|
"effect": {
|
|
1510
|
-
"
|
|
1511
|
-
"other": "stand-on"
|
|
1500
|
+
"self": "role:give-way",
|
|
1501
|
+
"other": "role:stand-on"
|
|
1512
1502
|
},
|
|
1513
1503
|
"rel:overrides": [
|
|
1514
|
-
"
|
|
1515
|
-
"
|
|
1516
|
-
"
|
|
1504
|
+
"rule:12a_i",
|
|
1505
|
+
"rule:12a_ii",
|
|
1506
|
+
"rule:12a_iii"
|
|
1517
1507
|
],
|
|
1518
1508
|
"note": "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."
|
|
1519
1509
|
},
|
|
1520
1510
|
{
|
|
1521
|
-
"id": "
|
|
1511
|
+
"id": "rule:18c_i",
|
|
1522
1512
|
"jurisdiction": "intl",
|
|
1523
1513
|
"cite": "18(c)(i)",
|
|
1524
|
-
"category": "precedence",
|
|
1514
|
+
"category": "category:precedence",
|
|
1525
1515
|
"subjects": 2,
|
|
1526
1516
|
"when": {
|
|
1527
|
-
"
|
|
1528
|
-
"
|
|
1517
|
+
"self:fact:rule18_class": "rule18_class:fishing",
|
|
1518
|
+
"self:fact:position": "position:underway",
|
|
1529
1519
|
"other:fact:rule18_class": "rule18_class:nuc",
|
|
1530
1520
|
"other:fact:position": "position:underway",
|
|
1531
1521
|
"pair:geo:in_sight": true
|
|
1532
1522
|
},
|
|
1533
|
-
"modality": "shall-if-practicable",
|
|
1523
|
+
"modality": "modality:shall-if-practicable",
|
|
1534
1524
|
"effect": {
|
|
1535
|
-
"
|
|
1536
|
-
"other": "stand-on"
|
|
1525
|
+
"self": "role:give-way",
|
|
1526
|
+
"other": "role:stand-on"
|
|
1537
1527
|
},
|
|
1538
1528
|
"rel:overrides": [
|
|
1539
|
-
"
|
|
1540
|
-
"
|
|
1541
|
-
"
|
|
1542
|
-
"15a
|
|
1529
|
+
"rule:12a_i",
|
|
1530
|
+
"rule:12a_ii",
|
|
1531
|
+
"rule:12a_iii",
|
|
1532
|
+
"rule:15a:keep_out_of_the_way"
|
|
1543
1533
|
],
|
|
1544
|
-
"note": "'so far as possible' is the practicability qualifier, so the modality is shall-if-practicable. 18(c) does not distinguish propulsion, and `rule18_class:fishing` does not either: a fishing vessel under sail is ranked here. Overrides the three Rule 12 entries (Q-40): a vessel engaged in fishing under sail is a sailing vessel by 3(c), and if the vessel she must keep out of the way of is under sail as well, Rule 12 is in force between them; Rule 18's chapeau excepts only Rules 9, 10 and 13. It overrides `15a
|
|
1534
|
+
"note": "'so far as possible' is the practicability qualifier, so the modality is shall-if-practicable. 18(c) does not distinguish propulsion, and `rule18_class:fishing` does not either: a fishing vessel under sail is ranked here. Overrides the three Rule 12 entries (Q-40): a vessel engaged in fishing under sail is a sailing vessel by 3(c), and if the vessel she must keep out of the way of is under sail as well, Rule 12 is in force between them; Rule 18's chapeau excepts only Rules 9, 10 and 13. It overrides `rule:15a:keep_out_of_the_way` on the same ground (Q-40): a fishing vessel under power and a vessel not under command under power are two power-driven vessels by 3(b), so Rule 15 is in force between them too."
|
|
1545
1535
|
},
|
|
1546
1536
|
{
|
|
1547
|
-
"id": "
|
|
1537
|
+
"id": "rule:18c_ii",
|
|
1548
1538
|
"jurisdiction": "intl",
|
|
1549
1539
|
"cite": "18(c)(ii)",
|
|
1550
|
-
"category": "precedence",
|
|
1540
|
+
"category": "category:precedence",
|
|
1551
1541
|
"subjects": 2,
|
|
1552
1542
|
"when": {
|
|
1553
|
-
"
|
|
1554
|
-
"
|
|
1543
|
+
"self:fact:rule18_class": "rule18_class:fishing",
|
|
1544
|
+
"self:fact:position": "position:underway",
|
|
1555
1545
|
"other:fact:rule18_class": "rule18_class:ram",
|
|
1556
1546
|
"other:fact:position": "position:underway",
|
|
1557
1547
|
"pair:geo:in_sight": true
|
|
1558
1548
|
},
|
|
1559
|
-
"modality": "shall-if-practicable",
|
|
1549
|
+
"modality": "modality:shall-if-practicable",
|
|
1560
1550
|
"effect": {
|
|
1561
|
-
"
|
|
1562
|
-
"other": "stand-on"
|
|
1551
|
+
"self": "role:give-way",
|
|
1552
|
+
"other": "role:stand-on"
|
|
1563
1553
|
},
|
|
1564
1554
|
"rel:overrides": [
|
|
1565
|
-
"
|
|
1566
|
-
"
|
|
1567
|
-
"
|
|
1568
|
-
"15a
|
|
1555
|
+
"rule:12a_i",
|
|
1556
|
+
"rule:12a_ii",
|
|
1557
|
+
"rule:12a_iii",
|
|
1558
|
+
"rule:15a:keep_out_of_the_way"
|
|
1569
1559
|
],
|
|
1570
|
-
"note": "Overrides the three Rule 12 entries (Q-40): a vessel engaged in fishing under sail is a sailing vessel by 3(c), and if the vessel she must keep out of the way of is under sail as well, Rule 12 is in force between them; Rule 18's chapeau excepts only Rules 9, 10 and 13. It overrides `15a
|
|
1560
|
+
"note": "Overrides the three Rule 12 entries (Q-40): a vessel engaged in fishing under sail is a sailing vessel by 3(c), and if the vessel she must keep out of the way of is under sail as well, Rule 12 is in force between them; Rule 18's chapeau excepts only Rules 9, 10 and 13. It overrides `rule:15a:keep_out_of_the_way` on the same ground (Q-40): a fishing vessel under power and a vessel restricted in her ability to manoeuvre under power are two power-driven vessels by 3(b), so Rule 15 is in force between them too."
|
|
1571
1561
|
},
|
|
1572
1562
|
{
|
|
1573
|
-
"id": "
|
|
1563
|
+
"id": "rule:18d_i",
|
|
1574
1564
|
"jurisdiction": "intl",
|
|
1575
1565
|
"cite": "18(d)(i)",
|
|
1576
|
-
"category": "precedence",
|
|
1566
|
+
"category": "category:precedence",
|
|
1577
1567
|
"subjects": 2,
|
|
1578
1568
|
"when": {
|
|
1579
|
-
"
|
|
1569
|
+
"self:fact:rule18_class": {
|
|
1580
1570
|
"not": [
|
|
1581
1571
|
"rule18_class:nuc",
|
|
1582
1572
|
"rule18_class:ram"
|
|
1583
1573
|
]
|
|
1584
1574
|
},
|
|
1585
|
-
"
|
|
1575
|
+
"self:fact:position": "position:underway",
|
|
1586
1576
|
"other:fact:rule18_class": "rule18_class:cbd",
|
|
1587
1577
|
"other:fact:position": "position:underway",
|
|
1588
1578
|
"pair:geo:in_sight": true
|
|
1589
1579
|
},
|
|
1590
|
-
"modality": "shall-if-practicable",
|
|
1580
|
+
"modality": "modality:shall-if-practicable",
|
|
1591
1581
|
"effect": {
|
|
1592
|
-
"
|
|
1593
|
-
"other": "none"
|
|
1582
|
+
"self": "role:shall-not-impede",
|
|
1583
|
+
"other": "role:none"
|
|
1594
1584
|
},
|
|
1595
|
-
"note": "
|
|
1585
|
+
"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.",
|
|
1596
1586
|
"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."
|
|
1597
1587
|
},
|
|
1598
1588
|
{
|
|
1599
|
-
"id": "
|
|
1589
|
+
"id": "rule:18f_i",
|
|
1600
1590
|
"jurisdiction": "intl",
|
|
1601
1591
|
"cite": "18(f)(i)",
|
|
1602
|
-
"category": "precedence",
|
|
1592
|
+
"category": "category:precedence",
|
|
1603
1593
|
"subjects": 2,
|
|
1604
1594
|
"when": {
|
|
1605
|
-
"
|
|
1606
|
-
"
|
|
1595
|
+
"self:fact:rule18_class": "rule18_class:wig",
|
|
1596
|
+
"self:fact:position": "position:underway",
|
|
1607
1597
|
"other:fact:position": "position:underway",
|
|
1608
1598
|
"pair:geo:in_sight": true
|
|
1609
1599
|
},
|
|
1610
|
-
"modality": "shall",
|
|
1600
|
+
"modality": "modality:shall",
|
|
1611
1601
|
"effect": {
|
|
1612
|
-
"
|
|
1613
|
-
"other": "none"
|
|
1602
|
+
"self": "role:keep-clear",
|
|
1603
|
+
"other": "role:none"
|
|
1614
1604
|
},
|
|
1615
1605
|
"rel:overrides": [
|
|
1616
|
-
"
|
|
1617
|
-
"
|
|
1618
|
-
"
|
|
1619
|
-
"
|
|
1620
|
-
"
|
|
1621
|
-
"15a
|
|
1606
|
+
"rule:18a_i",
|
|
1607
|
+
"rule:18a_ii",
|
|
1608
|
+
"rule:18a_iii",
|
|
1609
|
+
"rule:18a_iv",
|
|
1610
|
+
"rule:18d_i",
|
|
1611
|
+
"rule:15a:keep_out_of_the_way"
|
|
1622
1612
|
],
|
|
1623
|
-
"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 `15a
|
|
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. `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."
|
|
1624
1614
|
},
|
|
1625
1615
|
{
|
|
1626
|
-
"id": "
|
|
1616
|
+
"id": "rule:8f_iii",
|
|
1627
1617
|
"jurisdiction": "intl",
|
|
1628
1618
|
"cite": "8(f)(iii)",
|
|
1629
|
-
"category": "precedence",
|
|
1619
|
+
"category": "category:precedence",
|
|
1630
1620
|
"subjects": 2,
|
|
1631
1621
|
"when": {
|
|
1632
1622
|
"pair:geo:risk_of_collision": true
|
|
1633
1623
|
},
|
|
1634
|
-
"modality": "shall",
|
|
1624
|
+
"modality": "modality:shall",
|
|
1635
1625
|
"effect": {
|
|
1636
|
-
"
|
|
1637
|
-
"other": "none"
|
|
1626
|
+
"self": "role:none",
|
|
1627
|
+
"other": "role:none"
|
|
1638
1628
|
},
|
|
1639
|
-
"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.",
|
|
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 -- `role:none` on both sides -- so that shall-not-impede is never read as conferring stand-on.",
|
|
1640
1630
|
"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.",
|
|
1641
1631
|
"no_gate_note": "No in-sight gate: Rule 4 puts Rules 4-10 in any condition of visibility."
|
|
1642
1632
|
},
|
|
1643
1633
|
{
|
|
1644
|
-
"id": "13a",
|
|
1634
|
+
"id": "rule:13a",
|
|
1645
1635
|
"jurisdiction": "intl",
|
|
1646
1636
|
"cite": "13(a)",
|
|
1647
|
-
"category": "precedence",
|
|
1637
|
+
"category": "category:precedence",
|
|
1648
1638
|
"subjects": 2,
|
|
1649
1639
|
"when": {
|
|
1650
1640
|
"pair:geo:in_sight": true,
|
|
@@ -1660,152 +1650,152 @@
|
|
|
1660
1650
|
"other:hist:was_overtaking": false
|
|
1661
1651
|
},
|
|
1662
1652
|
{
|
|
1663
|
-
"
|
|
1653
|
+
"self:hist:was_overtaking": true
|
|
1664
1654
|
}
|
|
1665
1655
|
],
|
|
1666
1656
|
"other:fact:position": "position:underway"
|
|
1667
1657
|
},
|
|
1668
|
-
"modality": "shall",
|
|
1658
|
+
"modality": "modality:shall",
|
|
1669
1659
|
"effect": {
|
|
1670
|
-
"
|
|
1671
|
-
"other": "stand-on"
|
|
1660
|
+
"self": "role:give-way",
|
|
1661
|
+
"other": "role:stand-on"
|
|
1672
1662
|
},
|
|
1673
1663
|
"rel:overrides": [
|
|
1674
|
-
"
|
|
1675
|
-
"
|
|
1676
|
-
"
|
|
1677
|
-
"
|
|
1678
|
-
"
|
|
1679
|
-
"
|
|
1680
|
-
"
|
|
1681
|
-
"
|
|
1682
|
-
"
|
|
1683
|
-
"
|
|
1684
|
-
"
|
|
1685
|
-
"
|
|
1686
|
-
"
|
|
1687
|
-
"
|
|
1688
|
-
],
|
|
1689
|
-
"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
|
|
1690
|
-
"gap": "Only
|
|
1691
|
-
},
|
|
1692
|
-
{
|
|
1693
|
-
"id": "9b",
|
|
1664
|
+
"rule:18a_i",
|
|
1665
|
+
"rule:18a_ii",
|
|
1666
|
+
"rule:18a_iii",
|
|
1667
|
+
"rule:18a_iv",
|
|
1668
|
+
"rule:18b_i",
|
|
1669
|
+
"rule:18b_ii",
|
|
1670
|
+
"rule:18b_iii",
|
|
1671
|
+
"rule:18c_i",
|
|
1672
|
+
"rule:18c_ii",
|
|
1673
|
+
"rule:18d_i",
|
|
1674
|
+
"rule:18f_i",
|
|
1675
|
+
"rule:12a_i",
|
|
1676
|
+
"rule:12a_ii",
|
|
1677
|
+
"rule:12a_iii"
|
|
1678
|
+
],
|
|
1679
|
+
"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).",
|
|
1680
|
+
"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
|
+
},
|
|
1682
|
+
{
|
|
1683
|
+
"id": "rule:9b",
|
|
1694
1684
|
"jurisdiction": "intl",
|
|
1695
1685
|
"cite": "9(b)",
|
|
1696
|
-
"category": "precedence",
|
|
1686
|
+
"category": "category:precedence",
|
|
1697
1687
|
"subjects": 2,
|
|
1698
1688
|
"when": {
|
|
1699
1689
|
"pair:env:narrow_channel": true,
|
|
1700
1690
|
"any_of": [
|
|
1701
1691
|
{
|
|
1702
|
-
"
|
|
1692
|
+
"self:fact:length_m": {
|
|
1703
1693
|
"lt": 20
|
|
1704
1694
|
}
|
|
1705
1695
|
},
|
|
1706
1696
|
{
|
|
1707
|
-
"
|
|
1697
|
+
"self:fact:propulsion": "propulsion:sail"
|
|
1708
1698
|
}
|
|
1709
1699
|
],
|
|
1710
|
-
"
|
|
1700
|
+
"self:fact:position": "position:underway",
|
|
1711
1701
|
"other:fact:position": "position:underway",
|
|
1712
1702
|
"other:fact:confined_to_channel": true
|
|
1713
1703
|
},
|
|
1714
|
-
"modality": "shall-not-impede",
|
|
1704
|
+
"modality": "modality:shall-not-impede",
|
|
1715
1705
|
"effect": {
|
|
1716
|
-
"
|
|
1717
|
-
"other": "none"
|
|
1706
|
+
"self": "role:shall-not-impede",
|
|
1707
|
+
"other": "role:none"
|
|
1718
1708
|
},
|
|
1719
1709
|
"rel:overrides": [
|
|
1720
|
-
"
|
|
1710
|
+
"rule:18a_iv"
|
|
1721
1711
|
],
|
|
1722
1712
|
"note": "9(b)'s subject is disjunctive -- 'a vessel of less than 20 metres in length or a sailing vessel' -- and used to take two entries, `9b-small` and `9b-sail`, because a `when` was a conjunction. `any_of` is that disjunction (Q-33), so the paragraph is one entry again and the entry id is the plain citation-derived one. The two suffixed ids are retired and not reused (REQ-MODEL-10). The gate is `fact:propulsion` and not `rule18_class:sail`: 9(b)'s subject is a sailing vessel in the ordinary sense and 9(c) covers fishing vessels separately, so borrowing Rule 18's rank here would quietly move a fishing vessel under sail from one paragraph to the other. `other:fact:confined_to_channel` closes Q-34: the entry now reads which vessel the paragraph protects instead of assuming it from the encounter being in a channel at all."
|
|
1723
1713
|
},
|
|
1724
1714
|
{
|
|
1725
|
-
"id": "9c",
|
|
1715
|
+
"id": "rule:9c",
|
|
1726
1716
|
"jurisdiction": "intl",
|
|
1727
1717
|
"cite": "9(c)",
|
|
1728
|
-
"category": "precedence",
|
|
1718
|
+
"category": "category:precedence",
|
|
1729
1719
|
"subjects": 2,
|
|
1730
1720
|
"when": {
|
|
1731
1721
|
"pair:env:narrow_channel": true,
|
|
1732
|
-
"
|
|
1733
|
-
"
|
|
1722
|
+
"self:fact:rule18_class": "rule18_class:fishing",
|
|
1723
|
+
"self:fact:position": "position:underway",
|
|
1734
1724
|
"other:fact:position": "position:underway"
|
|
1735
1725
|
},
|
|
1736
|
-
"modality": "shall-not-impede",
|
|
1726
|
+
"modality": "modality:shall-not-impede",
|
|
1737
1727
|
"effect": {
|
|
1738
|
-
"
|
|
1739
|
-
"other": "none"
|
|
1728
|
+
"self": "role:shall-not-impede",
|
|
1729
|
+
"other": "role:none"
|
|
1740
1730
|
},
|
|
1741
1731
|
"rel:overrides": [
|
|
1742
|
-
"
|
|
1743
|
-
"
|
|
1732
|
+
"rule:18a_iii",
|
|
1733
|
+
"rule:18b_iii"
|
|
1744
1734
|
],
|
|
1745
1735
|
"note": "Reverses 18(a)(iii) and 18(b)(iii) inside a narrow channel: 9(c)'s object is 'any other vessel navigating within a narrow channel or fairway', so unlike 9(b) it needs no further fact about the other vessel."
|
|
1746
1736
|
},
|
|
1747
1737
|
{
|
|
1748
|
-
"id": "10i",
|
|
1738
|
+
"id": "rule:10i",
|
|
1749
1739
|
"jurisdiction": "intl",
|
|
1750
1740
|
"cite": "10(i)",
|
|
1751
|
-
"category": "precedence",
|
|
1741
|
+
"category": "category:precedence",
|
|
1752
1742
|
"subjects": 2,
|
|
1753
1743
|
"when": {
|
|
1754
1744
|
"pair:env:traffic_lane": true,
|
|
1755
|
-
"
|
|
1756
|
-
"
|
|
1745
|
+
"self:fact:rule18_class": "rule18_class:fishing",
|
|
1746
|
+
"self:fact:position": "position:underway",
|
|
1757
1747
|
"other:fact:position": "position:underway",
|
|
1758
1748
|
"other:fact:following_traffic_lane": true
|
|
1759
1749
|
},
|
|
1760
|
-
"modality": "shall-not-impede",
|
|
1750
|
+
"modality": "modality:shall-not-impede",
|
|
1761
1751
|
"effect": {
|
|
1762
|
-
"
|
|
1763
|
-
"other": "none"
|
|
1752
|
+
"self": "role:shall-not-impede",
|
|
1753
|
+
"other": "role:none"
|
|
1764
1754
|
},
|
|
1765
1755
|
"rel:overrides": [
|
|
1766
|
-
"
|
|
1767
|
-
"
|
|
1756
|
+
"rule:18a_iii",
|
|
1757
|
+
"rule:18b_iii"
|
|
1768
1758
|
],
|
|
1769
1759
|
"note": "`other:fact:following_traffic_lane` closes Q-34: the entry now reads which vessel the paragraph protects instead of assuming it from the encounter being in a lane at all."
|
|
1770
1760
|
},
|
|
1771
1761
|
{
|
|
1772
|
-
"id": "10j",
|
|
1762
|
+
"id": "rule:10j",
|
|
1773
1763
|
"jurisdiction": "intl",
|
|
1774
1764
|
"cite": "10(j)",
|
|
1775
|
-
"category": "precedence",
|
|
1765
|
+
"category": "category:precedence",
|
|
1776
1766
|
"subjects": 2,
|
|
1777
1767
|
"when": {
|
|
1778
1768
|
"pair:env:traffic_lane": true,
|
|
1779
1769
|
"any_of": [
|
|
1780
1770
|
{
|
|
1781
|
-
"
|
|
1771
|
+
"self:fact:length_m": {
|
|
1782
1772
|
"lt": 20
|
|
1783
1773
|
}
|
|
1784
1774
|
},
|
|
1785
1775
|
{
|
|
1786
|
-
"
|
|
1776
|
+
"self:fact:propulsion": "propulsion:sail"
|
|
1787
1777
|
}
|
|
1788
1778
|
],
|
|
1789
|
-
"
|
|
1779
|
+
"self:fact:position": "position:underway",
|
|
1790
1780
|
"other:fact:propulsion": "propulsion:power",
|
|
1791
1781
|
"other:fact:position": "position:underway",
|
|
1792
1782
|
"other:fact:following_traffic_lane": true
|
|
1793
1783
|
},
|
|
1794
|
-
"modality": "shall-not-impede",
|
|
1784
|
+
"modality": "modality:shall-not-impede",
|
|
1795
1785
|
"effect": {
|
|
1796
|
-
"
|
|
1797
|
-
"other": "none"
|
|
1786
|
+
"self": "role:shall-not-impede",
|
|
1787
|
+
"other": "role:none"
|
|
1798
1788
|
},
|
|
1799
1789
|
"rel:overrides": [
|
|
1800
|
-
"
|
|
1790
|
+
"rule:18a_iv"
|
|
1801
1791
|
],
|
|
1802
|
-
"note": "The same collapse as 9b, and the same disjunctive subject. 10(j)'s object is narrower than 9(b)'s -- a power-driven vessel -- so `other:fact:propulsion` is read. `10j-small` and `10j-sail` are retired and not reused. `other:fact:following_traffic_lane` closes Q-34, same as 10i."
|
|
1792
|
+
"note": "The same collapse as rule:9b, and the same disjunctive subject. 10(j)'s object is narrower than 9(b)'s -- a power-driven vessel -- so `other:fact:propulsion` is read. `10j-small` and `10j-sail` are retired and not reused. `other:fact:following_traffic_lane` closes Q-34, same as rule:10i."
|
|
1803
1793
|
},
|
|
1804
1794
|
{
|
|
1805
|
-
"id": "
|
|
1795
|
+
"id": "rule:7d_i",
|
|
1806
1796
|
"jurisdiction": "intl",
|
|
1807
1797
|
"cite": "7(d)(i)",
|
|
1808
|
-
"category": "classification",
|
|
1798
|
+
"category": "category:classification",
|
|
1809
1799
|
"subjects": 2,
|
|
1810
1800
|
"when": {
|
|
1811
1801
|
"pair:geo:bearing_change_deg_min": {
|
|
@@ -1816,7 +1806,7 @@
|
|
|
1816
1806
|
"gt": 0
|
|
1817
1807
|
}
|
|
1818
1808
|
},
|
|
1819
|
-
"modality": "shall",
|
|
1809
|
+
"modality": "modality:shall",
|
|
1820
1810
|
"effect": {
|
|
1821
1811
|
"risk_of_collision": true
|
|
1822
1812
|
},
|
|
@@ -1825,176 +1815,161 @@
|
|
|
1825
1815
|
"no_gate_note": "No in-sight gate: Rule 4 puts Rules 4-10 in any condition of visibility."
|
|
1826
1816
|
},
|
|
1827
1817
|
{
|
|
1828
|
-
"id": "
|
|
1818
|
+
"id": "rule:12a_i",
|
|
1829
1819
|
"jurisdiction": "intl",
|
|
1830
1820
|
"cite": "12(a)(i)",
|
|
1831
|
-
"category": "precedence",
|
|
1821
|
+
"category": "category:precedence",
|
|
1832
1822
|
"subjects": 2,
|
|
1833
1823
|
"when": {
|
|
1834
1824
|
"pair:geo:in_sight": true,
|
|
1835
1825
|
"pair:geo:risk_of_collision": true,
|
|
1836
|
-
"
|
|
1826
|
+
"self:fact:propulsion": "propulsion:sail",
|
|
1837
1827
|
"other:fact:propulsion": "propulsion:sail",
|
|
1838
|
-
"
|
|
1828
|
+
"self:fact:position": "position:underway",
|
|
1839
1829
|
"other:fact:position": "position:underway",
|
|
1840
|
-
"
|
|
1830
|
+
"self:kin:wind_side": "wind_side:port",
|
|
1841
1831
|
"other:kin:wind_side": "wind_side:starboard"
|
|
1842
1832
|
},
|
|
1843
|
-
"modality": "shall",
|
|
1833
|
+
"modality": "modality:shall",
|
|
1844
1834
|
"effect": {
|
|
1845
|
-
"
|
|
1846
|
-
"other": "stand-on"
|
|
1835
|
+
"self": "role:give-way",
|
|
1836
|
+
"other": "role:stand-on"
|
|
1847
1837
|
},
|
|
1848
|
-
"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
|
|
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 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."
|
|
1849
1839
|
},
|
|
1850
1840
|
{
|
|
1851
|
-
"id": "
|
|
1841
|
+
"id": "rule:12a_ii",
|
|
1852
1842
|
"jurisdiction": "intl",
|
|
1853
1843
|
"cite": "12(a)(ii)",
|
|
1854
|
-
"category": "precedence",
|
|
1844
|
+
"category": "category:precedence",
|
|
1855
1845
|
"subjects": 2,
|
|
1856
1846
|
"when": {
|
|
1857
1847
|
"pair:geo:in_sight": true,
|
|
1858
1848
|
"pair:geo:risk_of_collision": true,
|
|
1859
|
-
"
|
|
1849
|
+
"self:fact:propulsion": "propulsion:sail",
|
|
1860
1850
|
"other:fact:propulsion": "propulsion:sail",
|
|
1861
|
-
"
|
|
1851
|
+
"self:fact:position": "position:underway",
|
|
1862
1852
|
"other:fact:position": "position:underway",
|
|
1863
|
-
"
|
|
1853
|
+
"self:geo:windward": true,
|
|
1864
1854
|
"any_of": [
|
|
1865
1855
|
{
|
|
1866
|
-
"
|
|
1856
|
+
"self:kin:wind_side": "wind_side:port",
|
|
1867
1857
|
"other:kin:wind_side": "wind_side:port"
|
|
1868
1858
|
},
|
|
1869
1859
|
{
|
|
1870
|
-
"
|
|
1860
|
+
"self:kin:wind_side": "wind_side:starboard",
|
|
1871
1861
|
"other:kin:wind_side": "wind_side:starboard"
|
|
1872
1862
|
}
|
|
1873
1863
|
]
|
|
1874
1864
|
},
|
|
1875
|
-
"modality": "shall",
|
|
1865
|
+
"modality": "modality:shall",
|
|
1876
1866
|
"effect": {
|
|
1877
|
-
"
|
|
1878
|
-
"other": "stand-on"
|
|
1867
|
+
"self": "role:give-way",
|
|
1868
|
+
"other": "role:stand-on"
|
|
1879
1869
|
},
|
|
1880
1870
|
"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."
|
|
1881
1871
|
},
|
|
1882
1872
|
{
|
|
1883
|
-
"id": "
|
|
1873
|
+
"id": "rule:12a_iii",
|
|
1884
1874
|
"jurisdiction": "intl",
|
|
1885
1875
|
"cite": "12(a)(iii)",
|
|
1886
|
-
"category": "precedence",
|
|
1876
|
+
"category": "category:precedence",
|
|
1887
1877
|
"subjects": 2,
|
|
1888
1878
|
"when": {
|
|
1889
1879
|
"pair:geo:in_sight": true,
|
|
1890
1880
|
"pair:geo:risk_of_collision": true,
|
|
1891
|
-
"
|
|
1881
|
+
"self:fact:propulsion": "propulsion:sail",
|
|
1892
1882
|
"other:fact:propulsion": "propulsion:sail",
|
|
1893
|
-
"
|
|
1883
|
+
"self:fact:position": "position:underway",
|
|
1894
1884
|
"other:fact:position": "position:underway",
|
|
1895
|
-
"
|
|
1885
|
+
"self:kin:wind_side": "wind_side:port",
|
|
1896
1886
|
"other:kin:wind_side": "wind_side:unknown",
|
|
1897
1887
|
"other:geo:windward": true
|
|
1898
1888
|
},
|
|
1899
|
-
"modality": "shall",
|
|
1889
|
+
"modality": "modality:shall",
|
|
1900
1890
|
"effect": {
|
|
1901
|
-
"
|
|
1902
|
-
"other": "stand-on"
|
|
1891
|
+
"self": "role:give-way",
|
|
1892
|
+
"other": "role:stand-on"
|
|
1903
1893
|
},
|
|
1904
|
-
"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
|
|
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 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."
|
|
1905
1895
|
},
|
|
1906
1896
|
{
|
|
1907
|
-
"id": "13b
|
|
1897
|
+
"id": "rule:13b",
|
|
1908
1898
|
"jurisdiction": "intl",
|
|
1909
1899
|
"cite": "13(b)",
|
|
1910
|
-
"category": "classification",
|
|
1900
|
+
"category": "category:classification",
|
|
1911
1901
|
"subjects": 2,
|
|
1912
1902
|
"when": {
|
|
1913
1903
|
"pair:geo:in_sight": true,
|
|
1914
|
-
"
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
"note": "own is the overtaking vessel: own bears in the other's stern sector. 13(b) is the deeming paragraph and therefore the classification, which is the half of Q-37 PR #24 left open. It is written twice, once per subject, because the encounter type is a property of the pair and not of one vessel: a vessel being overtaken is in an overtaking, and reading only `other:geo:rel_bearing_deg` would have classified her side of the same encounter as a crossing. Which vessel carries the duty is 13(a)'s question, not this one's.",
|
|
1929
|
-
"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 for it: 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, and is classified as an overtaking. Q-46."
|
|
1930
|
-
},
|
|
1931
|
-
{
|
|
1932
|
-
"id": "13b-overtaken",
|
|
1933
|
-
"jurisdiction": "intl",
|
|
1934
|
-
"cite": "13(b)",
|
|
1935
|
-
"category": "classification",
|
|
1936
|
-
"subjects": 2,
|
|
1937
|
-
"when": {
|
|
1938
|
-
"pair:geo:in_sight": true,
|
|
1939
|
-
"own:geo:rel_bearing_deg": {
|
|
1940
|
-
"gt": 112.5,
|
|
1941
|
-
"lt": 247.5
|
|
1942
|
-
},
|
|
1904
|
+
"any_of": [
|
|
1905
|
+
{
|
|
1906
|
+
"other:geo:rel_bearing_deg": {
|
|
1907
|
+
"gt": 112.5,
|
|
1908
|
+
"lt": 247.5
|
|
1909
|
+
}
|
|
1910
|
+
},
|
|
1911
|
+
{
|
|
1912
|
+
"self:geo:rel_bearing_deg": {
|
|
1913
|
+
"gt": 112.5,
|
|
1914
|
+
"lt": 247.5
|
|
1915
|
+
}
|
|
1916
|
+
}
|
|
1917
|
+
],
|
|
1943
1918
|
"pair:geo:tcpa_s": {
|
|
1944
1919
|
"gt": 0
|
|
1945
1920
|
},
|
|
1946
|
-
"
|
|
1921
|
+
"self:fact:position": "position:underway",
|
|
1947
1922
|
"other:fact:position": "position:underway"
|
|
1948
1923
|
},
|
|
1949
|
-
"modality": "shall",
|
|
1924
|
+
"modality": "modality:shall",
|
|
1950
1925
|
"effect": {
|
|
1951
|
-
"encounter": "overtaking"
|
|
1926
|
+
"encounter": "encounter:overtaking"
|
|
1952
1927
|
},
|
|
1953
|
-
"note": "
|
|
1954
|
-
"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
|
|
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` -- 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
|
+
"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."
|
|
1955
1930
|
},
|
|
1956
1931
|
{
|
|
1957
|
-
"id": "13d",
|
|
1932
|
+
"id": "rule:13d",
|
|
1958
1933
|
"jurisdiction": "intl",
|
|
1959
1934
|
"cite": "13(d)",
|
|
1960
|
-
"category": "classification",
|
|
1935
|
+
"category": "category:classification",
|
|
1961
1936
|
"subjects": 2,
|
|
1962
1937
|
"when": {
|
|
1963
1938
|
"pair:geo:in_sight": true,
|
|
1964
1939
|
"any_of": [
|
|
1965
1940
|
{
|
|
1966
|
-
"
|
|
1941
|
+
"self:hist:was_overtaking": true
|
|
1967
1942
|
},
|
|
1968
1943
|
{
|
|
1969
1944
|
"other:hist:was_overtaking": true
|
|
1970
1945
|
}
|
|
1971
1946
|
],
|
|
1972
|
-
"
|
|
1947
|
+
"self:fact:position": "position:underway",
|
|
1973
1948
|
"other:fact:position": "position:underway"
|
|
1974
1949
|
},
|
|
1975
|
-
"modality": "shall",
|
|
1950
|
+
"modality": "modality:shall",
|
|
1976
1951
|
"effect": {
|
|
1977
|
-
"encounter": "overtaking"
|
|
1952
|
+
"encounter": "encounter:overtaking"
|
|
1978
1953
|
},
|
|
1979
|
-
"note": "
|
|
1980
|
-
"gap": "'Until she is finally past and clear' is the paragraph's
|
|
1954
|
+
"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).",
|
|
1955
|
+
"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."
|
|
1981
1956
|
},
|
|
1982
1957
|
{
|
|
1983
|
-
"id": "14b",
|
|
1958
|
+
"id": "rule:14b",
|
|
1984
1959
|
"jurisdiction": "intl",
|
|
1985
1960
|
"cite": "14(b)",
|
|
1986
|
-
"category": "classification",
|
|
1961
|
+
"category": "category:classification",
|
|
1987
1962
|
"subjects": 2,
|
|
1988
1963
|
"when": {
|
|
1989
1964
|
"pair:geo:in_sight": true,
|
|
1990
1965
|
"pair:geo:risk_of_collision": true,
|
|
1991
|
-
"
|
|
1966
|
+
"self:fact:propulsion": "propulsion:power",
|
|
1992
1967
|
"other:fact:propulsion": "propulsion:power",
|
|
1993
|
-
"
|
|
1968
|
+
"self:fact:position": "position:underway",
|
|
1994
1969
|
"other:fact:position": "position:underway",
|
|
1995
|
-
"
|
|
1970
|
+
"self:hist:was_overtaking": false,
|
|
1996
1971
|
"other:hist:was_overtaking": false,
|
|
1997
|
-
"
|
|
1972
|
+
"self:geo:rel_bearing_deg": {
|
|
1998
1973
|
"any_of": [
|
|
1999
1974
|
{
|
|
2000
1975
|
"lte": 11.25
|
|
@@ -2015,29 +1990,29 @@
|
|
|
2015
1990
|
]
|
|
2016
1991
|
}
|
|
2017
1992
|
},
|
|
2018
|
-
"modality": "shall",
|
|
1993
|
+
"modality": "modality:shall",
|
|
2019
1994
|
"effect": {
|
|
2020
|
-
"encounter": "head-on"
|
|
1995
|
+
"encounter": "encounter:head-on"
|
|
2021
1996
|
},
|
|
2022
|
-
"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 13b
|
|
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 `category:conduct`, is not modelled, and is in known_omissions. Q-45.",
|
|
2023
1998
|
"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."
|
|
2024
1999
|
},
|
|
2025
2000
|
{
|
|
2026
|
-
"id": "15a
|
|
2001
|
+
"id": "rule:15a:crossing",
|
|
2027
2002
|
"jurisdiction": "intl",
|
|
2028
2003
|
"cite": "15(a)",
|
|
2029
|
-
"category": "classification",
|
|
2004
|
+
"category": "category:classification",
|
|
2030
2005
|
"subjects": 2,
|
|
2031
2006
|
"when": {
|
|
2032
2007
|
"pair:geo:in_sight": true,
|
|
2033
2008
|
"pair:geo:risk_of_collision": true,
|
|
2034
|
-
"
|
|
2009
|
+
"self:fact:propulsion": "propulsion:power",
|
|
2035
2010
|
"other:fact:propulsion": "propulsion:power",
|
|
2036
|
-
"
|
|
2011
|
+
"self:fact:position": "position:underway",
|
|
2037
2012
|
"other:fact:position": "position:underway",
|
|
2038
|
-
"
|
|
2013
|
+
"self:hist:was_overtaking": false,
|
|
2039
2014
|
"other:hist:was_overtaking": false,
|
|
2040
|
-
"
|
|
2015
|
+
"self:geo:rel_bearing_deg": {
|
|
2041
2016
|
"not": {
|
|
2042
2017
|
"gt": 112.5,
|
|
2043
2018
|
"lt": 247.5
|
|
@@ -2051,7 +2026,7 @@
|
|
|
2051
2026
|
},
|
|
2052
2027
|
"any_of": [
|
|
2053
2028
|
{
|
|
2054
|
-
"
|
|
2029
|
+
"self:geo:rel_bearing_deg": {
|
|
2055
2030
|
"not": {
|
|
2056
2031
|
"any_of": [
|
|
2057
2032
|
{
|
|
@@ -2080,29 +2055,29 @@
|
|
|
2080
2055
|
}
|
|
2081
2056
|
]
|
|
2082
2057
|
},
|
|
2083
|
-
"modality": "shall",
|
|
2058
|
+
"modality": "modality:shall",
|
|
2084
2059
|
"effect": {
|
|
2085
|
-
"encounter": "crossing"
|
|
2060
|
+
"encounter": "encounter:crossing"
|
|
2086
2061
|
},
|
|
2087
|
-
"note": "The residual, and derived rather than written as its own sector. Not overtaking is `not` over the very constraint 13b
|
|
2088
|
-
"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. `15a
|
|
2062
|
+
"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
|
+
"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."
|
|
2089
2064
|
},
|
|
2090
2065
|
{
|
|
2091
|
-
"id": "15a
|
|
2066
|
+
"id": "rule:15a:keep_out_of_the_way",
|
|
2092
2067
|
"jurisdiction": "intl",
|
|
2093
2068
|
"cite": "15(a)",
|
|
2094
|
-
"category": "precedence",
|
|
2069
|
+
"category": "category:precedence",
|
|
2095
2070
|
"subjects": 2,
|
|
2096
2071
|
"when": {
|
|
2097
2072
|
"pair:geo:in_sight": true,
|
|
2098
2073
|
"pair:geo:risk_of_collision": true,
|
|
2099
|
-
"
|
|
2074
|
+
"self:fact:propulsion": "propulsion:power",
|
|
2100
2075
|
"other:fact:propulsion": "propulsion:power",
|
|
2101
|
-
"
|
|
2076
|
+
"self:fact:position": "position:underway",
|
|
2102
2077
|
"other:fact:position": "position:underway",
|
|
2103
|
-
"
|
|
2078
|
+
"self:hist:was_overtaking": false,
|
|
2104
2079
|
"other:hist:was_overtaking": false,
|
|
2105
|
-
"
|
|
2080
|
+
"self:geo:rel_bearing_deg": {
|
|
2106
2081
|
"gt": 0,
|
|
2107
2082
|
"lte": 112.5
|
|
2108
2083
|
},
|
|
@@ -2114,7 +2089,7 @@
|
|
|
2114
2089
|
},
|
|
2115
2090
|
"any_of": [
|
|
2116
2091
|
{
|
|
2117
|
-
"
|
|
2092
|
+
"self:geo:rel_bearing_deg": {
|
|
2118
2093
|
"not": {
|
|
2119
2094
|
"any_of": [
|
|
2120
2095
|
{
|
|
@@ -2143,16 +2118,16 @@
|
|
|
2143
2118
|
}
|
|
2144
2119
|
]
|
|
2145
2120
|
},
|
|
2146
|
-
"modality": "shall",
|
|
2121
|
+
"modality": "modality:shall",
|
|
2147
2122
|
"effect": {
|
|
2148
|
-
"
|
|
2149
|
-
"other": "stand-on"
|
|
2123
|
+
"self": "role:give-way",
|
|
2124
|
+
"other": "role:stand-on"
|
|
2150
2125
|
},
|
|
2151
|
-
"note": "The role half of 15(a): the vessel which has the other on her own starboard side keeps out of the way.
|
|
2152
|
-
"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."
|
|
2126
|
+
"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.",
|
|
2127
|
+
"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."
|
|
2153
2128
|
},
|
|
2154
2129
|
{
|
|
2155
|
-
"id": "30a
|
|
2130
|
+
"id": "rule:30a:mooring_buoy",
|
|
2156
2131
|
"jurisdiction": "us/inland",
|
|
2157
2132
|
"cite": "30(a)",
|
|
2158
2133
|
"when": {
|
|
@@ -2173,11 +2148,11 @@
|
|
|
2173
2148
|
"position": "at or near the stern, at a lower level than the fore one"
|
|
2174
2149
|
}
|
|
2175
2150
|
],
|
|
2176
|
-
"modality": "shall",
|
|
2151
|
+
"modality": "modality:shall",
|
|
2177
2152
|
"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."
|
|
2178
2153
|
},
|
|
2179
2154
|
{
|
|
2180
|
-
"id": "30b
|
|
2155
|
+
"id": "rule:30b:mooring_buoy",
|
|
2181
2156
|
"jurisdiction": "us/inland",
|
|
2182
2157
|
"cite": "30(b)",
|
|
2183
2158
|
"when": {
|
|
@@ -2196,10 +2171,10 @@
|
|
|
2196
2171
|
}
|
|
2197
2172
|
],
|
|
2198
2173
|
"rel:in_lieu_of": [
|
|
2199
|
-
"30a
|
|
2174
|
+
"rule:30a:mooring_buoy"
|
|
2200
2175
|
],
|
|
2201
|
-
"modality": "may",
|
|
2202
|
-
"note": "The under-50 m alternative, on the same 33 CFR 90.5 deeming that brings 30a
|
|
2176
|
+
"modality": "modality:may",
|
|
2177
|
+
"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."
|
|
2203
2178
|
}
|
|
2204
2179
|
]
|
|
2205
2180
|
}
|