fix: remove _ single-exit for user roles
CI / check (pull_request) Successful in 3m7s

$START keeps _ (special entry node). All user-defined roles now require
explicit $status enum in frontmatter + matching graph keys.

- moderator: remove UNIT_STATUS fallback, error on missing $status
- validate: reject _ graph keys for non-$START roles
- validate-semantic: remove checkSingleExitRole(), require $status enum
- update all test fixtures to use explicit status values
- fix examples/analyze-topic.yaml

Fixes #86
This commit is contained in:
2026-06-05 02:00:45 +00:00
parent f373945304
commit 63cb4d3645
14 changed files with 158 additions and 138 deletions
@@ -54,7 +54,7 @@ roles:
type: object
required: ["$status"]
properties:
$status: { type: string }
$status: { type: string, enum: ["ready"] }
graph:
$START:
_:
@@ -62,7 +62,7 @@ graph:
prompt: "Plan the work"
location: null
planner:
_:
ready:
role: $END
prompt: "Done"
location: null
@@ -110,7 +110,7 @@ roles:
type: object
required: ["$status"]
properties:
$status: { type: string }
$status: { type: string, enum: ["ready"] }
graph:
$START:
_:
@@ -118,7 +118,7 @@ graph:
prompt: "Plan"
location: null
planner:
_:
ready:
role: $END
prompt: "Done"
location: null
@@ -153,7 +153,7 @@ roles:
type: object
required: ["$status"]
properties:
$status: { type: string }
$status: { type: string, enum: ["ready"] }
graph:
$START:
_:
@@ -161,7 +161,7 @@ graph:
prompt: "Plan"
location: null
planner:
_:
ready:
role: $END
prompt: "Done"
location: null