====== 18.4 Node Acceptance Criteria ====== [[fxdemo:05-part:start | Go To Top ]] [[fxdemo:05-part:18-acceptance-criteria:start | Return to Acceptance Criteria ]] A Phase 0 [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]] satisfies acceptance when it implements the agreed Node pattern, participates in the expected topics, reports lifecycle status, handles [[dido:99_annexes:annex-b-terms-and-definitions:c:configuration|Configuration]] and errors predictably, and produces reviewable logs. Node acceptance requires: - The Node Catalogue identifies the Node name, Node role, purpose, implementation language, Configuration source, published Topics, subscribed Topics, generated types, lifecycle states, supported commands, logging behavior, and tests. - The Node loads and validates approved Configuration before completing startup. - The Node reports Starting during initialization where possible. - The Node reports Running after successful startup. - The Node reports Stopping and Stopped during controlled shutdown where possible. - The Node reports Failed when it cannot complete required startup or runtime behavior where possible. - The Node uses approved IDL-derived generated types for Topic messages. - The Node publishes or subscribes only to Topics documented for its role unless the team has approved an exception. - The Node handles supported commands according to its Node profile. - The Node rejects unsupported or invalid commands clearly. - The Node logs startup, Configuration source, DDS participation, lifecycle transitions, command handling, warnings, errors, and shutdown. - The Node exits with meaningful exit behavior when it cannot continue safely. - The Node implementation follows the file header and inline documentation rules defined in Section 7.10. ---- © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.