Compare commits

...

1 Commits

Author SHA1 Message Date
HAL9000 6a4b617517 docs(spec): align subgraph node field from actor_path to actor_ref (top-level)
CI / lint (pull_request) Successful in 29s
CI / typecheck (pull_request) Successful in 48s
CI / security (pull_request) Successful in 53s
CI / build (pull_request) Successful in 30s
CI / helm (pull_request) Successful in 26s
CI / quality (pull_request) Successful in 47s
CI / push-validation (pull_request) Successful in 49s
CI / e2e_tests (pull_request) Successful in 3m42s
CI / integration_tests (pull_request) Successful in 7m30s
CI / unit_tests (pull_request) Successful in 10m54s
CI / docker (pull_request) Successful in 11s
CI / coverage (pull_request) Successful in 13m56s
CI / status-check (pull_request) Successful in 1s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 57m30s
Relates to #5427

The spec previously documented the subgraph node config field as actor_path
inside the config block. The implementation (schema.py) uses actor_ref as a
top-level field on NodeDefinition, not inside config.

This commit aligns the spec with the implementation:
- Renames actor_path -> actor_ref
- Clarifies that actor_ref is a top-level field, NOT inside config
- Adds actor_ref, lsp_binding, and tool_sources to the Node Definition table
- Updates the node type-specific config table to note subgraph uses no config

Note: The compiler (compiler.py) still has a bug reading node.config.get('actor_ref')
instead of node.actor_ref. That is a separate implementation fix tracked in #5427.
2026-04-09 06:59:10 +00:00
+5 -2
View File
@@ -20547,7 +20547,10 @@ For `type: graph` actors, the `route` field defines the graph structure:
| `type` | string | Yes | Node type: `agent`, `tool`, `conditional`, or `subgraph`. |
| `name` | string | Yes | Human-readable node name. |
| `description` | string | Yes | Node purpose and behavior. |
| `config` | object | No | Type-specific configuration (see below). |
| `config` | object | No | Type-specific configuration (see below). Not used by `subgraph` nodes. |
| `actor_ref` | string | No | Namespaced actor reference for `subgraph` nodes (e.g., `local/my-sub-actor`). Top-level field — **not** inside `config`. Must follow `namespace/name` format. |
| `lsp_binding` | object | No | Per-node LSP server binding (optional). |
| `tool_sources` | array | No | Tool source references for this node (optional). |
**Node type-specific config:**
@@ -20556,7 +20559,7 @@ For `type: graph` actors, the `route` field defines the graph structure:
| `agent` | `model`, `prompt`, `tools` | LLM agent with optional tools |
| `tool` | `tool_name`, `parameters` | Deterministic tool execution |
| `conditional` | `conditions[].check`, `conditions[].route_to` | Routes based on state conditions (Python expressions) |
| `subgraph` | `actor_path` | Embeds another actor as a nested workflow |
| `subgraph` | *(none — use top-level `actor_ref` field)* | Embeds another actor as a nested workflow. Set `actor_ref: namespace/actor-name` at the node level, not inside `config`. |
**Edge Definition:**