Changeset is received via osm-metronome -> dynamosm
dynamosm-validation takes the changeset and:
- updates the scoreboards
- cross-updates the scoreboards
Report
{
"reason": "User account is less than 10 days old",
// computer-readable id, used for batch changes like if we want to remove a rule
"reason_id": "qa/NEW_ACCOUNT",
"karma": -0.1,
"source": "user/200350",
"target": "changeset/4242",
"report_id": "521421"
}
Comment
{
"reason": "User account is less than 10 days old",
"reason_id": "human/COMMENT",
"karma": 0.1,
"message": "This is a perfectly valid edit",
"target": "changeset/4242",
"report_id": "521422"
}
DynamoDB
Changeset table
PRIMARY | SECONDARY | SECONDARY | | |
changeset | user | reason_id | report_id | karma | message
---------------------------------------------------------------------------------------
4242 | 200350 | qa/NEW_ACCOUNT | 521421 | -0.1 |
4242 | 200350 | human/COMMENT | 521422 | 0 | This is a perfectly valid edit
Changeset rollup table
PRIMARY | SECONDARY | SECONDARY |
changeset | user | karma |
------------------------------------
4242 | 200350 | -0.1 |
Feature table
PRIMARY | SECONDARY | SECONDARY | SECONDARY | | |
feature | user | changeset | reason_id | report_id | karma |
------------------------------------------------------------------------
324242 | 200350 | 4242 | qa/SELF_INTERSECT | 521425 | -0.4 |
Reason table
PRIMARY | SECONDARY | | |
reason_id | target | karma | success |
---------------------------------------------------
qa/SELF_INTERSECT | feature/324242 | -0.4 | false |
What distinguishes between open & closed reports? (also gist comments suck for having a conversation) ticket somewhere?