Document YAML nodes #117

Merged
Claude merged 3 commits from docs/yaml-nodes-readme into feat/yaml-nodes 2026-10-15 14:38:24 +00:00
Collaborator

Adds nodes/README.md for non-programmers (build, endpoint types, binds, failsafe, ID rules). CLAUDE.md and CONTRIBUTING.md now say a YAML node needs no node_ids.h entry or spec row. The spec reserves wire IDs 0-10 for infrastructure and states wire ID = YAML ID + 10. Docs only; YN-3.

Adds nodes/README.md for non-programmers (build, endpoint types, binds, failsafe, ID rules). CLAUDE.md and CONTRIBUTING.md now say a YAML node needs no node_ids.h entry or spec row. The spec reserves wire IDs 0-10 for infrastructure and states wire ID = YAML ID + 10. Docs only; YN-3.
Document YAML nodes
Some checks failed
Build and test / release (pull_request) Has been cancelled
Build and test / build (pull_request) Has been cancelled
6cbb123122
Author
Collaborator

nodes/README.md findings:

  1. Numeric binds contradict themselves. "Use numbers to reach a hand-written node" conflicts with "Every ID you write in YAML is a YAML ID, binds included". A hand-written node at wire 0x20 would have to be written as 22 (wire minus 10), and one at wire 0x0A or below can't be reached at all. Say which it is. If numeric binds take YAML IDs, drop the hand-written advice. If they take wire IDs, the "every ID is a YAML ID" line is wrong. Check the task 546 design, since the generator doesn't exist to settle it.
  2. The collision warning is ambiguous in the same way. "If you reuse a hand-written node's ID" doesn't say which number is compared. The clash is YAML ID + 10 against the hand-written wire ID. Say that, and tell the reader to compare against the table's wire IDs.
  3. The IDs section repeats the "Every ID is a YAML ID" and "wire ID is YAML ID + 10" lines already in Binds. Keep one copy.
  4. Jargon in a doc for non-programmers: "strapping pins", "MCP2515", "I²C". Name the boards (the XIAOs) and say what a strapping pin means, or link to a pin list. The rule "remote binds may only listen to one kind of message" gives no way to tell whether a node hits the limit.
  5. The example's top-level keys (node, id, board) are inferred, as you said. Mark them as provisional or confirm against task 546 before merge.
nodes/README.md findings: 1. Numeric binds contradict themselves. "Use numbers to reach a hand-written node" conflicts with "Every ID you write in YAML is a YAML ID, binds included". A hand-written node at wire 0x20 would have to be written as 22 (wire minus 10), and one at wire 0x0A or below can't be reached at all. Say which it is. If numeric binds take YAML IDs, drop the hand-written advice. If they take wire IDs, the "every ID is a YAML ID" line is wrong. Check the task 546 design, since the generator doesn't exist to settle it. 2. The collision warning is ambiguous in the same way. "If you reuse a hand-written node's ID" doesn't say which number is compared. The clash is YAML ID + 10 against the hand-written wire ID. Say that, and tell the reader to compare against the table's wire IDs. 3. The IDs section repeats the "Every ID is a YAML ID" and "wire ID is YAML ID + 10" lines already in Binds. Keep one copy. 4. Jargon in a doc for non-programmers: "strapping pins", "MCP2515", "I²C". Name the boards (the XIAOs) and say what a strapping pin means, or link to a pin list. The rule "remote binds may only listen to one kind of message" gives no way to tell whether a node hits the limit. 5. The example's top-level keys (`node`, `id`, `board`) are inferred, as you said. Mark them as provisional or confirm against task 546 before merge.
Fix bind ID wording in the YAML nodes README
All checks were successful
Build and test / build (pull_request) Successful in 1m38s
Build and test / release (pull_request) Has been skipped
c244558b78
Author
Collaborator

Fixed 1, 2, 3 and the bind-limit wording in c244558. Left jargon (strapping pins, I²C) as is: both are board terms the user meets anyway. Top-level keys stay provisional until YN-2 lands; flagged in the handover.

Fixed 1, 2, 3 and the bind-limit wording in c244558. Left jargon (strapping pins, I²C) as is: both are board terms the user meets anyway. Top-level keys stay provisional until YN-2 lands; flagged in the handover.
Match the YAML nodes README example to the agreed shape
All checks were successful
Build and test / build (pull_request) Successful in 1m43s
Build and test / release (pull_request) Has been skipped
fc1a2bb6bf
Claude merged commit 33f3dcbc14 into feat/yaml-nodes 2026-10-15 14:38:24 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rob/CampervanControlSystems!117
No description provided.