docs: cite the manifest-next-to-a-path-node rule

The comment on examples/dora-node.yml read as an apology for a workaround.
It is the documented mechanism: a manifest describes exactly one node, and one
sitting next to a plain `path:` node is picked up automatically, which is how a
node gets contract validation without being published.
This commit is contained in:
2026-09-15 05:17:33 -03:00
parent 5a0f13d4db
commit 1c7a9c816d
2 changed files with 10 additions and 7 deletions
+9 -6
View File
@@ -1,10 +1,14 @@
# Manifest for the example source node.
#
# Its reason to exist is as much mechanical as documentary: `dora validate`
# matches a node manifest to a `path:` node by entrypoint, and without a
# manifest here the repository-root dora-node.yml -- whose entrypoint is
# `dora-image-view` -- gets tried against `examples/source.py`, does not match,
# and warns. Under `strict_types: true` that warning fails the run.
# A manifest describes exactly one node, so a second node in this repository
# gets a second manifest. This is the documented way to type a node you have
# not published: "a dora-node.yml sitting next to a plain `path:` node is
# picked up automatically" -- https://dora-rs.ai/dora/hub/node-manifest
#
# It is not optional here. `dora validate` matches a manifest to a `path:` node
# by entrypoint; with no manifest beside examples/source.py the repository-root
# one is tried against it, does not match its `dora-image-view` entrypoint, and
# warns -- which `strict_types: true` turns into a failure.
#
# Declaring the types here rather than as `output_types:` in dataflow.yml is
# what makes them checked: an inline annotation shadows the manifest, so the
@@ -50,7 +54,6 @@ outputs:
Depth of the same scene in millimetres, [height, width]: a flat wall with
the square standing in front of it.
env:
SOURCE_WIDTH:
type: int