task_graph__node_link__reachable_count¶
Program Contract¶
Program: count(reachable_nodes(directed_graph, source_node, exclude_source=True)); scene=node_link; scope=reachable_count
Candidate set: the visible graph, tree, network, route, matrix, table, node, edge, label, weight, path, and option elements inside the reachable_count objective scope.
Operands: visible scene state and prompt-bound operands named by reachable_nodes, directed_graph, source_node, exclude_source, True, node_link, reachable_count.
Operation: evaluate count over the candidate set using the visible graph structure, labels, weights, directions, reachability, paths, connectivity, or option-selection constraints encoded in the program expression; generation enforces a unique final answer.
Output binding: answer uses the integer schema; generation binds a unique final answer.
Annotation witnesses: annotation uses the point_set schema; the prompt/annotation contract defines the minimal visual witnesses.
Query ids: single.
Reasoning Operations¶
Families: filtering, counting, topology
Summary¶
- Domain:
graph - Scene id:
node_link - Scene:
relation - Task id:
task_graph__node_link__reachable_count - Objective: count nodes reachable from a reference node in a directed graph, excluding the reference node itself.
Query IDs¶
single- Query ids are internal replay metadata; public sampling is at the task-id level.
Answer And Annotation¶
- Answer type:
integer. - Annotation type:
point_set. - Annotation marks minimal pixel-space visual witnesses for the answer, not answer labels or non-witness annotations.
- Count tasks require
answer_gt.value == len(annotation_gt.value)unless the annotation schema is keyed or sequence based. - The start/reference node is not included in the answer or annotation.
Rendering Contract¶
- The scene uses the graph-domain renderer for
node_link. - Visual style, fonts, panel treatment, layout jitter, and post-render noise are non-semantic and must be recorded in trace metadata.
- Annotation projection is computed after final layout and style placement.
Prompt Contract¶
- Prompt text comes from graph prompt templates and scene config, not hardcoded user-facing text.
- Answer mode emits
{"answer": ...}. - Answer-and-annotation mode emits
{"annotation": ..., "answer": ...}with annotation matching the schema above.