@intentius/terragucci 0.4.43 → 0.4.45

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.
@@ -8,7 +8,7 @@
8
8
  "properties": {
9
9
  "schema": { "const": "terragucci.audit/v1" },
10
10
  "id": { "type": "string", "description": "sha256: over where the entry came from; the same records give the same id." },
11
- "kind": { "enum": ["approval-requested", "approval", "approval-revoked", "override-requested", "override", "override-revoked", "apply", "refused", "migration", "unlock", "state-export", "ephemeral-apply", "ephemeral-destroy", "unrecorded-write"] },
11
+ "kind": { "enum": ["approval-requested", "approval", "approval-revoked", "override-requested", "override", "override-revoked", "apply", "refused", "migration", "unlock", "state-export", "ephemeral-apply", "ephemeral-destroy", "unrecorded-write", "agent-run"] },
12
12
  "project": { "type": "string", "description": "<host>/<path> of the repo." },
13
13
  "at": { "type": "string", "description": "When it happened, ISO 8601." },
14
14
  "who": { "type": ["string", "null"], "description": "The approver, the overrider, whoever removed the line, for an apply the approver it applied under, or for an unrecorded write the writer a log of the state bucket names. Null when nobody did, or no log names one." },
@@ -29,7 +29,17 @@
29
29
  "pull_request_url": { "type": "string", "description": "The pull or merge request's page (minor 4)." },
30
30
  "report_url": { "type": "string", "description": "Where this report.html is served, when reports.url names the bucket's address (minor 4)." },
31
31
  "trace_id": { "type": "string", "description": "The run's trace id, when the stage sent a trace (minor 4)." },
32
- "trace_url": { "type": "string", "description": "The trace in a viewer, from telemetry.trace_url (minor 4)." }
32
+ "trace_url": { "type": "string", "description": "The trace in a viewer, from telemetry.trace_url (minor 4)." },
33
+ "actor": {
34
+ "type": "object",
35
+ "description": "Who proposed the change, when policy is set (minor 46). The forge app or bot identity decides kind; trailer and oidcSubject are supporting signals.",
36
+ "required": ["kind", "principal", "signals"],
37
+ "properties": {
38
+ "kind": { "enum": ["person", "agent"] },
39
+ "principal": { "type": "string" },
40
+ "signals": { "type": "object", "properties": { "forgeIdentity": { "type": "string" }, "trailer": { "type": "string" }, "oidcSubject": { "type": "string" } } }
41
+ }
42
+ }
33
43
  }
34
44
  },
35
45
  "change_set": { "type": "string" },
@@ -138,6 +148,7 @@
138
148
  "index": { "type": ["string", "integer"] },
139
149
  "attributes": {
140
150
  "type": "array",
151
+ "description": "On a tf-apply wave, a root that applied: an attribute the plan marked unknown carries the value the state holds after the apply, as after with no unknown, stated once; a sensitive one stays sensitive with no value (minor 47).",
141
152
  "items": {
142
153
  "type": "object",
143
154
  "required": ["path"],
@@ -186,6 +197,7 @@
186
197
  "result": { "enum": ["passed", "denied", "error"] },
187
198
  "denials": { "type": "array", "items": { "type": "string" } },
188
199
  "rules": { "type": "array", "items": { "type": "string" }, "description": "The ids of the rules that denied, sorted (minor 10)." },
200
+ "hard_mandatory": { "type": "array", "items": { "type": "string" }, "description": "The ids of the rules among rules that are hard-mandatory (minor 46): no override can pass them." },
189
201
  "warnings": { "type": "array", "items": { "type": "string" } },
190
202
  "error": { "type": "string" },
191
203
  "held_by": { "type": "array", "items": { "type": "string" }, "description": "With hold in policy.outcomes at base: the ids of the hold rules that matched, sorted; its wave waits for an approval (minor 40)." },
@@ -382,7 +394,8 @@
382
394
  "reason": { "enum": ["approval", "review", "override", "policy"] },
383
395
  "approved": { "type": "string" },
384
396
  "by": { "type": "string" },
385
- "roots": { "type": "array", "items": { "type": "string" } }
397
+ "roots": { "type": "array", "items": { "type": "string" } },
398
+ "hard_mandatory": { "type": "array", "items": { "type": "string" }, "description": "With reason policy (minor 46): the hard-mandatory rules among those that denied, which no override can pass." }
386
399
  }
387
400
  },
388
401
  "review": {
@@ -582,6 +595,7 @@
582
595
  "roots": { "type": "array", "items": { "type": "string" }, "description": "The roots the change reaches plus the roots they read, followed upstream, sorted." },
583
596
  "max": { "type": "integer", "description": "waves.compose_max." },
584
597
  "wave": { "type": "integer", "description": "The wave whose run composes them. Absent when the change applies in waves." },
598
+ "estate": { "const": true, "description": "Every root is a choudoufu estate, composed as one run (minor 48): no state is pulled, split or written back, and each estate's records are written as its resources apply." },
585
599
  "fallback": {
586
600
  "type": "object",
587
601
  "required": ["kind", "reason"],