feat(trace): carry the causing step in violation witnesses and summary

This commit is contained in:
pj committed 2026-06-05 22:34:07 +05:30
1 parent ff06fd9b1d
commit e2a94d4889
3 files changed
+117 -11

No files matched your search

+7 -2
View File
@@ -43,8 +43,13 @@ type Step struct {
// Witness is the trace-side record of a property violation: why it fired and a
// snapshot of every extractor's value at the violating step.
type Witness struct {
Reason string `json:"reason,omitempty"`
IsError bool `json:"is_error,omitempty"`
Reason string `json:"reason,omitempty"`
IsError bool `json:"is_error,omitempty"`
// Step is the step the failed obligation originated at: the step that
// caused the violation. For a deferred obligation (a next, an eventually)
// this is earlier than the step whose record carries the witness, which is
// where the failure was detected.
Step int `json:"step,omitempty"`
Extractors map[string]json.RawMessage `json:"extractors,omitempty"`
}