Sentiment Analysis Report
ivy.agent.review-sentiment-report · v1.0.0
ivyx
Read product reviews, score sentiment per review using Jev, average scores by month, and write a Markdown report.
Steps
In the order the agent's file lists them. A branch or a loop is a step too; the wiring between steps is in the file.
- 01Ivy NodeCSV Readivy.node.csv-read
- 02For eachJev · Score
- 03Ivy NodeTable Aggregateivy.node.table-aggregate
- 04Ivy NodeMarkdown Tableivy.node.markdown-table
- 05Ivy NodeFile Writeivy.node.file-write
Nodes it brings
Adding this agent in IVYX Studio adds these nodes with it. A node your workspace already has is kept as it is, even at another version.
What it touches
Collected from what each of its nodes declares, plus the model call when a step is a model turn. A declaration is the author's statement, and it is what policy rules select on.
What it needs
- A stored secret named
jev-api-key. The agent's file carries the name, never the value.
Inputs
| Field | Type | Description |
|---|---|---|
| path | string | Path to the CSV file. |
| text | string | CSV text, instead of a path. |
| delimiter | string | The field separator. |
Outputs
| Field | Type | Description |
|---|---|---|
| columns | array | Column names in file order. |
| row_count | integer | How many rows were read. |
| dates | array | list of dates extracted from rows |
| score | number | 0 to the top level number; can fall between levels. |
| level | integer | The nearest level number, 0 for the first. |
| level_text | string | The nearest level's description. |
| is | object | For each level, as lowercase words joined by _, whether it is the nearest one; a branch reads is.<level>. |
| normalized | number | The score scaled to 0–1. |
| confidence | number | 0–1, how peaked the probabilities are. |
| probabilities | object | Each level's probability, keyed by level number. |
| model | string | The model version that answered. |
| groups | integer | How many groups there are. |
| value_column | string | The name of the aggregate's column: the value column's own name, or count. |
| path | string | The absolute path written. |
| bytes | integer | How many bytes were written. |
Tests
1 of 1 test cases passed on Oct 2, 2026, in the publisher's own environment, before this version was published. The registry keeps that record; it does not run the cases again.
Requires: the stored secret jev-api-key, python:3.9
- two-months
Eight reviews over two months become a two-row monthly table in reports/sentiment.md.