docs: say what clearing a fault deletes, and that a device de-assert is a clear - #677
Merged
Conversation
The snapshots tutorial said a clear deletes "snapshots" and pointed at a
DELETE /api/v1/faults/{code} endpoint that is not registered. Two things
were wrong. retain_on_clear scopes to the value snapshots only, and the
rosbag recording is governed by rosbag.auto_cleanup, with
rosbag.max_bags_per_fault taking over the retention decision once a history
is configured. The per-fault DELETE route is entity-scoped.
Name the service a plugin calls when its device de-asserts an alarm too, so
a device going quiet reads as the clear it is, and qualify the same rule
where it was repeated in the fault manager, gateway and OPC UA READMEs and
in the shipped snapshots.yaml.
… clears
on_fault_cleared returns on either gate, so a de-assert leaves the recording
alone when auto_cleanup is off as well as when max_bags_per_fault keeps a
history. The OPC UA README named only the second one.
The snapshots note read as an exhaustive list of the ways a fault gets
cleared, which the "there is no global DELETE /api/v1/faults/{code}" sentence
reinforced. The bulk DELETE routes, the correlation cascade clearing a root
cause's symptoms, and the startup reclassification of HEALED rows all reach
the same storage path, so name the routes as examples and keep the one true
absence. Also bound the max_bags_per_fault claim: at 0 the cap is unlimited
and only max_total_storage_mb holds the recordings back.
bburda
marked this pull request as ready for review
September 10, 2026 20:09
mfaferek93
reviewed
Sep 11, 2026
The OPC UA plugin calls clear_fault when a threshold alarm de-asserts. A native AlarmCondition stays CONFIRMED until the operator acknowledges it and, unless require_confirm_for_clear is off, confirms it. A plugin that de-asserts with a PASSED report, as the graph watchdog does, goes through debounce and healing, where nothing deletes snapshots: with healing_enabled the fault heals once its counter reaches healing_threshold, and with the default it stays CONFIRMED.
mfaferek93
approved these changes
Sep 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The snapshots tutorial note said
snapshots.retain_on_clear: truekeeps everything a fault captured, and namedDELETE /api/v1/faults/{code}as the clear, a route the gateway does not serve.The note now says a clear deletes the value snapshots and that
retain_on_clearcovers only those. The recording goes undersnapshots.rosbag.auto_cleanup, unless that is off orsnapshots.rosbag.max_bags_per_faultkeeps a history. It names the per-fault and bulk DELETE routes, the~/clear_faultservice and the correlation cascade as examples of a clear, and says a plugin calls that service when its device de-asserts an alarm.Code behind the text:
retain_snapshots_on_clear_insqlite_fault_storage.cppguards onlyDELETE FROM snapshots.RosbagCapture::on_fault_cleareddeletes the recording underauto_cleanup.The same claim in the fault manager, gateway and OPC UA READMEs and in the shipped
snapshots.yamlis corrected.Issue
Type
Testing
Docs only. From
docs/, both clean:pre-commitpasses.Checklist