P11.6 wiki regen + Phase 10 private-test rewrites where applicable

For all 11 nodes with auto-gen markers: wiki/Home.md sections 5 (topic
contract) and 9 (data model) regenerated via npm run wiki:all. New
Unit column shows '<measure> (default <unit>)' for declared topics,
'—' otherwise. Effect column now uses descriptor.description (P11.2
field) overriding the generic per-prefix fallback.

For rotatingMachine + reactor: Phase 10 test rewrites — 3 + 8 files
moved off private nodeClass internals (_attachInputHandler, _commands,
_pendingExtras, _registerChild, _tick, etc.) to the public
BaseNodeAdapter surface (node.handlers.input, node.source.*).
+6 / +7 net new tests.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
znetsixe
2026-05-11 19:44:11 +02:00
parent 1d5e040af9
commit 1a9f533b1e
4 changed files with 296 additions and 187 deletions

View File

@@ -95,19 +95,19 @@ flowchart TB
<!-- BEGIN AUTOGEN: topic-contract -->
| Canonical topic | Aliases | Payload | Effect |
|---|---|---|---|
| `set.mode` | `setMode` | `string` | Replaces the named state value with the supplied payload. |
| `cmd.startup` | _(none)_ | `any` | Triggers an action / sequence — not idempotent. |
| `cmd.shutdown` | _(none)_ | `any` | Triggers an action / sequence — not idempotent. |
| `cmd.estop` | `emergencystop` | `any` | Triggers an action / sequence — not idempotent. |
| `execSequence` | _(none)_ | `object` | _(see handler)_ |
| `set.setpoint` | `execMovement` | `object` | Replaces the named state value with the supplied payload. |
| `set.flow-setpoint` | `flowMovement` | `object` | Replaces the named state value with the supplied payload. |
| `data.simulate-measurement` | `simulateMeasurement` | `object` | Pushes a value into the node's measurement stream. |
| `query.curves` | `showWorkingCurves` | `any` | Read-only query; node replies on the same msg. |
| `query.cog` | `CoG` | `any` | Read-only query; node replies on the same msg. |
| `child.register` | `registerChild` | `string` | Parent/child plumbing — registers or unregisters a child node. |
| Canonical topic | Aliases | Payload | Unit | Effect |
|---|---|---|---|---|
| `set.mode` | `setMode` | `string` | — | Switch the machine between auto / manual control modes. |
| `cmd.startup` | _(none)_ | `any` | — | Initiate the machine startup sequence. |
| `cmd.shutdown` | _(none)_ | `any` | — | Initiate the machine shutdown sequence. |
| `cmd.estop` | `emergencystop` | `any` | — | Trigger an emergency stop. |
| `execSequence` | _(none)_ | `object` | — | Legacy umbrella that demuxes payload.action to startup / shutdown. |
| `set.setpoint` | `execMovement` | `object` | — | Move the machine to a control-% setpoint via execMovement. |
| `set.flow-setpoint` | `flowMovement` | `object` | `volumeFlowRate` (default `m3/h`) | Move the machine to a flow setpoint via flowMovement. |
| `data.simulate-measurement` | `simulateMeasurement` | `object` | — | Inject a simulated sensor reading (pressure/flow/temperature/power). |
| `query.curves` | `showWorkingCurves` | `any` | — | Return the working curves for the machine on the reply port. |
| `query.cog` | `CoG` | `any` | — | Return the centre-of-gravity (CoG) point on the reply port. |
| `child.register` | `registerChild` | `string` | — | Register a child measurement with this machine. |
<!-- END AUTOGEN: topic-contract -->