hecks 3.13.0 → 3.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/examples/pizzas/bluebook/pizzas.bluebook +4 -4
- data/lib/hecks/bluebook/dsl/attribute_collector.rb +15 -5
- data/lib/hecks/bluebook/named_pattern.rb +33 -0
- data/lib/hecks/bluebook.rb +1 -0
- data/lib/hecks/cli/domain_stub.rb +1 -1
- data/lib/hecks/cli/interview_aggregate.rb +4 -4
- data/lib/hecks/deploy/bluebook/deploy.bluebook +34 -34
- data/lib/hecks/framework/bluebook/change.bluebook +2 -2
- data/lib/hecks/fuzzing/domain_generator/block_rendering.rb +1 -1
- data/lib/hecks/hecks/codebase.bluebook +37 -37
- data/lib/hecks/hecks/custodian.bluebook +14 -14
- data/lib/hecks/hecks/hecks.bluebook +2 -2
- data/lib/hecks/hecks/rehearsal.bluebook +3 -3
- data/lib/hecks/hecks/tooling.bluebook +22 -22
- data/lib/hecks/language/bluebook/aggregate.bluebook +1 -0
- data/lib/hecks/language/bluebook/command.bluebook +1 -0
- data/lib/hecks/language/bluebook/entity.bluebook +1 -0
- data/lib/hecks/language/bluebook/query.bluebook +1 -0
- data/lib/hecks/language/bluebook/shape.bluebook +8 -7
- data/lib/hecks/language/hecksagon/port_operation.bluebook +1 -0
- data/lib/hecks/quality_control/quality_control.bluebook +51 -51
- data/lib/hecks/site/bluebook/site.bluebook +5 -5
- data/lib/hecks/sme/bluebook/sme.bluebook +12 -12
- data/lib/hecks/tickets/bluebook/tickets.bluebook +3 -3
- data/lib/hecks/version.rb +1 -1
- data/prebuilt/{2b59737fbdbd5f44edda0fddce2611f45d76087b3a7c782d1f1a17ea58c77948.marshal → 1a6f596be124228be93eba1d86dbc9d2933190fa389b284331241cb9f27115a0.marshal} +0 -0
- data/prebuilt/{58208399bada10b0db99928c48e38789288fc58f7b71a72b21bfa386680e32ed.marshal → a883a7e568667aa5ac904c82daff356bdf9e996252a36af6def4a4a43efb967e.marshal} +0 -0
- data/prebuilt/verdicts-872993b1aa26d73fe48f28251374b8585fed145d02aab42be0f00de386b6ff80.json +1 -0
- data/rust/host/HECKS_RELEASE +1 -1
- data/rust/host/src/payments/roles.rs +159 -0
- data/rust/host/src/payments/tests.rs +25 -0
- data/rust/host/src/payments.rs +20 -11
- data/rust/parser/src/build/mod.rs +1 -0
- data/rust/parser/src/build/named_pattern.rs +23 -0
- data/rust/parser/src/keywords.rs +6 -0
- data/rust/parser/src/parse/mod.rs +22 -1
- metadata +7 -4
- data/prebuilt/verdicts-48318ca172edd21443b1ad02801c697fff100b746e828f09db987647641a5df2.json +0 -1
|
@@ -38,13 +38,13 @@ Hecks.bluebook "Hecks" do
|
|
|
38
38
|
identified_by :run
|
|
39
39
|
|
|
40
40
|
value_object "RunKey" do
|
|
41
|
-
attribute :value, String,
|
|
41
|
+
attribute :value, String, matches: :present
|
|
42
42
|
|
|
43
43
|
invariant("a run is named") { !value.to_s.empty? }
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
value_object "Operation" do
|
|
47
|
-
attribute :value, String,
|
|
47
|
+
attribute :value, String, matches: :present
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
value_object "Switch" do
|
|
@@ -57,7 +57,7 @@ Hecks.bluebook "Hecks" do
|
|
|
57
57
|
|
|
58
58
|
# A keyword of the language, or the keyword an argument belongs to.
|
|
59
59
|
value_object "Word" do
|
|
60
|
-
attribute :value, String,
|
|
60
|
+
attribute :value, String, matches: :present
|
|
61
61
|
|
|
62
62
|
invariant("a word is named") { !value.to_s.empty? }
|
|
63
63
|
end
|
|
@@ -94,7 +94,7 @@ Hecks.bluebook "Hecks" do
|
|
|
94
94
|
|
|
95
95
|
# How a pairs argument is read, such as verbatim.
|
|
96
96
|
value_object "Shape" do
|
|
97
|
-
attribute :value, String,
|
|
97
|
+
attribute :value, String, matches: :present
|
|
98
98
|
end
|
|
99
99
|
|
|
100
100
|
lifecycle :status, default: "requested" do
|
|
@@ -641,13 +641,13 @@ Hecks.bluebook "Hecks" do
|
|
|
641
641
|
identified_by :run
|
|
642
642
|
|
|
643
643
|
value_object "RunKey" do
|
|
644
|
-
attribute :value, String,
|
|
644
|
+
attribute :value, String, matches: :present
|
|
645
645
|
|
|
646
646
|
invariant("a run is named") { !value.to_s.empty? }
|
|
647
647
|
end
|
|
648
648
|
|
|
649
649
|
value_object "Operation" do
|
|
650
|
-
attribute :value, String,
|
|
650
|
+
attribute :value, String, matches: :present
|
|
651
651
|
end
|
|
652
652
|
|
|
653
653
|
value_object "Switch" do
|
|
@@ -796,13 +796,13 @@ Hecks.bluebook "Hecks" do
|
|
|
796
796
|
identified_by :run
|
|
797
797
|
|
|
798
798
|
value_object "RunKey" do
|
|
799
|
-
attribute :value, String,
|
|
799
|
+
attribute :value, String, matches: :present
|
|
800
800
|
|
|
801
801
|
invariant("a run is named") { !value.to_s.empty? }
|
|
802
802
|
end
|
|
803
803
|
|
|
804
804
|
value_object "Operation" do
|
|
805
|
-
attribute :value, String,
|
|
805
|
+
attribute :value, String, matches: :present
|
|
806
806
|
end
|
|
807
807
|
|
|
808
808
|
value_object "Switch" do
|
|
@@ -971,13 +971,13 @@ Hecks.bluebook "Hecks" do
|
|
|
971
971
|
identified_by :run
|
|
972
972
|
|
|
973
973
|
value_object "RunKey" do
|
|
974
|
-
attribute :value, String,
|
|
974
|
+
attribute :value, String, matches: :present
|
|
975
975
|
|
|
976
976
|
invariant("a run is named") { !value.to_s.empty? }
|
|
977
977
|
end
|
|
978
978
|
|
|
979
979
|
value_object "Operation" do
|
|
980
|
-
attribute :value, String,
|
|
980
|
+
attribute :value, String, matches: :present
|
|
981
981
|
end
|
|
982
982
|
|
|
983
983
|
value_object "Switch" do
|
|
@@ -990,7 +990,7 @@ Hecks.bluebook "Hecks" do
|
|
|
990
990
|
|
|
991
991
|
# A `CiGate` row of the Vocabulary chapter, by name.
|
|
992
992
|
value_object "GateName" do
|
|
993
|
-
attribute :value, String,
|
|
993
|
+
attribute :value, String, matches: :present
|
|
994
994
|
end
|
|
995
995
|
|
|
996
996
|
lifecycle :status, default: "requested" do
|
|
@@ -1201,17 +1201,17 @@ Hecks.bluebook "Hecks" do
|
|
|
1201
1201
|
identified_by :run
|
|
1202
1202
|
|
|
1203
1203
|
value_object "RunKey" do
|
|
1204
|
-
attribute :value, String,
|
|
1204
|
+
attribute :value, String, matches: :present
|
|
1205
1205
|
|
|
1206
1206
|
invariant("a run is named") { !value.to_s.empty? }
|
|
1207
1207
|
end
|
|
1208
1208
|
|
|
1209
1209
|
value_object "Operation" do
|
|
1210
|
-
attribute :value, String,
|
|
1210
|
+
attribute :value, String, matches: :present
|
|
1211
1211
|
end
|
|
1212
1212
|
|
|
1213
1213
|
value_object "Stage" do
|
|
1214
|
-
attribute :value, String,
|
|
1214
|
+
attribute :value, String, matches: :snake_name
|
|
1215
1215
|
|
|
1216
1216
|
invariant("a stage is named") { !value.to_s.empty? }
|
|
1217
1217
|
end
|
|
@@ -1355,13 +1355,13 @@ Hecks.bluebook "Hecks" do
|
|
|
1355
1355
|
identified_by :run
|
|
1356
1356
|
|
|
1357
1357
|
value_object "RunKey" do
|
|
1358
|
-
attribute :value, String,
|
|
1358
|
+
attribute :value, String, matches: :present
|
|
1359
1359
|
|
|
1360
1360
|
invariant("a run is named") { !value.to_s.empty? }
|
|
1361
1361
|
end
|
|
1362
1362
|
|
|
1363
1363
|
value_object "Operation" do
|
|
1364
|
-
attribute :value, String,
|
|
1364
|
+
attribute :value, String, matches: :present
|
|
1365
1365
|
end
|
|
1366
1366
|
|
|
1367
1367
|
value_object "Switch" do
|
|
@@ -1391,12 +1391,12 @@ Hecks.bluebook "Hecks" do
|
|
|
1391
1391
|
|
|
1392
1392
|
# A revision a code comparison is made against.
|
|
1393
1393
|
value_object "Ref" do
|
|
1394
|
-
attribute :value, String,
|
|
1394
|
+
attribute :value, String, matches: :no_whitespace
|
|
1395
1395
|
end
|
|
1396
1396
|
|
|
1397
1397
|
# A JSON file.
|
|
1398
1398
|
value_object "FilePath" do
|
|
1399
|
-
attribute :value, String,
|
|
1399
|
+
attribute :value, String, matches: :not_empty
|
|
1400
1400
|
|
|
1401
1401
|
invariant("a file is named") { !value.to_s.empty? }
|
|
1402
1402
|
end
|
|
@@ -1676,13 +1676,13 @@ Hecks.bluebook "Hecks" do
|
|
|
1676
1676
|
identified_by :run
|
|
1677
1677
|
|
|
1678
1678
|
value_object "RunKey" do
|
|
1679
|
-
attribute :value, String,
|
|
1679
|
+
attribute :value, String, matches: :present
|
|
1680
1680
|
|
|
1681
1681
|
invariant("a run is named") { !value.to_s.empty? }
|
|
1682
1682
|
end
|
|
1683
1683
|
|
|
1684
1684
|
value_object "Operation" do
|
|
1685
|
-
attribute :value, String,
|
|
1685
|
+
attribute :value, String, matches: :present
|
|
1686
1686
|
end
|
|
1687
1687
|
|
|
1688
1688
|
value_object "Switch" do
|
|
@@ -1891,13 +1891,13 @@ Hecks.bluebook "Hecks" do
|
|
|
1891
1891
|
identified_by :run
|
|
1892
1892
|
|
|
1893
1893
|
value_object "RunKey" do
|
|
1894
|
-
attribute :value, String,
|
|
1894
|
+
attribute :value, String, matches: :present
|
|
1895
1895
|
|
|
1896
1896
|
invariant("a run is named") { !value.to_s.empty? }
|
|
1897
1897
|
end
|
|
1898
1898
|
|
|
1899
1899
|
value_object "Operation" do
|
|
1900
|
-
attribute :value, String,
|
|
1900
|
+
attribute :value, String, matches: :present
|
|
1901
1901
|
end
|
|
1902
1902
|
|
|
1903
1903
|
value_object "Switch" do
|
|
@@ -2064,13 +2064,13 @@ Hecks.bluebook "Hecks" do
|
|
|
2064
2064
|
identified_by :run
|
|
2065
2065
|
|
|
2066
2066
|
value_object "RunKey" do
|
|
2067
|
-
attribute :value, String,
|
|
2067
|
+
attribute :value, String, matches: :present
|
|
2068
2068
|
|
|
2069
2069
|
invariant("a run is named") { !value.to_s.empty? }
|
|
2070
2070
|
end
|
|
2071
2071
|
|
|
2072
2072
|
value_object "Operation" do
|
|
2073
|
-
attribute :value, String,
|
|
2073
|
+
attribute :value, String, matches: :present
|
|
2074
2074
|
end
|
|
2075
2075
|
|
|
2076
2076
|
value_object "Switch" do
|
|
@@ -2090,19 +2090,19 @@ Hecks.bluebook "Hecks" do
|
|
|
2090
2090
|
|
|
2091
2091
|
# A CI run's number.
|
|
2092
2092
|
value_object "RunId" do
|
|
2093
|
-
attribute :value, String,
|
|
2093
|
+
attribute :value, String, matches: :digits
|
|
2094
2094
|
end
|
|
2095
2095
|
|
|
2096
2096
|
# A file, relative to the checkout or absolute.
|
|
2097
2097
|
value_object "FilePath" do
|
|
2098
|
-
attribute :value, String,
|
|
2098
|
+
attribute :value, String, matches: :not_empty
|
|
2099
2099
|
|
|
2100
2100
|
invariant("a file is named") { !value.to_s.empty? }
|
|
2101
2101
|
end
|
|
2102
2102
|
|
|
2103
2103
|
# Part of an example's description.
|
|
2104
2104
|
value_object "ExampleText" do
|
|
2105
|
-
attribute :value, String,
|
|
2105
|
+
attribute :value, String, matches: :not_empty
|
|
2106
2106
|
|
|
2107
2107
|
invariant("an example is named") { !value.to_s.empty? }
|
|
2108
2108
|
end
|
|
@@ -2114,7 +2114,7 @@ Hecks.bluebook "Hecks" do
|
|
|
2114
2114
|
|
|
2115
2115
|
# A regular expression naming the specs to leave out.
|
|
2116
2116
|
value_object "ExcludePattern" do
|
|
2117
|
-
attribute :value, String,
|
|
2117
|
+
attribute :value, String, matches: :not_empty
|
|
2118
2118
|
end
|
|
2119
2119
|
|
|
2120
2120
|
# The tag filter, as the test runner spells it.
|
|
@@ -2390,13 +2390,13 @@ Hecks.bluebook "Hecks" do
|
|
|
2390
2390
|
identified_by :run
|
|
2391
2391
|
|
|
2392
2392
|
value_object "RunKey" do
|
|
2393
|
-
attribute :value, String,
|
|
2393
|
+
attribute :value, String, matches: :present
|
|
2394
2394
|
|
|
2395
2395
|
invariant("a run is named") { !value.to_s.empty? }
|
|
2396
2396
|
end
|
|
2397
2397
|
|
|
2398
2398
|
value_object "Operation" do
|
|
2399
|
-
attribute :value, String,
|
|
2399
|
+
attribute :value, String, matches: :present
|
|
2400
2400
|
end
|
|
2401
2401
|
|
|
2402
2402
|
value_object "Switch" do
|
|
@@ -2424,7 +2424,7 @@ Hecks.bluebook "Hecks" do
|
|
|
2424
2424
|
|
|
2425
2425
|
# The name of one field of a construct.
|
|
2426
2426
|
value_object "FieldName" do
|
|
2427
|
-
attribute :value, String,
|
|
2427
|
+
attribute :value, String, matches: :snake_name
|
|
2428
2428
|
end
|
|
2429
2429
|
|
|
2430
2430
|
# A local port a server listens on.
|
|
@@ -2633,13 +2633,13 @@ Hecks.bluebook "Hecks" do
|
|
|
2633
2633
|
identified_by :run
|
|
2634
2634
|
|
|
2635
2635
|
value_object "RunKey" do
|
|
2636
|
-
attribute :value, String,
|
|
2636
|
+
attribute :value, String, matches: :present
|
|
2637
2637
|
|
|
2638
2638
|
invariant("a run is named") { !value.to_s.empty? }
|
|
2639
2639
|
end
|
|
2640
2640
|
|
|
2641
2641
|
value_object "Operation" do
|
|
2642
|
-
attribute :value, String,
|
|
2642
|
+
attribute :value, String, matches: :present
|
|
2643
2643
|
end
|
|
2644
2644
|
|
|
2645
2645
|
value_object "Switch" do
|
|
@@ -2652,7 +2652,7 @@ Hecks.bluebook "Hecks" do
|
|
|
2652
2652
|
|
|
2653
2653
|
# One word of a fact: a branch, a commit, whether a tag stands.
|
|
2654
2654
|
value_object "Word" do
|
|
2655
|
-
attribute :value, String,
|
|
2655
|
+
attribute :value, String, matches: :present
|
|
2656
2656
|
end
|
|
2657
2657
|
|
|
2658
2658
|
value_object "Version" do
|
|
@@ -2968,13 +2968,13 @@ Hecks.bluebook "Hecks" do
|
|
|
2968
2968
|
identified_by :run
|
|
2969
2969
|
|
|
2970
2970
|
value_object "RunKey" do
|
|
2971
|
-
attribute :value, String,
|
|
2971
|
+
attribute :value, String, matches: :present
|
|
2972
2972
|
|
|
2973
2973
|
invariant("a run is named") { !value.to_s.empty? }
|
|
2974
2974
|
end
|
|
2975
2975
|
|
|
2976
2976
|
value_object "Operation" do
|
|
2977
|
-
attribute :value, String,
|
|
2977
|
+
attribute :value, String, matches: :present
|
|
2978
2978
|
end
|
|
2979
2979
|
|
|
2980
2980
|
value_object "Switch" do
|
|
@@ -2987,7 +2987,7 @@ Hecks.bluebook "Hecks" do
|
|
|
2987
2987
|
|
|
2988
2988
|
# A branch name, or a commit.
|
|
2989
2989
|
value_object "Word" do
|
|
2990
|
-
attribute :value, String,
|
|
2990
|
+
attribute :value, String, matches: :present
|
|
2991
2991
|
end
|
|
2992
2992
|
|
|
2993
2993
|
# How long a lane has stood behind the lane it follows, or how long its row lets it.
|
|
@@ -27,14 +27,14 @@ Hecks.bluebook "Hecks" do
|
|
|
27
27
|
identified_by :run
|
|
28
28
|
|
|
29
29
|
value_object "OperationKey" do
|
|
30
|
-
attribute :value, String,
|
|
30
|
+
attribute :value, String, matches: :present
|
|
31
31
|
|
|
32
32
|
invariant("an operation is named") { !value.to_s.empty? }
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
# What the operation acts on: a domain directory, or a behaviors file or directory.
|
|
36
36
|
value_object "Subject" do
|
|
37
|
-
attribute :value, String,
|
|
37
|
+
attribute :value, String, matches: :not_empty
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
value_object "Script" do
|
|
@@ -42,7 +42,7 @@ Hecks.bluebook "Hecks" do
|
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
value_object "Verb" do
|
|
45
|
-
attribute :value, String,
|
|
45
|
+
attribute :value, String, matches: :present
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
# One `name=value` word of the verb a run dispatches.
|
|
@@ -59,7 +59,7 @@ Hecks.bluebook "Hecks" do
|
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
value_object "HeaderName" do
|
|
62
|
-
attribute :value, String,
|
|
62
|
+
attribute :value, String, matches: :present
|
|
63
63
|
end
|
|
64
64
|
|
|
65
65
|
value_object "Scheme" do
|
|
@@ -71,7 +71,7 @@ Hecks.bluebook "Hecks" do
|
|
|
71
71
|
end
|
|
72
72
|
|
|
73
73
|
value_object "PayloadFile" do
|
|
74
|
-
attribute :value, String,
|
|
74
|
+
attribute :value, String, matches: :not_empty
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
value_object "Output" do
|
|
@@ -84,11 +84,11 @@ Hecks.bluebook "Hecks" do
|
|
|
84
84
|
end
|
|
85
85
|
|
|
86
86
|
value_object "PersonName" do
|
|
87
|
-
attribute :value, String,
|
|
87
|
+
attribute :value, String, matches: :not_empty
|
|
88
88
|
end
|
|
89
89
|
|
|
90
90
|
value_object "RoleName" do
|
|
91
|
-
attribute :value, String,
|
|
91
|
+
attribute :value, String, matches: :no_whitespace
|
|
92
92
|
end
|
|
93
93
|
|
|
94
94
|
lifecycle :status, default: "requested" do
|
|
@@ -361,7 +361,7 @@ Hecks.bluebook "Hecks" do
|
|
|
361
361
|
|
|
362
362
|
# The file listing the eras that should be running, one per line.
|
|
363
363
|
value_object "ExpectedFile" do
|
|
364
|
-
attribute :value, String,
|
|
364
|
+
attribute :value, String, matches: :not_empty
|
|
365
365
|
end
|
|
366
366
|
|
|
367
367
|
value_object "Seconds" do
|
|
@@ -371,7 +371,7 @@ Hecks.bluebook "Hecks" do
|
|
|
371
371
|
end
|
|
372
372
|
|
|
373
373
|
value_object "EraId" do
|
|
374
|
-
attribute :value, String,
|
|
374
|
+
attribute :value, String, matches: :present
|
|
375
375
|
end
|
|
376
376
|
|
|
377
377
|
value_object "VersionText" do
|
|
@@ -546,14 +546,14 @@ policy "RecordTheEra" do
|
|
|
546
546
|
identified_by :run
|
|
547
547
|
|
|
548
548
|
value_object "RunKey" do
|
|
549
|
-
attribute :value, String,
|
|
549
|
+
attribute :value, String, matches: :present
|
|
550
550
|
|
|
551
551
|
invariant("a change is named") { !value.to_s.empty? }
|
|
552
552
|
end
|
|
553
553
|
|
|
554
554
|
# The domain whose journal is changed: its directory.
|
|
555
555
|
value_object "DomainPath" do
|
|
556
|
-
attribute :value, String,
|
|
556
|
+
attribute :value, String, matches: :not_empty
|
|
557
557
|
end
|
|
558
558
|
|
|
559
559
|
value_object "OperationName" do
|
|
@@ -574,7 +574,7 @@ policy "RecordTheEra" do
|
|
|
574
574
|
|
|
575
575
|
# Aggregate names, comma separated; every aggregate that keeps a journal when absent.
|
|
576
576
|
value_object "AggregateList" do
|
|
577
|
-
attribute :value, String,
|
|
577
|
+
attribute :value, String, matches: :not_empty
|
|
578
578
|
end
|
|
579
579
|
|
|
580
580
|
value_object "Switch" do
|
|
@@ -588,11 +588,11 @@ policy "RecordTheEra" do
|
|
|
588
588
|
# The rehearsal a compute or rekey edge is approved on: the snapshot it ran against, the host
|
|
589
589
|
# that ran it, whether it passed, and when.
|
|
590
590
|
value_object "Snapshot" do
|
|
591
|
-
attribute :value, String,
|
|
591
|
+
attribute :value, String, matches: :not_empty
|
|
592
592
|
end
|
|
593
593
|
|
|
594
594
|
value_object "HostVersion" do
|
|
595
|
-
attribute :value, String,
|
|
595
|
+
attribute :value, String, matches: :present
|
|
596
596
|
end
|
|
597
597
|
|
|
598
598
|
value_object "Verdict" do
|
|
@@ -14,7 +14,7 @@ Hecks.bluebook "Hecks" do
|
|
|
14
14
|
identified_by :version
|
|
15
15
|
|
|
16
16
|
value_object "FindingKey" do
|
|
17
|
-
attribute :value, String,
|
|
17
|
+
attribute :value, String, matches: :present
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
value_object "Version" do
|
|
@@ -94,7 +94,7 @@ Hecks.bluebook "Hecks" do
|
|
|
94
94
|
identified_by :digest
|
|
95
95
|
|
|
96
96
|
value_object "Digest" do
|
|
97
|
-
attribute :value, String,
|
|
97
|
+
attribute :value, String, matches: :present
|
|
98
98
|
|
|
99
99
|
invariant("a digest is present") { !value.to_s.empty? }
|
|
100
100
|
end
|
|
@@ -53,14 +53,14 @@ Hecks.bluebook "Hecks" do
|
|
|
53
53
|
identified_by :run
|
|
54
54
|
|
|
55
55
|
value_object "RunKey" do
|
|
56
|
-
attribute :value, String,
|
|
56
|
+
attribute :value, String, matches: :present
|
|
57
57
|
|
|
58
58
|
invariant("a rehearsal is named") { !value.to_s.empty? }
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
# The domain's directory: where its bluebooks and its `.world` stand.
|
|
62
62
|
value_object "DomainPath" do
|
|
63
|
-
attribute :value, String,
|
|
63
|
+
attribute :value, String, matches: :not_empty
|
|
64
64
|
end
|
|
65
65
|
|
|
66
66
|
# The Hecks the rehearsal must run on: a release (`3.9.0`) or a commit, whole or a prefix.
|
|
@@ -69,7 +69,7 @@ Hecks.bluebook "Hecks" do
|
|
|
69
69
|
end
|
|
70
70
|
|
|
71
71
|
value_object "HostVersion" do
|
|
72
|
-
attribute :value, String,
|
|
72
|
+
attribute :value, String, matches: :present
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
# Which strategy the subject's world named for the copy of its data.
|
|
@@ -10,19 +10,19 @@ Hecks.bluebook "Hecks" do
|
|
|
10
10
|
identified_by :domain
|
|
11
11
|
|
|
12
12
|
value_object "DomainPath" do
|
|
13
|
-
attribute :value, String,
|
|
13
|
+
attribute :value, String, matches: :not_empty
|
|
14
14
|
|
|
15
15
|
invariant("a domain is named by its path") { !value.to_s.empty? }
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
value_object "ChapterName" do
|
|
19
|
-
attribute :value, String,
|
|
19
|
+
attribute :value, String, matches: :present
|
|
20
20
|
|
|
21
21
|
invariant("a chapter is named") { !value.to_s.empty? }
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
value_object "AggregateName" do
|
|
25
|
-
attribute :value, String,
|
|
25
|
+
attribute :value, String, matches: :present
|
|
26
26
|
|
|
27
27
|
invariant("an aggregate is named") { !value.to_s.empty? }
|
|
28
28
|
end
|
|
@@ -128,13 +128,13 @@ Hecks.bluebook "Hecks" do
|
|
|
128
128
|
identified_by :run
|
|
129
129
|
|
|
130
130
|
value_object "RunKey" do
|
|
131
|
-
attribute :value, String,
|
|
131
|
+
attribute :value, String, matches: :present
|
|
132
132
|
|
|
133
133
|
invariant("a run is named") { !value.to_s.empty? }
|
|
134
134
|
end
|
|
135
135
|
|
|
136
136
|
value_object "DomainList" do
|
|
137
|
-
attribute :value, String,
|
|
137
|
+
attribute :value, String, matches: :not_empty
|
|
138
138
|
end
|
|
139
139
|
|
|
140
140
|
value_object "ProfileName" do
|
|
@@ -254,7 +254,7 @@ Hecks.bluebook "Hecks" do
|
|
|
254
254
|
|
|
255
255
|
# A directory: the source repository (`from`), or the project the files land in (`root`).
|
|
256
256
|
value_object "Location" do
|
|
257
|
-
attribute :value, String,
|
|
257
|
+
attribute :value, String, matches: :not_empty
|
|
258
258
|
end
|
|
259
259
|
|
|
260
260
|
value_object "Report" do
|
|
@@ -383,18 +383,18 @@ Hecks.bluebook "Hecks" do
|
|
|
383
383
|
identified_by :run
|
|
384
384
|
|
|
385
385
|
value_object "RegistryKey" do
|
|
386
|
-
attribute :value, String,
|
|
386
|
+
attribute :value, String, matches: :present
|
|
387
387
|
|
|
388
388
|
invariant("a release is named") { !value.to_s.empty? }
|
|
389
389
|
end
|
|
390
390
|
|
|
391
391
|
value_object "PackageName" do
|
|
392
|
-
attribute :value, String,
|
|
392
|
+
attribute :value, String, matches: :snake_name
|
|
393
393
|
end
|
|
394
394
|
|
|
395
395
|
# The registry repository: the current directory when absent.
|
|
396
396
|
value_object "Location" do
|
|
397
|
-
attribute :value, String,
|
|
397
|
+
attribute :value, String, matches: :not_empty
|
|
398
398
|
end
|
|
399
399
|
|
|
400
400
|
value_object "Report" do
|
|
@@ -520,14 +520,14 @@ Hecks.bluebook "Hecks" do
|
|
|
520
520
|
identified_by :run
|
|
521
521
|
|
|
522
522
|
value_object "LaunchKey" do
|
|
523
|
-
attribute :value, String,
|
|
523
|
+
attribute :value, String, matches: :present
|
|
524
524
|
|
|
525
525
|
invariant("a launch is named") { !value.to_s.empty? }
|
|
526
526
|
end
|
|
527
527
|
|
|
528
528
|
# Domain directories under the project, comma separated.
|
|
529
529
|
value_object "DomainList" do
|
|
530
|
-
attribute :value, String,
|
|
530
|
+
attribute :value, String, matches: :not_empty
|
|
531
531
|
end
|
|
532
532
|
|
|
533
533
|
value_object "Switch" do
|
|
@@ -546,12 +546,12 @@ Hecks.bluebook "Hecks" do
|
|
|
546
546
|
|
|
547
547
|
# Where the new domain goes; the domain's snake-cased name under the current directory when absent.
|
|
548
548
|
value_object "TargetDir" do
|
|
549
|
-
attribute :value, String,
|
|
549
|
+
attribute :value, String, matches: :not_empty
|
|
550
550
|
end
|
|
551
551
|
|
|
552
552
|
# Who is interviewed; asked for at the terminal when absent.
|
|
553
553
|
value_object "ExpertName" do
|
|
554
|
-
attribute :value, String,
|
|
554
|
+
attribute :value, String, matches: :not_empty
|
|
555
555
|
end
|
|
556
556
|
|
|
557
557
|
value_object "Note" do
|
|
@@ -724,7 +724,7 @@ Hecks.bluebook "Hecks" do
|
|
|
724
724
|
identified_by :run
|
|
725
725
|
|
|
726
726
|
value_object "BuildKey" do
|
|
727
|
-
attribute :value, String,
|
|
727
|
+
attribute :value, String, matches: :present
|
|
728
728
|
|
|
729
729
|
invariant("a build is named") { !value.to_s.empty? }
|
|
730
730
|
end
|
|
@@ -737,18 +737,18 @@ Hecks.bluebook "Hecks" do
|
|
|
737
737
|
|
|
738
738
|
# A generated module: the directory name a domain was built as.
|
|
739
739
|
value_object "ModuleName" do
|
|
740
|
-
attribute :value, String,
|
|
740
|
+
attribute :value, String, matches: :snake_name
|
|
741
741
|
end
|
|
742
742
|
|
|
743
743
|
# A JSON file of steps for a domain to replay.
|
|
744
744
|
value_object "ScriptPath" do
|
|
745
|
-
attribute :value, String,
|
|
745
|
+
attribute :value, String, matches: :not_empty
|
|
746
746
|
end
|
|
747
747
|
|
|
748
748
|
# What a build is replayed through: `native`, `build` (the domain's own feature), a `.wasm`
|
|
749
749
|
# module, or a binary.
|
|
750
750
|
value_object "Artifact" do
|
|
751
|
-
attribute :value, String,
|
|
751
|
+
attribute :value, String, matches: :present
|
|
752
752
|
end
|
|
753
753
|
|
|
754
754
|
# A Rust target triple: `<arch>-<vendor>-<os>` with an optional `-<env>`. The toolchain
|
|
@@ -759,7 +759,7 @@ Hecks.bluebook "Hecks" do
|
|
|
759
759
|
|
|
760
760
|
# The directory a host build stages its files in.
|
|
761
761
|
value_object "StagePath" do
|
|
762
|
-
attribute :value, String,
|
|
762
|
+
attribute :value, String, matches: :not_empty
|
|
763
763
|
end
|
|
764
764
|
|
|
765
765
|
value_object "Count" do
|
|
@@ -1014,14 +1014,14 @@ Hecks.bluebook "Hecks" do
|
|
|
1014
1014
|
identified_by :run
|
|
1015
1015
|
|
|
1016
1016
|
value_object "FuzzKey" do
|
|
1017
|
-
attribute :value, String,
|
|
1017
|
+
attribute :value, String, matches: :present
|
|
1018
1018
|
|
|
1019
1019
|
invariant("a sweep is named") { !value.to_s.empty? }
|
|
1020
1020
|
end
|
|
1021
1021
|
|
|
1022
1022
|
# A domain directory; a sweep with none covers every domain of a hecks checkout.
|
|
1023
1023
|
value_object "DomainPath" do
|
|
1024
|
-
attribute :value, String,
|
|
1024
|
+
attribute :value, String, matches: :not_empty
|
|
1025
1025
|
|
|
1026
1026
|
invariant("a domain is named by its path") { !value.to_s.empty? }
|
|
1027
1027
|
end
|
|
@@ -1054,7 +1054,7 @@ Hecks.bluebook "Hecks" do
|
|
|
1054
1054
|
end
|
|
1055
1055
|
|
|
1056
1056
|
value_object "BinaryPath" do
|
|
1057
|
-
attribute :value, String,
|
|
1057
|
+
attribute :value, String, matches: :not_empty
|
|
1058
1058
|
end
|
|
1059
1059
|
|
|
1060
1060
|
value_object "Format" do
|
|
@@ -1062,7 +1062,7 @@ Hecks.bluebook "Hecks" do
|
|
|
1062
1062
|
end
|
|
1063
1063
|
|
|
1064
1064
|
value_object "OutputPath" do
|
|
1065
|
-
attribute :value, String,
|
|
1065
|
+
attribute :value, String, matches: :not_empty
|
|
1066
1066
|
end
|
|
1067
1067
|
|
|
1068
1068
|
value_object "Report" do
|
|
@@ -440,6 +440,7 @@ Hecks.bluebook "Bluebook" do
|
|
|
440
440
|
member keyword: "attribute", context: "Aggregate", at: "", named: "default", kind: "literal", required: "false", fills: "default"
|
|
441
441
|
member keyword: "attribute", context: "Aggregate", at: "", named: "optional", kind: "flag", required: "false", fills: "optional"
|
|
442
442
|
member keyword: "attribute", context: "Aggregate", at: "", named: "pattern", kind: "text", required: "false", fills: "pattern"
|
|
443
|
+
member keyword: "attribute", context: "Aggregate", at: "", named: "matches", kind: "symbol", required: "false", fills: "matches"
|
|
443
444
|
member keyword: "attribute", context: "Aggregate", at: "", named: "admits", kind: "text", required: "false", fills: "admits"
|
|
444
445
|
member keyword: "attribute", context: "Aggregate", at: "", named: "one_of", kind: "list", required: "false", fills: "one_of"
|
|
445
446
|
member keyword: "invariant", context: "Aggregate", at: "1", named: "", kind: "text", required: "true", fills: "description"
|
|
@@ -368,6 +368,7 @@ Hecks.bluebook "Bluebook" do
|
|
|
368
368
|
member keyword: "attribute", context: "Command", at: "", named: "default", kind: "literal", required: "false", fills: "default"
|
|
369
369
|
member keyword: "attribute", context: "Command", at: "", named: "optional", kind: "flag", required: "false", fills: "optional"
|
|
370
370
|
member keyword: "attribute", context: "Command", at: "", named: "pattern", kind: "text", required: "false", fills: "pattern"
|
|
371
|
+
member keyword: "attribute", context: "Command", at: "", named: "matches", kind: "symbol", required: "false", fills: "matches"
|
|
371
372
|
member keyword: "attribute", context: "Command", at: "", named: "admits", kind: "text", required: "false", fills: "admits"
|
|
372
373
|
member keyword: "attribute", context: "Command", at: "", named: "one_of", kind: "list", required: "false", fills: "one_of"
|
|
373
374
|
# `reason` is required in practice; CommandBuilder#corrects_impl refuses its absence.
|
|
@@ -319,6 +319,7 @@ Hecks.bluebook "Bluebook" do
|
|
|
319
319
|
member keyword: "attribute", context: "Entity", at: "", named: "default", kind: "literal", required: "false", fills: "default"
|
|
320
320
|
member keyword: "attribute", context: "Entity", at: "", named: "optional", kind: "flag", required: "false", fills: "optional"
|
|
321
321
|
member keyword: "attribute", context: "Entity", at: "", named: "pattern", kind: "text", required: "false", fills: "pattern"
|
|
322
|
+
member keyword: "attribute", context: "Entity", at: "", named: "matches", kind: "symbol", required: "false", fills: "matches"
|
|
322
323
|
member keyword: "attribute", context: "Entity", at: "", named: "admits", kind: "text", required: "false", fills: "admits"
|
|
323
324
|
member keyword: "attribute", context: "Entity", at: "", named: "one_of", kind: "list", required: "false", fills: "one_of"
|
|
324
325
|
member keyword: "reference_to", context: "Entity", at: "1", named: "", kind: "constant", required: "true", fills: "type"
|
|
@@ -229,6 +229,7 @@ Hecks.bluebook "Bluebook" do
|
|
|
229
229
|
member keyword: "attribute", context: "Query", at: "", named: "default", kind: "literal", required: "false", fills: "default"
|
|
230
230
|
member keyword: "attribute", context: "Query", at: "", named: "optional", kind: "flag", required: "false", fills: "optional"
|
|
231
231
|
member keyword: "attribute", context: "Query", at: "", named: "pattern", kind: "text", required: "false", fills: "pattern"
|
|
232
|
+
member keyword: "attribute", context: "Query", at: "", named: "matches", kind: "symbol", required: "false", fills: "matches"
|
|
232
233
|
member keyword: "attribute", context: "Query", at: "", named: "admits", kind: "text", required: "false", fills: "admits"
|
|
233
234
|
member keyword: "attribute", context: "Query", at: "", named: "one_of", kind: "list", required: "false", fills: "one_of"
|
|
234
235
|
member keyword: "reference_to", context: "Query", at: "1", named: "", kind: "constant", required: "true", fills: "type"
|