colregs 0.3.0 → 0.3.1

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.
Files changed (39) hide show
  1. package/README.md +8 -6
  2. package/data/applicability.json +219 -244
  3. package/data/facts.json +4 -4
  4. package/data/geometry.json +8 -8
  5. package/data/i18n/en.json +27 -0
  6. package/data/i18n/fi.json +25 -0
  7. package/data/images.json +32 -32
  8. package/data/operations.json +79 -0
  9. package/data/rules.json +5 -0
  10. package/data/version.json +1 -1
  11. package/docs/adr/0006-json-schema-and-identifier-diff.md +2 -0
  12. package/docs/adr/0011-api-shape.md +1 -1
  13. package/docs/adr/0014-engine-interface-owned-by-colregs.md +103 -0
  14. package/docs/adr/0015-rule-ids-are-paragraph-keys.md +191 -0
  15. package/docs/budgets.json +5 -15
  16. package/docs/identifiers.md +49 -51
  17. package/docs/maritime-sources.md +58 -0
  18. package/docs/normative-language.md +103 -0
  19. package/docs/part-b-invariants.md +31 -29
  20. package/docs/requirements.md +80 -71
  21. package/fixtures/applicability-fixtures.json +190 -190
  22. package/fixtures/situation-fixtures.json +287 -287
  23. package/package.json +1 -1
  24. package/schema/applicability-fixtures.schema.json +4 -13
  25. package/schema/applicability.schema.json +27 -27
  26. package/schema/conduct-evaluation.schema.json +135 -0
  27. package/schema/display-evaluation.schema.json +146 -0
  28. package/schema/encounter-evaluation.schema.json +109 -0
  29. package/schema/evaluation.schema.json +149 -0
  30. package/schema/fact-record.schema.json +30 -0
  31. package/schema/i18n-catalog.schema.json +47 -0
  32. package/schema/operations.schema.json +124 -0
  33. package/schema/rule2-departure-finding.schema.json +72 -0
  34. package/schema/rule2-departure-model.schema.json +159 -0
  35. package/schema/situation-fixtures.schema.json +10 -146
  36. package/schema/situation.schema.json +72 -0
  37. package/schema/trace.schema.json +33 -0
  38. package/data/deprecated-identifiers.json +0 -7
  39. package/schema/deprecated-identifiers.schema.json +0 -29
package/README.md CHANGED
@@ -35,7 +35,6 @@ data/facts.json the fact record, and how to decode SignalK navigation.s
35
35
  data/applicability.json predicate -> lights, each entry also carrying modality, citation, jurisdiction
36
36
  data/geometry.json Annex I: heights, spacings, colour, intensity
37
37
  data/images.json every image, its source, and what it illustrates
38
- data/deprecated-identifiers.json retired identifiers: what they denoted, when, and their replacement
39
38
  images/ 38 USCG diagrams + 5 arc GIFs
40
39
  fixtures/ fact records and the entries that apply to them
41
40
  ```
@@ -82,13 +81,13 @@ loses.
82
81
 
83
82
  **Applicability entries.** Each is a predicate over facts, a set of lights or
84
83
  references to other entries, a modality, a citation, and a jurisdiction. Every
85
- entry has an id (`25b`, `27a-mw`) a consumer can point at.
84
+ entry has an id (`rule:25b`, `rule:27a_iii`) a consumer can point at.
86
85
 
87
- **Identifiers.** Citation-derived ids (paragraph paths, entry ids) carry no
88
- prefix, because the path *is* the citation. Vocabulary ids do:
86
+ **Identifiers.** Paragraph paths carry no prefix, because the path *is* the
87
+ citation. Every other id names its namespace: `rule:30a`,
89
88
  `light:masthead`, `fact:activity`, `activity:nuc`, `rel:in_lieu_of`. Every
90
- identifier is immutable once published; retirements go through
91
- [`data/deprecated-identifiers.json`](data/deprecated-identifiers.json). See
89
+ identifier is immutable from 1.0.0; before then it may be renamed or
90
+ discarded outright, and the deprecation registry is absent. See
92
91
  [`docs/identifiers.md`](docs/identifiers.md).
93
92
 
94
93
  ## Design
@@ -178,6 +177,9 @@ both vessels give-way.
178
177
  `fixtures/applicability-fixtures.json` and `fixtures/situation-fixtures.json`
179
178
  are the cross-implementation contract: an implementation in any language
180
179
  should reproduce those exactly.
180
+ [`data/operations.json`](data/operations.json) names the verbs an engine
181
+ implements and binds each to its input schema, its result schema and the
182
+ fixture file that exercises it ([ADR 0014](docs/adr/0014-engine-interface-owned-by-colregs.md)).
181
183
 
182
184
  ## Provenance and licence
183
185