Problem.voted
Emitted each time a Problem is voted.
Problem.vote emits Problem.voted when it completes on a Problem.
| Property | Value |
|---|---|
| Emitted by | Problem.vote |
| Noun | Problem |
| Wakes | None. |
Payload
Each delivery is an Event record. data holds what Problem.vote returns.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | required | Problem.voted. |
at | datetime | required | When it happened. |
seq | integer | Its position in the namespace, one more than the Event before; any seq is a cursor into the history. | |
data | json | required | The Thing as the Action left it. |
data.problem | Problem | required | The Problem, with the vote counted. |
data.problem.statement | text | required | The struggle, in the words of the ICP. |
data.problem.costPerPeriod | json | What the Problem costs the ICP per period: hours times wage, or the spend on what they hire today. | |
data.problem.address | json | The opportunity map cell it sits on: an occupation, a task it performs, and an industry. | |
data.problem.moment | text | The moment the job starts, with the observable trigger that marks it. | |
data.problem.progress | text | The progress the ICP wants, from the state before to the state after. | |
data.problem.hiredToday | json | What the ICP hires for the job today, by kind and cost: software, a Service, their own hands, or nothing. |
Example
{
"$id": "https: //api.sb/ leaseline.app/ events/ evt_gdsloSZcL7",
"$type": "Event",
"name": "Problem.voted",
"at": "2026-10-22T12: 00: 00Z",
"data": {
"problem": {
"$id": "https: //api.sb/ leaseline.app/ problems/ problem_UzvXXfKsJB",
"$type": "Problem",
"statement": "Tracks lease renewals for small property managers.",
"costPerPeriod": {},
"address": {},
"moment": "Example moment",
"progress": "Example progress",
"hiredToday": {}
}
},
"seq": 1890
}