main ← workflows-authoring-classify-node
When admins drafted workflows with AI, the authoring agent never used the classi…fy node, even on sites with a decision model (for example, a hosted site's seeded model). It used an AI agent node for classification instead. There were three reasons:
- The agent had no way to find a `decision_model_id`. There is a lookup tool for AI agents but none for decision models, and the prompt tells it not to invent IDs.
- Every AI-related rule in the prompt pointed at `action:ai_agent`. Its only example was "Classify the trigger post with an existing agent".
- The classify node had no examples or notes, so the agent didn't know its output shape or how to branch on it.
### Changes
- `workflow_node_catalog` now returns `load_options`: the current choices for picker parameters that don't depend on other parameters. A list is included only when it has 25 entries or fewer. Longer lists are left out, so the agent never mistakes a partial list for every value; it uses `workflow_resolve_entity` for those instead.
- The options preloading moves from `NodeTypeSerializer` to `DiscourseWorkflows::PreloadedOptions`, so the editor and the catalog share it. The serializer output doesn't change.
- The classify node gets a catalog example and notes. They cover when to prefer it over an agent, its output fields, threshold branching with `condition:if`, the rules for questions, choices, and levels, and refused answers.
- The system prompt now prefers `action:classify` for judging, labelling, routing, and gating items whenever it's in the node menu. It keeps `action:ai_agent` for generated text, tool use, and open-ended reasoning.