{"action":"closed","issue":{"url":"https://api.github.com/repos/gerrymandr/RunDMCMC/issues/64","repository_url":"https://api.github.com/repos/gerrymandr/RunDMCMC","labels_url":"https://api.github.com/repos/gerrymandr/RunDMCMC/issues/64/labels{/name}","comments_url":"https://api.github.com/repos/gerrymandr/RunDMCMC/issues/64/comments","events_url":"https://api.github.com/repos/gerrymandr/RunDMCMC/issues/64/events","html_url":"https://github.com/gerrymandr/RunDMCMC/issues/64","id":334150762,"node_id":"MDU6SXNzdWUzMzQxNTA3NjI=","number":64,"title":"Updaters cannot reliably access previous updaters","user":{"login":"rwbogl","id":13404951,"node_id":"MDQ6VXNlcjEzNDA0OTUx","avatar_url":"https://avatars2.githubusercontent.com/u/13404951?v=4","gravatar_id":"","url":"https://api.github.com/users/rwbogl","html_url":"https://github.com/rwbogl","followers_url":"https://api.github.com/users/rwbogl/followers","following_url":"https://api.github.com/users/rwbogl/following{/other_user}","gists_url":"https://api.github.com/users/rwbogl/gists{/gist_id}","starred_url":"https://api.github.com/users/rwbogl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rwbogl/subscriptions","organizations_url":"https://api.github.com/users/rwbogl/orgs","repos_url":"https://api.github.com/users/rwbogl/repos","events_url":"https://api.github.com/users/rwbogl/events{/privacy}","received_events_url":"https://api.github.com/users/rwbogl/received_events","type":"User","site_admin":false},"labels":[{"id":959323704,"node_id":"MDU6TGFiZWw5NTkzMjM3MDQ=","url":"https://api.github.com/repos/gerrymandr/RunDMCMC/labels/invalid","name":"invalid","color":"e4e669","default":true}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-06-20T16:12:22Z","updated_at":"2018-06-21T15:34:19Z","closed_at":"2018-06-21T15:34:19Z","author_association":"COLLABORATOR","body":"If updaters want to access the results of previous updaters, they must do so with a one-step \"delay.\" This is because they access the `partition.field` attribute while it is being updated, meaning that they can't see new changes. In particular, updaters _cannot_ use the results of previously run updaters on the initial state.\r\n\r\nAs an example, I am currently working on a discrete Polsby-Popper updater. While `cut_edges` already tracks what edges are cutting across assignments, the D-PP updater can't use it on the first run, and can't compute the \"real\" score of any later proposed partition."}}
{"actor":{"display_login":"rwbogl"}}