@intentius/chant 0.124.16 → 0.124.18

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 (154) hide show
  1. package/dist/__golden__/wave-loop/fan-out-applied.json +511 -0
  2. package/dist/__golden__/wave-loop/fan-out-apply-fails.json +406 -0
  3. package/dist/__golden__/wave-loop/fan-out-gated.json +707 -0
  4. package/dist/__golden__/wave-loop/fan-out-no-members.json +898 -0
  5. package/dist/__golden__/wave-loop/fan-out-only.json +514 -0
  6. package/dist/__golden__/wave-loop/fan-out-plan-fails.json +359 -0
  7. package/dist/__golden__/wave-loop/fan-out-same-root.json +311 -0
  8. package/dist/__golden__/wave-loop/op-by-apply-after-fails.json +401 -0
  9. package/dist/__golden__/wave-loop/op-by-apply-hold.json +756 -0
  10. package/dist/__golden__/wave-loop/op-by-apply-ignored.json +340 -0
  11. package/dist/__golden__/wave-loop/op-by-apply-pass.json +400 -0
  12. package/dist/__golden__/wave-loop/op-by-apply-skip.json +404 -0
  13. package/dist/__golden__/wave-loop/op-cost-member-clash.json +62 -0
  14. package/dist/__golden__/wave-loop/op-cost-member.json +191 -0
  15. package/dist/__golden__/wave-loop/op-denied-source.json +407 -0
  16. package/dist/__golden__/wave-loop/op-denied.json +399 -0
  17. package/dist/__golden__/wave-loop/op-discover-rest-short.json +92 -0
  18. package/dist/__golden__/wave-loop/op-discover-rest-stops.json +340 -0
  19. package/dist/__golden__/wave-loop/op-discover-rest.json +659 -0
  20. package/dist/__golden__/wave-loop/op-discover-wide.json +290 -0
  21. package/dist/__golden__/wave-loop/op-held-on-again.json +176 -0
  22. package/dist/__golden__/wave-loop/op-held-on-before-apply.json +689 -0
  23. package/dist/__golden__/wave-loop/op-held-on.json +1455 -0
  24. package/dist/__golden__/wave-loop/op-hooks-apply-fails.json +673 -0
  25. package/dist/__golden__/wave-loop/op-hooks-fail-after-apply.json +737 -0
  26. package/dist/__golden__/wave-loop/op-hooks-fail-before-apply.json +450 -0
  27. package/dist/__golden__/wave-loop/op-hooks-fail-before-plan.json +97 -0
  28. package/dist/__golden__/wave-loop/op-hooks-held.json +1059 -0
  29. package/dist/__golden__/wave-loop/op-hooks-hold-before-apply.json +693 -0
  30. package/dist/__golden__/wave-loop/op-hooks-pass.json +735 -0
  31. package/dist/__golden__/wave-loop/op-hooks-refused-at-base.json +148 -0
  32. package/dist/__golden__/wave-loop/op-hooks-share.json +1225 -0
  33. package/dist/__golden__/wave-loop/op-outcome-held.json +202 -0
  34. package/dist/__golden__/wave-loop/op-outcome-replan-approved.json +286 -0
  35. package/dist/__golden__/wave-loop/op-outcome-replan-forever.json +823 -0
  36. package/dist/__golden__/wave-loop/op-outcome-replan.json +259 -0
  37. package/dist/__golden__/wave-loop/op-outcome-stood-down.json +196 -0
  38. package/dist/__golden__/wave-loop/op-outcome-unreadable.json +193 -0
  39. package/dist/__golden__/wave-loop/op-overridden.json +508 -0
  40. package/dist/__golden__/wave-loop/op-per-run.json +518 -0
  41. package/dist/__golden__/wave-loop/op-point.json +495 -0
  42. package/dist/__golden__/wave-loop/op-pr-review.json +397 -0
  43. package/dist/__golden__/wave-loop/op-sealed.json +125 -0
  44. package/dist/__golden__/wave-loop/op-spend-change-only.json +168 -0
  45. package/dist/__golden__/wave-loop/op-spend.json +328 -0
  46. package/dist/__golden__/wave-loop/op-wave-commands.json +1808 -0
  47. package/dist/__golden__/wave-loop/op-wide-refused.json +291 -0
  48. package/dist/__golden__/wave-loop/op-wide-waiting.json +231 -0
  49. package/dist/__golden__/wave-loop/op-wide.json +440 -0
  50. package/dist/cli/commands/check-lexicon-plugin.d.ts.map +1 -1
  51. package/dist/cli/commands/check-lexicon-plugin.js +2 -1
  52. package/dist/cli/commands/lint.d.ts.map +1 -1
  53. package/dist/cli/commands/lint.js +3 -2
  54. package/dist/components/discover.d.ts.map +1 -1
  55. package/dist/components/discover.js +2 -1
  56. package/dist/components/fan-out-run.d.ts +4 -3
  57. package/dist/components/fan-out-run.d.ts.map +1 -1
  58. package/dist/components/fan-out-run.js +138 -123
  59. package/dist/config-sandbox.d.ts.map +1 -1
  60. package/dist/config-sandbox.js +5 -1
  61. package/dist/discovery/import.d.ts.map +1 -1
  62. package/dist/discovery/import.js +2 -1
  63. package/dist/discovery/sandbox/driver.d.ts.map +1 -1
  64. package/dist/discovery/sandbox/driver.js +8 -3
  65. package/dist/lexicon-module.d.ts.map +1 -1
  66. package/dist/lexicon-module.js +4 -3
  67. package/dist/lint/policy-import.d.ts.map +1 -1
  68. package/dist/lint/policy-import.js +2 -1
  69. package/dist/lint/rule-loader.d.ts.map +1 -1
  70. package/dist/lint/rule-loader.js +2 -1
  71. package/dist/module-interop.d.ts +20 -0
  72. package/dist/module-interop.d.ts.map +1 -0
  73. package/dist/module-interop.js +39 -0
  74. package/dist/op/discover.d.ts.map +1 -1
  75. package/dist/op/discover.js +3 -2
  76. package/dist/op/op-waves-run.d.ts +7 -1
  77. package/dist/op/op-waves-run.d.ts.map +1 -1
  78. package/dist/op/op-waves-run.js +129 -72
  79. package/dist/wave-engine.d.ts +74 -5
  80. package/dist/wave-engine.d.ts.map +1 -1
  81. package/dist/wave-engine.js +47 -5
  82. package/dist/wave-runtime.mjs +218 -218
  83. package/dist/workspace/lineage-migrations.d.ts.map +1 -1
  84. package/dist/workspace/lineage-migrations.js +2 -1
  85. package/package.json +1 -1
  86. package/src/__golden__/wave-loop/fan-out-applied.json +511 -0
  87. package/src/__golden__/wave-loop/fan-out-apply-fails.json +406 -0
  88. package/src/__golden__/wave-loop/fan-out-gated.json +707 -0
  89. package/src/__golden__/wave-loop/fan-out-no-members.json +898 -0
  90. package/src/__golden__/wave-loop/fan-out-only.json +514 -0
  91. package/src/__golden__/wave-loop/fan-out-plan-fails.json +359 -0
  92. package/src/__golden__/wave-loop/fan-out-same-root.json +311 -0
  93. package/src/__golden__/wave-loop/op-by-apply-after-fails.json +401 -0
  94. package/src/__golden__/wave-loop/op-by-apply-hold.json +756 -0
  95. package/src/__golden__/wave-loop/op-by-apply-ignored.json +340 -0
  96. package/src/__golden__/wave-loop/op-by-apply-pass.json +400 -0
  97. package/src/__golden__/wave-loop/op-by-apply-skip.json +404 -0
  98. package/src/__golden__/wave-loop/op-cost-member-clash.json +62 -0
  99. package/src/__golden__/wave-loop/op-cost-member.json +191 -0
  100. package/src/__golden__/wave-loop/op-denied-source.json +407 -0
  101. package/src/__golden__/wave-loop/op-denied.json +399 -0
  102. package/src/__golden__/wave-loop/op-discover-rest-short.json +92 -0
  103. package/src/__golden__/wave-loop/op-discover-rest-stops.json +340 -0
  104. package/src/__golden__/wave-loop/op-discover-rest.json +659 -0
  105. package/src/__golden__/wave-loop/op-discover-wide.json +290 -0
  106. package/src/__golden__/wave-loop/op-held-on-again.json +176 -0
  107. package/src/__golden__/wave-loop/op-held-on-before-apply.json +689 -0
  108. package/src/__golden__/wave-loop/op-held-on.json +1455 -0
  109. package/src/__golden__/wave-loop/op-hooks-apply-fails.json +673 -0
  110. package/src/__golden__/wave-loop/op-hooks-fail-after-apply.json +737 -0
  111. package/src/__golden__/wave-loop/op-hooks-fail-before-apply.json +450 -0
  112. package/src/__golden__/wave-loop/op-hooks-fail-before-plan.json +97 -0
  113. package/src/__golden__/wave-loop/op-hooks-held.json +1059 -0
  114. package/src/__golden__/wave-loop/op-hooks-hold-before-apply.json +693 -0
  115. package/src/__golden__/wave-loop/op-hooks-pass.json +735 -0
  116. package/src/__golden__/wave-loop/op-hooks-refused-at-base.json +148 -0
  117. package/src/__golden__/wave-loop/op-hooks-share.json +1225 -0
  118. package/src/__golden__/wave-loop/op-outcome-held.json +202 -0
  119. package/src/__golden__/wave-loop/op-outcome-replan-approved.json +286 -0
  120. package/src/__golden__/wave-loop/op-outcome-replan-forever.json +823 -0
  121. package/src/__golden__/wave-loop/op-outcome-replan.json +259 -0
  122. package/src/__golden__/wave-loop/op-outcome-stood-down.json +196 -0
  123. package/src/__golden__/wave-loop/op-outcome-unreadable.json +193 -0
  124. package/src/__golden__/wave-loop/op-overridden.json +508 -0
  125. package/src/__golden__/wave-loop/op-per-run.json +518 -0
  126. package/src/__golden__/wave-loop/op-point.json +495 -0
  127. package/src/__golden__/wave-loop/op-pr-review.json +397 -0
  128. package/src/__golden__/wave-loop/op-sealed.json +125 -0
  129. package/src/__golden__/wave-loop/op-spend-change-only.json +168 -0
  130. package/src/__golden__/wave-loop/op-spend.json +328 -0
  131. package/src/__golden__/wave-loop/op-wave-commands.json +1808 -0
  132. package/src/__golden__/wave-loop/op-wide-refused.json +291 -0
  133. package/src/__golden__/wave-loop/op-wide-waiting.json +231 -0
  134. package/src/__golden__/wave-loop/op-wide.json +440 -0
  135. package/src/cli/commands/check-lexicon-plugin.ts +2 -1
  136. package/src/cli/commands/lint.ts +3 -2
  137. package/src/cli/compiled-cli.e2e.test.ts +42 -1
  138. package/src/components/discover.ts +2 -1
  139. package/src/components/fan-out-run.ts +156 -128
  140. package/src/config-sandbox.ts +5 -1
  141. package/src/discovery/import.ts +2 -1
  142. package/src/discovery/sandbox/driver.ts +8 -3
  143. package/src/lexicon-module.ts +4 -3
  144. package/src/lint/policy-import.ts +2 -1
  145. package/src/lint/rule-loader.ts +2 -1
  146. package/src/meta/peer-deps.test.ts +39 -0
  147. package/src/module-interop.test.ts +65 -0
  148. package/src/module-interop.ts +39 -0
  149. package/src/op/discover.ts +3 -2
  150. package/src/op/op-waves-run.ts +184 -68
  151. package/src/wave-engine.test.ts +38 -1
  152. package/src/wave-engine.ts +101 -5
  153. package/src/wave-loop-golden.test.ts +627 -0
  154. package/src/workspace/lineage-migrations.ts +2 -1
@@ -0,0 +1,659 @@
1
+ {
2
+ "jobs": [
3
+ {
4
+ "job": {
5
+ "wave": 1
6
+ },
7
+ "result": {
8
+ "exitCode": 0,
9
+ "applied": [
10
+ "a/vpc"
11
+ ],
12
+ "failed": [],
13
+ "moved": [],
14
+ "hooks": [],
15
+ "decision": {
16
+ "wave": 1,
17
+ "name": "layer",
18
+ "op": "tf-apply",
19
+ "gate": "wave-1",
20
+ "policy": "never",
21
+ "approval": "ledger",
22
+ "policySource": "base",
23
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
24
+ "digest": "jcs1-sha256:2bd18e72315aab58b6bc3edeec84b509f0fe4c36e2c4e263000ed65a3c689e28",
25
+ "members": [
26
+ {
27
+ "member": "a/vpc",
28
+ "planDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
29
+ "op": "tf-apply"
30
+ }
31
+ ],
32
+ "status": "not-required",
33
+ "digestOver": "changing",
34
+ "discovered": {
35
+ "waves": 4
36
+ }
37
+ }
38
+ },
39
+ "ledger": {
40
+ "appended": [],
41
+ "resolved": [],
42
+ "applied": []
43
+ },
44
+ "calls": 2,
45
+ "logs": 2
46
+ },
47
+ {
48
+ "job": {
49
+ "wave": 2
50
+ },
51
+ "result": {
52
+ "exitCode": 0,
53
+ "applied": [
54
+ "b/db",
55
+ "c/app",
56
+ "d/dns"
57
+ ],
58
+ "failed": [],
59
+ "moved": [],
60
+ "hooks": [],
61
+ "decision": {
62
+ "wave": 4,
63
+ "name": "rest",
64
+ "op": "tf-apply",
65
+ "gate": "wave-4",
66
+ "policy": "never",
67
+ "approval": "ledger",
68
+ "policySource": "base",
69
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
70
+ "digest": "jcs1-sha256:c4e95f3a58a2ec264b0cf76b5affe5047b584ec2eca38446bd0d1a41d0337ccb",
71
+ "members": [
72
+ {
73
+ "member": "d/dns",
74
+ "planDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
75
+ "op": "tf-apply"
76
+ }
77
+ ],
78
+ "status": "not-required",
79
+ "digestOver": "changing",
80
+ "discovered": {
81
+ "waves": 4
82
+ }
83
+ },
84
+ "rest": [
85
+ {
86
+ "wave": 2,
87
+ "exitCode": 0,
88
+ "digest": "jcs1-sha256:8385a1fe81876680546eca59fd5c3d61bde8e2a825ece03966babdb726b5edac"
89
+ },
90
+ {
91
+ "wave": 3,
92
+ "exitCode": 0,
93
+ "digest": "jcs1-sha256:e9369a41f15cc5f1f7078226505a4a3f42112777ef27d91e4cc3e435f421c784"
94
+ },
95
+ {
96
+ "wave": 4,
97
+ "exitCode": 0,
98
+ "digest": "jcs1-sha256:c4e95f3a58a2ec264b0cf76b5affe5047b584ec2eca38446bd0d1a41d0337ccb"
99
+ }
100
+ ]
101
+ },
102
+ "ledger": {
103
+ "appended": [],
104
+ "resolved": [],
105
+ "applied": []
106
+ },
107
+ "calls": 6,
108
+ "logs": 8
109
+ }
110
+ ],
111
+ "calls": [
112
+ {
113
+ "argv": [
114
+ "tg",
115
+ "plan",
116
+ "layer",
117
+ ".chant/op-waves/tf-apply/wave-1/runs.json",
118
+ ".chant/op-waves/tf-apply/wave-1/plans.json"
119
+ ],
120
+ "read": {
121
+ ".chant/op-waves/tf-apply/wave-1/runs.json": {
122
+ "wave": "layer",
123
+ "number": 1,
124
+ "discover": true,
125
+ "runs": []
126
+ }
127
+ }
128
+ },
129
+ {
130
+ "argv": [
131
+ "tg",
132
+ "apply",
133
+ "layer",
134
+ ".chant/op-waves/tf-apply/wave-1/runs.json",
135
+ ".chant/op-waves/tf-apply/wave-1/plans.json"
136
+ ],
137
+ "env": {
138
+ "CHANT_HOOKS": ".chant/op-waves/tf-apply/wave-1/hooks.json",
139
+ "CHANT_APPLY_OUTCOME": ".chant/op-waves/tf-apply/wave-1/hooks-outcome.json"
140
+ },
141
+ "read": {
142
+ "CHANT_HOOKS": {
143
+ "version": 1,
144
+ "opWaves": "tf-apply",
145
+ "op": "tf-apply",
146
+ "wave": "layer",
147
+ "number": 1,
148
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
149
+ "digest": "jcs1-sha256:2bd18e72315aab58b6bc3edeec84b509f0fe4c36e2c4e263000ed65a3c689e28",
150
+ "approved": false,
151
+ "runBy": "chant",
152
+ "runs": [
153
+ {
154
+ "target": "a/vpc",
155
+ "op": "tf-apply",
156
+ "plan": ".chant/op-waves/tf-apply/wave-1/a_vpc.plan.json"
157
+ }
158
+ ],
159
+ "runsFile": ".chant/op-waves/tf-apply/wave-1/runs.json",
160
+ "hooks": {},
161
+ "outcomes": []
162
+ },
163
+ ".chant/op-waves/tf-apply/wave-1/runs.json": {
164
+ "wave": "layer",
165
+ "number": 1,
166
+ "digest": "jcs1-sha256:2bd18e72315aab58b6bc3edeec84b509f0fe4c36e2c4e263000ed65a3c689e28",
167
+ "runs": [
168
+ {
169
+ "target": "a/vpc",
170
+ "op": "tf-apply",
171
+ "planDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111"
172
+ }
173
+ ]
174
+ }
175
+ }
176
+ },
177
+ {
178
+ "argv": [
179
+ "tg",
180
+ "plan",
181
+ "rest",
182
+ ".chant/op-waves/tf-apply/wave-2/runs.json",
183
+ ".chant/op-waves/tf-apply/wave-2/plans.json"
184
+ ],
185
+ "read": {
186
+ ".chant/op-waves/tf-apply/wave-2/runs.json": {
187
+ "wave": "rest",
188
+ "number": 2,
189
+ "discover": true,
190
+ "runs": []
191
+ }
192
+ }
193
+ },
194
+ {
195
+ "argv": [
196
+ "tg",
197
+ "apply",
198
+ "rest",
199
+ ".chant/op-waves/tf-apply/wave-2/runs.json",
200
+ ".chant/op-waves/tf-apply/wave-2/plans.json"
201
+ ],
202
+ "env": {
203
+ "CHANT_HOOKS": ".chant/op-waves/tf-apply/wave-2/hooks.json",
204
+ "CHANT_APPLY_OUTCOME": ".chant/op-waves/tf-apply/wave-2/hooks-outcome.json"
205
+ },
206
+ "read": {
207
+ "CHANT_HOOKS": {
208
+ "version": 1,
209
+ "opWaves": "tf-apply",
210
+ "op": "tf-apply",
211
+ "wave": "rest",
212
+ "number": 2,
213
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
214
+ "digest": "jcs1-sha256:8385a1fe81876680546eca59fd5c3d61bde8e2a825ece03966babdb726b5edac",
215
+ "approved": false,
216
+ "runBy": "chant",
217
+ "runs": [
218
+ {
219
+ "target": "b/db",
220
+ "op": "tf-apply",
221
+ "plan": ".chant/op-waves/tf-apply/wave-2/b_db.plan.json"
222
+ }
223
+ ],
224
+ "runsFile": ".chant/op-waves/tf-apply/wave-2/runs.json",
225
+ "hooks": {},
226
+ "outcomes": []
227
+ },
228
+ ".chant/op-waves/tf-apply/wave-2/runs.json": {
229
+ "wave": "rest",
230
+ "number": 2,
231
+ "digest": "jcs1-sha256:8385a1fe81876680546eca59fd5c3d61bde8e2a825ece03966babdb726b5edac",
232
+ "runs": [
233
+ {
234
+ "target": "b/db",
235
+ "op": "tf-apply",
236
+ "planDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222"
237
+ }
238
+ ]
239
+ }
240
+ }
241
+ },
242
+ {
243
+ "argv": [
244
+ "tg",
245
+ "plan",
246
+ "rest",
247
+ ".chant/op-waves/tf-apply/wave-3/runs.json",
248
+ ".chant/op-waves/tf-apply/wave-3/plans.json"
249
+ ],
250
+ "read": {
251
+ ".chant/op-waves/tf-apply/wave-3/runs.json": {
252
+ "wave": "rest",
253
+ "number": 3,
254
+ "discover": true,
255
+ "runs": []
256
+ }
257
+ }
258
+ },
259
+ {
260
+ "argv": [
261
+ "tg",
262
+ "apply",
263
+ "rest",
264
+ ".chant/op-waves/tf-apply/wave-3/runs.json",
265
+ ".chant/op-waves/tf-apply/wave-3/plans.json"
266
+ ],
267
+ "env": {
268
+ "CHANT_HOOKS": ".chant/op-waves/tf-apply/wave-3/hooks.json",
269
+ "CHANT_APPLY_OUTCOME": ".chant/op-waves/tf-apply/wave-3/hooks-outcome.json"
270
+ },
271
+ "read": {
272
+ "CHANT_HOOKS": {
273
+ "version": 1,
274
+ "opWaves": "tf-apply",
275
+ "op": "tf-apply",
276
+ "wave": "rest",
277
+ "number": 3,
278
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
279
+ "digest": "jcs1-sha256:e9369a41f15cc5f1f7078226505a4a3f42112777ef27d91e4cc3e435f421c784",
280
+ "approved": false,
281
+ "runBy": "chant",
282
+ "runs": [
283
+ {
284
+ "target": "c/app",
285
+ "op": "tf-apply",
286
+ "plan": ".chant/op-waves/tf-apply/wave-3/c_app.plan.json"
287
+ }
288
+ ],
289
+ "runsFile": ".chant/op-waves/tf-apply/wave-3/runs.json",
290
+ "hooks": {},
291
+ "outcomes": []
292
+ },
293
+ ".chant/op-waves/tf-apply/wave-3/runs.json": {
294
+ "wave": "rest",
295
+ "number": 3,
296
+ "digest": "jcs1-sha256:e9369a41f15cc5f1f7078226505a4a3f42112777ef27d91e4cc3e435f421c784",
297
+ "runs": [
298
+ {
299
+ "target": "c/app",
300
+ "op": "tf-apply",
301
+ "planDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
302
+ }
303
+ ]
304
+ }
305
+ }
306
+ },
307
+ {
308
+ "argv": [
309
+ "tg",
310
+ "plan",
311
+ "rest",
312
+ ".chant/op-waves/tf-apply/wave-4/runs.json",
313
+ ".chant/op-waves/tf-apply/wave-4/plans.json"
314
+ ],
315
+ "read": {
316
+ ".chant/op-waves/tf-apply/wave-4/runs.json": {
317
+ "wave": "rest",
318
+ "number": 4,
319
+ "discover": true,
320
+ "runs": []
321
+ }
322
+ }
323
+ },
324
+ {
325
+ "argv": [
326
+ "tg",
327
+ "apply",
328
+ "rest",
329
+ ".chant/op-waves/tf-apply/wave-4/runs.json",
330
+ ".chant/op-waves/tf-apply/wave-4/plans.json"
331
+ ],
332
+ "env": {
333
+ "CHANT_HOOKS": ".chant/op-waves/tf-apply/wave-4/hooks.json",
334
+ "CHANT_APPLY_OUTCOME": ".chant/op-waves/tf-apply/wave-4/hooks-outcome.json"
335
+ },
336
+ "read": {
337
+ "CHANT_HOOKS": {
338
+ "version": 1,
339
+ "opWaves": "tf-apply",
340
+ "op": "tf-apply",
341
+ "wave": "rest",
342
+ "number": 4,
343
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
344
+ "digest": "jcs1-sha256:c4e95f3a58a2ec264b0cf76b5affe5047b584ec2eca38446bd0d1a41d0337ccb",
345
+ "approved": false,
346
+ "runBy": "chant",
347
+ "runs": [
348
+ {
349
+ "target": "d/dns",
350
+ "op": "tf-apply",
351
+ "plan": ".chant/op-waves/tf-apply/wave-4/d_dns.plan.json"
352
+ }
353
+ ],
354
+ "runsFile": ".chant/op-waves/tf-apply/wave-4/runs.json",
355
+ "hooks": {},
356
+ "outcomes": []
357
+ },
358
+ ".chant/op-waves/tf-apply/wave-4/runs.json": {
359
+ "wave": "rest",
360
+ "number": 4,
361
+ "digest": "jcs1-sha256:c4e95f3a58a2ec264b0cf76b5affe5047b584ec2eca38446bd0d1a41d0337ccb",
362
+ "runs": [
363
+ {
364
+ "target": "d/dns",
365
+ "op": "tf-apply",
366
+ "planDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444"
367
+ }
368
+ ]
369
+ }
370
+ }
371
+ }
372
+ ],
373
+ "logs": [
374
+ "wave 1 (layer): the plan found 1 run of 4 waves: a/vpc",
375
+ "wave 1 (layer): gate never (read at bbbbbbbbbbbb), digest jcs1-sha256:2bd18e72315aab58b6bc3edeec84b509f0fe4c36e2c4e263000ed65a3c689e28: not-required",
376
+ "wave 2 (rest): the plan found 1 run of 4 waves: b/db",
377
+ "wave 2 (rest): gate never (read at bbbbbbbbbbbb), digest jcs1-sha256:8385a1fe81876680546eca59fd5c3d61bde8e2a825ece03966babdb726b5edac: not-required",
378
+ "wave 2 applied; the plan found 4 waves, so this job goes on to wave 3",
379
+ "wave 3 (rest): the plan found 1 run of 4 waves: c/app",
380
+ "wave 3 (rest): gate never (read at bbbbbbbbbbbb), digest jcs1-sha256:e9369a41f15cc5f1f7078226505a4a3f42112777ef27d91e4cc3e435f421c784: not-required",
381
+ "wave 3 applied; the plan found 4 waves, so this job goes on to wave 4",
382
+ "wave 4 (rest): the plan found 1 run of 4 waves: d/dns",
383
+ "wave 4 (rest): gate never (read at bbbbbbbbbbbb), digest jcs1-sha256:c4e95f3a58a2ec264b0cf76b5affe5047b584ec2eca38446bd0d1a41d0337ccb: not-required"
384
+ ],
385
+ "files": {
386
+ ".chant/op-waves/tf-apply/wave-1/a_vpc.plan.json": {
387
+ "planDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111"
388
+ },
389
+ ".chant/op-waves/tf-apply/wave-1/hooks.json": {
390
+ "version": 1,
391
+ "opWaves": "tf-apply",
392
+ "op": "tf-apply",
393
+ "wave": "layer",
394
+ "number": 1,
395
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
396
+ "digest": "jcs1-sha256:2bd18e72315aab58b6bc3edeec84b509f0fe4c36e2c4e263000ed65a3c689e28",
397
+ "approved": false,
398
+ "runBy": "chant",
399
+ "runs": [
400
+ {
401
+ "target": "a/vpc",
402
+ "op": "tf-apply",
403
+ "plan": ".chant/op-waves/tf-apply/wave-1/a_vpc.plan.json"
404
+ }
405
+ ],
406
+ "runsFile": ".chant/op-waves/tf-apply/wave-1/runs.json",
407
+ "hooks": {},
408
+ "outcomes": []
409
+ },
410
+ ".chant/op-waves/tf-apply/wave-1/plans.json": {
411
+ "runs": [
412
+ {
413
+ "target": "a/vpc",
414
+ "planDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111"
415
+ }
416
+ ],
417
+ "waves": 4
418
+ },
419
+ ".chant/op-waves/tf-apply/wave-1/runs.json": {
420
+ "wave": "layer",
421
+ "number": 1,
422
+ "digest": "jcs1-sha256:2bd18e72315aab58b6bc3edeec84b509f0fe4c36e2c4e263000ed65a3c689e28",
423
+ "runs": [
424
+ {
425
+ "target": "a/vpc",
426
+ "op": "tf-apply",
427
+ "planDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111"
428
+ }
429
+ ]
430
+ },
431
+ ".chant/op-waves/tf-apply/wave-1.json": {
432
+ "wave": 1,
433
+ "name": "layer",
434
+ "op": "tf-apply",
435
+ "gate": "wave-1",
436
+ "policy": "never",
437
+ "approval": "ledger",
438
+ "policySource": "base",
439
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
440
+ "digest": "jcs1-sha256:2bd18e72315aab58b6bc3edeec84b509f0fe4c36e2c4e263000ed65a3c689e28",
441
+ "members": [
442
+ {
443
+ "member": "a/vpc",
444
+ "planDigest": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
445
+ "op": "tf-apply"
446
+ }
447
+ ],
448
+ "status": "not-required",
449
+ "digestOver": "changing",
450
+ "discovered": {
451
+ "waves": 4
452
+ }
453
+ },
454
+ ".chant/op-waves/tf-apply/wave-2/b_db.plan.json": {
455
+ "planDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222"
456
+ },
457
+ ".chant/op-waves/tf-apply/wave-2/hooks.json": {
458
+ "version": 1,
459
+ "opWaves": "tf-apply",
460
+ "op": "tf-apply",
461
+ "wave": "rest",
462
+ "number": 2,
463
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
464
+ "digest": "jcs1-sha256:8385a1fe81876680546eca59fd5c3d61bde8e2a825ece03966babdb726b5edac",
465
+ "approved": false,
466
+ "runBy": "chant",
467
+ "runs": [
468
+ {
469
+ "target": "b/db",
470
+ "op": "tf-apply",
471
+ "plan": ".chant/op-waves/tf-apply/wave-2/b_db.plan.json"
472
+ }
473
+ ],
474
+ "runsFile": ".chant/op-waves/tf-apply/wave-2/runs.json",
475
+ "hooks": {},
476
+ "outcomes": []
477
+ },
478
+ ".chant/op-waves/tf-apply/wave-2/plans.json": {
479
+ "runs": [
480
+ {
481
+ "target": "b/db",
482
+ "planDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222"
483
+ }
484
+ ],
485
+ "waves": 4
486
+ },
487
+ ".chant/op-waves/tf-apply/wave-2/runs.json": {
488
+ "wave": "rest",
489
+ "number": 2,
490
+ "digest": "jcs1-sha256:8385a1fe81876680546eca59fd5c3d61bde8e2a825ece03966babdb726b5edac",
491
+ "runs": [
492
+ {
493
+ "target": "b/db",
494
+ "op": "tf-apply",
495
+ "planDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222"
496
+ }
497
+ ]
498
+ },
499
+ ".chant/op-waves/tf-apply/wave-2.json": {
500
+ "wave": 2,
501
+ "name": "rest",
502
+ "op": "tf-apply",
503
+ "gate": "wave-2",
504
+ "policy": "never",
505
+ "approval": "ledger",
506
+ "policySource": "base",
507
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
508
+ "digest": "jcs1-sha256:8385a1fe81876680546eca59fd5c3d61bde8e2a825ece03966babdb726b5edac",
509
+ "members": [
510
+ {
511
+ "member": "b/db",
512
+ "planDigest": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
513
+ "op": "tf-apply"
514
+ }
515
+ ],
516
+ "status": "not-required",
517
+ "digestOver": "changing",
518
+ "discovered": {
519
+ "waves": 4
520
+ }
521
+ },
522
+ ".chant/op-waves/tf-apply/wave-3/c_app.plan.json": {
523
+ "planDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
524
+ },
525
+ ".chant/op-waves/tf-apply/wave-3/hooks.json": {
526
+ "version": 1,
527
+ "opWaves": "tf-apply",
528
+ "op": "tf-apply",
529
+ "wave": "rest",
530
+ "number": 3,
531
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
532
+ "digest": "jcs1-sha256:e9369a41f15cc5f1f7078226505a4a3f42112777ef27d91e4cc3e435f421c784",
533
+ "approved": false,
534
+ "runBy": "chant",
535
+ "runs": [
536
+ {
537
+ "target": "c/app",
538
+ "op": "tf-apply",
539
+ "plan": ".chant/op-waves/tf-apply/wave-3/c_app.plan.json"
540
+ }
541
+ ],
542
+ "runsFile": ".chant/op-waves/tf-apply/wave-3/runs.json",
543
+ "hooks": {},
544
+ "outcomes": []
545
+ },
546
+ ".chant/op-waves/tf-apply/wave-3/plans.json": {
547
+ "runs": [
548
+ {
549
+ "target": "c/app",
550
+ "planDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
551
+ }
552
+ ],
553
+ "waves": 4
554
+ },
555
+ ".chant/op-waves/tf-apply/wave-3/runs.json": {
556
+ "wave": "rest",
557
+ "number": 3,
558
+ "digest": "jcs1-sha256:e9369a41f15cc5f1f7078226505a4a3f42112777ef27d91e4cc3e435f421c784",
559
+ "runs": [
560
+ {
561
+ "target": "c/app",
562
+ "op": "tf-apply",
563
+ "planDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
564
+ }
565
+ ]
566
+ },
567
+ ".chant/op-waves/tf-apply/wave-3.json": {
568
+ "wave": 3,
569
+ "name": "rest",
570
+ "op": "tf-apply",
571
+ "gate": "wave-3",
572
+ "policy": "never",
573
+ "approval": "ledger",
574
+ "policySource": "base",
575
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
576
+ "digest": "jcs1-sha256:e9369a41f15cc5f1f7078226505a4a3f42112777ef27d91e4cc3e435f421c784",
577
+ "members": [
578
+ {
579
+ "member": "c/app",
580
+ "planDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333",
581
+ "op": "tf-apply"
582
+ }
583
+ ],
584
+ "status": "not-required",
585
+ "digestOver": "changing",
586
+ "discovered": {
587
+ "waves": 4
588
+ }
589
+ },
590
+ ".chant/op-waves/tf-apply/wave-4/d_dns.plan.json": {
591
+ "planDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444"
592
+ },
593
+ ".chant/op-waves/tf-apply/wave-4/hooks.json": {
594
+ "version": 1,
595
+ "opWaves": "tf-apply",
596
+ "op": "tf-apply",
597
+ "wave": "rest",
598
+ "number": 4,
599
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
600
+ "digest": "jcs1-sha256:c4e95f3a58a2ec264b0cf76b5affe5047b584ec2eca38446bd0d1a41d0337ccb",
601
+ "approved": false,
602
+ "runBy": "chant",
603
+ "runs": [
604
+ {
605
+ "target": "d/dns",
606
+ "op": "tf-apply",
607
+ "plan": ".chant/op-waves/tf-apply/wave-4/d_dns.plan.json"
608
+ }
609
+ ],
610
+ "runsFile": ".chant/op-waves/tf-apply/wave-4/runs.json",
611
+ "hooks": {},
612
+ "outcomes": []
613
+ },
614
+ ".chant/op-waves/tf-apply/wave-4/plans.json": {
615
+ "runs": [
616
+ {
617
+ "target": "d/dns",
618
+ "planDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444"
619
+ }
620
+ ],
621
+ "waves": 4
622
+ },
623
+ ".chant/op-waves/tf-apply/wave-4/runs.json": {
624
+ "wave": "rest",
625
+ "number": 4,
626
+ "digest": "jcs1-sha256:c4e95f3a58a2ec264b0cf76b5affe5047b584ec2eca38446bd0d1a41d0337ccb",
627
+ "runs": [
628
+ {
629
+ "target": "d/dns",
630
+ "op": "tf-apply",
631
+ "planDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444"
632
+ }
633
+ ]
634
+ },
635
+ ".chant/op-waves/tf-apply/wave-4.json": {
636
+ "wave": 4,
637
+ "name": "rest",
638
+ "op": "tf-apply",
639
+ "gate": "wave-4",
640
+ "policy": "never",
641
+ "approval": "ledger",
642
+ "policySource": "base",
643
+ "base": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
644
+ "digest": "jcs1-sha256:c4e95f3a58a2ec264b0cf76b5affe5047b584ec2eca38446bd0d1a41d0337ccb",
645
+ "members": [
646
+ {
647
+ "member": "d/dns",
648
+ "planDigest": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
649
+ "op": "tf-apply"
650
+ }
651
+ ],
652
+ "status": "not-required",
653
+ "digestOver": "changing",
654
+ "discovered": {
655
+ "waves": 4
656
+ }
657
+ }
658
+ }
659
+ }