agentme 0.22.1 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -134,6 +134,23 @@ Names MUST NOT use generic labels such as `node1`, `process`, or `run`. Each nam
|
|
|
134
134
|
|
|
135
135
|
Judge nodes use a **prefix** convention instead of a suffix: the name MUST start with `evaluate_` followed by the subject being judged (e.g. `evaluate_progress`, `evaluate_quality`, `evaluate_completeness`, `evaluate_relevance`). This makes judge nodes immediately distinguishable from all other node types at a glance.
|
|
136
136
|
|
|
137
|
+
**Grouping prefix for related nodes:** When multiple nodes deal with the same subject, entity, or workflow region, SHOULD use a shared grouping word as a prefix followed by a verb and the role suffix. The pattern is `<group>_<verb>_<role_suffix>`. This makes the graph topology scannable and clusters related nodes together alphabetically in logs, traces, and code.
|
|
138
|
+
|
|
139
|
+
```python
|
|
140
|
+
# Nodes grouped under the "invoice" subject
|
|
141
|
+
def invoice_fetch_tool(state): ... # fetches invoice data from an API
|
|
142
|
+
def invoice_validate_step(state): ... # validates invoice fields deterministically
|
|
143
|
+
def invoice_summarize_llm(state): ... # summarizes invoice content with an LLM
|
|
144
|
+
def invoice_review_agent(state): ... # runs an agent loop to review the invoice
|
|
145
|
+
|
|
146
|
+
graph.add_node("invoice_fetch_tool", invoice_fetch_tool)
|
|
147
|
+
graph.add_node("invoice_validate_step", invoice_validate_step)
|
|
148
|
+
graph.add_node("invoice_summarize_llm", invoice_summarize_llm)
|
|
149
|
+
graph.add_node("invoice_review_agent", invoice_review_agent)
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
The grouping prefix is optional for workflows where all nodes clearly belong to a single domain. It MUST be used when a workflow spans multiple subjects or regions (e.g. `invoice_*`, `payment_*`, `notification_*`) to prevent name collisions and to make the graph structure self-documenting.
|
|
153
|
+
|
|
137
154
|
#### 10-workflow-unit-testing
|
|
138
155
|
|
|
139
156
|
All LLM calls within workflow nodes are external API calls and MUST be mocked in unit tests per [agentme-edr-018](018-ai-llm-development-standards.md) rule `04-unit-test-mocking`. Workflow unit tests must run fully offline with no real LLM provider calls.
|