Commit dac0b72
committed
docs(opcua,#386): document HEALED as internal-only + ShelvingState precision (bburda review)
Three documentation gaps surfaced by bburda's review on PR #387:
(1) **HEALED design-doc fiction.** ``alarm_state_machine.hpp`` advertised
``SovdAlarmStatus::Healed`` as a first-class lifecycle state and the
design table listed it as rule 5a outcome, but ``ReportHealed`` is a
no-op in ``OpcuaPlugin::on_event_alarm`` so the state never surfaces in
``/faults`` (status stays ``CONFIRMED`` until ``Cleared`` fires).
Header docstring on ``SovdAlarmStatus`` and ``AlarmAction`` now spells
out which values are externally visible vs internal-only, and the
design doc has a new ``.. note::`` block explaining why ``EVENT_PASSED``
on every latch would defeat Part 9's mandatory ack/confirm contract via
fault_manager's debounce engine. Future ``STATUS_LATCHED`` extension on
``ros2_medkit_msgs/msg/Fault`` is called out as the path to make this
visible externally; until then, a known UX gap is documented.
(2) **ShelvingState rule 3 precision.** Doc said
``ShelvingState != Unshelved`` -> Suppressed. Code (poller :382-389)
only treats the specific NodeIds ``i=2930`` (TimedShelved) and
``i=2932`` (OneShotShelved) as suppressing - a null/unset/unknown
``Id`` is interpreted as Unshelved (the deliberate code path with a
"some servers leave the optional field uninitialized" comment). Doc
table now lists the explicit NodeId set + the null/unset behaviour.
(3) **Plugin docs not in published aggregator.** The 162 lines of
``design/index.rst`` and the CHANGELOG entry added in this PR did not
render on https://selfpatch.github.io/ros2_medkit/ because:
- ``docs/changelog.rst`` aggregator did not ``.. include::`` the
opcua-plugin CHANGELOG.
- ``docs/design/index.rst`` toctree was missing
``ros2_medkit_opcua/index``.
Fix:
- Append the opcua CHANGELOG include to ``docs/changelog.rst`` (matches
the precedent of every other in-tree package).
- Add ``docs/design/ros2_medkit_opcua/index.rst`` as a thin stub that
``.. include::``-s the in-package design doc (cleaner than the existing
duplicated-file pattern under
``docs/design/ros2_medkit_graph_provider/index.rst`` - duplicated files
drift; an include directive cannot).
- Add ``ros2_medkit_opcua/index`` to the design toctree (alphabetically
between ``ros2_medkit_msgs`` and ``ros2_medkit_param_beacon``).
No code change; the state machine still has 4 internal lifecycle states
and the bridge still keeps HEALED entries at ``status=CONFIRMED``. Local
verify: 27/27 test_alarm_state_machine.1 parent 8b3ee9d commit dac0b72
5 files changed
Lines changed: 61 additions & 9 deletions
File tree
- docs
- design
- ros2_medkit_opcua
- src/ros2_medkit_plugins/ros2_medkit_opcua
- design
- include/ros2_medkit_opcua
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
| 35 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| 19 | + | |
19 | 20 | | |
20 | 21 | | |
21 | 22 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
Lines changed: 28 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
239 | | - | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
240 | 244 | | |
241 | 245 | | |
242 | 246 | | |
243 | | - | |
244 | | - | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
245 | 250 | | |
246 | 251 | | |
247 | 252 | | |
| |||
254 | 259 | | |
255 | 260 | | |
256 | 261 | | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
257 | 282 | | |
258 | 283 | | |
259 | 284 | | |
| |||
Lines changed: 24 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
23 | 39 | | |
24 | 40 | | |
25 | 41 | | |
| |||
28 | 44 | | |
29 | 45 | | |
30 | 46 | | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
36 | 54 | | |
37 | 55 | | |
38 | 56 | | |
| |||
0 commit comments