{"action":"created","comment":{"url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/comments/125188339","pull_request_review_id":47555038,"id":125188339,"diff_hunk":"@@ -26,48 +49,53 @@ namespace systems {\n /// necessary information for stochastic analysis).\n ///\n /// @ingroup primitive_systems\n-template <typename Distribution>\n+template <typename Distribution, typename Generator = std::mt19937>\n class RandomSource : public LeafSystem<double> {\n  public:\n   DRAKE_NO_COPY_NO_MOVE_NO_ASSIGN(RandomSource)\n \n+  typedef systems::RandomState<Distribution, Generator> RandomState;\n+  typedef typename RandomState::Seed Seed;\n+\n   /// Constructs the RandomSource system.\n   /// @param num_outputs The dimension of the (single) vector output port.\n   /// @param sampling_interval_sec The sampling interval in seconds.\n   RandomSource(int num_outputs, double sampling_interval_sec) {\n-    this->DeclareDiscreteUpdatePeriodSec(sampling_interval_sec);\n+    this->DeclarePeriodicUnrestrictedUpdate(sampling_interval_sec, 0.);\n     this->DeclareVectorOutputPort(BasicVector<double>(num_outputs),\n                                   &RandomSource::CopyStateToOutput);\n     this->DeclareDiscreteState(num_outputs);\n+    this->DeclareAbstractState(AbstractValue::Make(RandomState(seed_)));\n   }\n \n   /// Initializes the random number generator.\n-  void set_random_seed(double seed) { generator_.seed(seed); }\n+  void set_random_seed(Seed seed) { seed_ = seed; }\n \n  private:\n   // Computes a random number and stores it in the discrete state.\n-  void DoCalcDiscreteVariableUpdates(\n-      const drake::systems::Context<double>& context,\n-      drake::systems::DiscreteValues<double>* updates) const override {\n+  void DoCalcUnrestrictedUpdate(const Context<double>& context,\n+                                State<double>* state) const override {\n+    auto& random_state =\n+        state->template get_mutable_abstract_state<RandomState>(0);\n+    auto* updates = state->get_mutable_discrete_state();\n     const int N = updates->size();\n     for (int i = 0; i < N; i++) {\n-      double random_value = distribution_(generator_);\n-      (*updates)[i] = random_value;\n+      (*updates)[i] = random_state.GetNextValue();\n     }\n   }\n \n+  std::unique_ptr<AbstractValues> AllocateAbstractState() const override {\n+    return std::make_unique<AbstractValues>(\n+        AbstractValue::Make(RandomState(seed_)));\n+  }\n+\n   // Output is the zero-order hold of the discrete state.\n   void CopyStateToOutput(const Context<double>& context,\n                          BasicVector<double>* output) const {\n     output->SetFromVector(context.get_discrete_state(0)->CopyToVector());\n   }\n \n-  // Note: currently there is undeclared state in the variables below.\n-  // TODO(russt): Use abstract state to save the parameters of the generator and\n-  // distribution (waiting on event scheduling for abstract states).\n-  // TODO(russt): Obtain consistent results across multiple platforms (#4361).","path":"drake/systems/primitives/random_source.h","position":97,"original_position":97,"commit_id":"3166f3b9aa8792a1d6b4b2e8e34db6300b1b707b","original_commit_id":"3166f3b9aa8792a1d6b4b2e8e34db6300b1b707b","user":{"login":"EricCousineau-TRI","id":26719449,"avatar_url":"https://avatars2.githubusercontent.com/u/26719449?v=3","gravatar_id":"","url":"https://api.github.com/users/EricCousineau-TRI","html_url":"https://github.com/EricCousineau-TRI","followers_url":"https://api.github.com/users/EricCousineau-TRI/followers","following_url":"https://api.github.com/users/EricCousineau-TRI/following{/other_user}","gists_url":"https://api.github.com/users/EricCousineau-TRI/gists{/gist_id}","starred_url":"https://api.github.com/users/EricCousineau-TRI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EricCousineau-TRI/subscriptions","organizations_url":"https://api.github.com/users/EricCousineau-TRI/orgs","repos_url":"https://api.github.com/users/EricCousineau-TRI/repos","events_url":"https://api.github.com/users/EricCousineau-TRI/events{/privacy}","received_events_url":"https://api.github.com/users/EricCousineau-TRI/received_events","type":"User","site_admin":false},"body":"Yessir, I had moved line 68 to [line 29](https://github.com/RobotLocomotion/drake/pull/6279/files#diff-200ea6f0400992a71e7520bfcc8c8a5eR29) in `RandomState`.\r\n\r\nWould you like me to take on this `TODO` item, and assign #4361 to myself?","created_at":"2017-07-02T17:34:01Z","updated_at":"2017-07-02T17:34:01Z","html_url":"https://github.com/RobotLocomotion/drake/pull/6279#discussion_r125188339","pull_request_url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/6279","_links":{"self":{"href":"https://api.github.com/repos/RobotLocomotion/drake/pulls/comments/125188339"},"html":{"href":"https://github.com/RobotLocomotion/drake/pull/6279#discussion_r125188339"},"pull_request":{"href":"https://api.github.com/repos/RobotLocomotion/drake/pulls/6279"}}},"pull_request":{"url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/6279","id":124509785,"html_url":"https://github.com/RobotLocomotion/drake/pull/6279","diff_url":"https://github.com/RobotLocomotion/drake/pull/6279.diff","patch_url":"https://github.com/RobotLocomotion/drake/pull/6279.patch","issue_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/6279","number":6279,"state":"closed","locked":false,"title":"Place RandomSource generator / distribution states into AbstractState.","user":{"login":"EricCousineau-TRI","id":26719449,"avatar_url":"https://avatars2.githubusercontent.com/u/26719449?v=3","gravatar_id":"","url":"https://api.github.com/users/EricCousineau-TRI","html_url":"https://github.com/EricCousineau-TRI","followers_url":"https://api.github.com/users/EricCousineau-TRI/followers","following_url":"https://api.github.com/users/EricCousineau-TRI/following{/other_user}","gists_url":"https://api.github.com/users/EricCousineau-TRI/gists{/gist_id}","starred_url":"https://api.github.com/users/EricCousineau-TRI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EricCousineau-TRI/subscriptions","organizations_url":"https://api.github.com/users/EricCousineau-TRI/orgs","repos_url":"https://api.github.com/users/EricCousineau-TRI/repos","events_url":"https://api.github.com/users/EricCousineau-TRI/events{/privacy}","received_events_url":"https://api.github.com/users/EricCousineau-TRI/received_events","type":"User","site_admin":false},"body":"This addresses the `TODO` comment to make the `RandomSource` generator use `AbstractState` to store the generator and distribution.\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/robotlocomotion/drake/6279)\n<!-- Reviewable:end -->\n","created_at":"2017-06-07T20:24:08Z","updated_at":"2017-07-02T17:34:01Z","closed_at":"2017-06-26T18:42:57Z","merged_at":"2017-06-26T18:42:57Z","merge_commit_sha":"76111de680602e4f3ad9b35a3f60c68e7db04095","assignee":{"login":"sammy-tri","id":17596504,"avatar_url":"https://avatars0.githubusercontent.com/u/17596504?v=3","gravatar_id":"","url":"https://api.github.com/users/sammy-tri","html_url":"https://github.com/sammy-tri","followers_url":"https://api.github.com/users/sammy-tri/followers","following_url":"https://api.github.com/users/sammy-tri/following{/other_user}","gists_url":"https://api.github.com/users/sammy-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/sammy-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sammy-tri/subscriptions","organizations_url":"https://api.github.com/users/sammy-tri/orgs","repos_url":"https://api.github.com/users/sammy-tri/repos","events_url":"https://api.github.com/users/sammy-tri/events{/privacy}","received_events_url":"https://api.github.com/users/sammy-tri/received_events","type":"User","site_admin":false},"assignees":[{"login":"ggould-tri","id":17596413,"avatar_url":"https://avatars1.githubusercontent.com/u/17596413?v=3","gravatar_id":"","url":"https://api.github.com/users/ggould-tri","html_url":"https://github.com/ggould-tri","followers_url":"https://api.github.com/users/ggould-tri/followers","following_url":"https://api.github.com/users/ggould-tri/following{/other_user}","gists_url":"https://api.github.com/users/ggould-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/ggould-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ggould-tri/subscriptions","organizations_url":"https://api.github.com/users/ggould-tri/orgs","repos_url":"https://api.github.com/users/ggould-tri/repos","events_url":"https://api.github.com/users/ggould-tri/events{/privacy}","received_events_url":"https://api.github.com/users/ggould-tri/received_events","type":"User","site_admin":false},{"login":"sammy-tri","id":17596504,"avatar_url":"https://avatars0.githubusercontent.com/u/17596504?v=3","gravatar_id":"","url":"https://api.github.com/users/sammy-tri","html_url":"https://github.com/sammy-tri","followers_url":"https://api.github.com/users/sammy-tri/followers","following_url":"https://api.github.com/users/sammy-tri/following{/other_user}","gists_url":"https://api.github.com/users/sammy-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/sammy-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sammy-tri/subscriptions","organizations_url":"https://api.github.com/users/sammy-tri/orgs","repos_url":"https://api.github.com/users/sammy-tri/repos","events_url":"https://api.github.com/users/sammy-tri/events{/privacy}","received_events_url":"https://api.github.com/users/sammy-tri/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/6279/commits","review_comments_url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/6279/comments","review_comment_url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/comments{/number}","comments_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/6279/comments","statuses_url":"https://api.github.com/repos/RobotLocomotion/drake/statuses/3166f3b9aa8792a1d6b4b2e8e34db6300b1b707b","head":{"label":"EricCousineau-TRI:feature/noise_abstract_state","ref":"feature/noise_abstract_state","sha":"3166f3b9aa8792a1d6b4b2e8e34db6300b1b707b","user":{"login":"EricCousineau-TRI","id":26719449,"avatar_url":"https://avatars2.githubusercontent.com/u/26719449?v=3","gravatar_id":"","url":"https://api.github.com/users/EricCousineau-TRI","html_url":"https://github.com/EricCousineau-TRI","followers_url":"https://api.github.com/users/EricCousineau-TRI/followers","following_url":"https://api.github.com/users/EricCousineau-TRI/following{/other_user}","gists_url":"https://api.github.com/users/EricCousineau-TRI/gists{/gist_id}","starred_url":"https://api.github.com/users/EricCousineau-TRI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EricCousineau-TRI/subscriptions","organizations_url":"https://api.github.com/users/EricCousineau-TRI/orgs","repos_url":"https://api.github.com/users/EricCousineau-TRI/repos","events_url":"https://api.github.com/users/EricCousineau-TRI/events{/privacy}","received_events_url":"https://api.github.com/users/EricCousineau-TRI/received_events","type":"User","site_admin":false},"repo":{"id":86362731,"name":"drake","full_name":"EricCousineau-TRI/drake","owner":{"login":"EricCousineau-TRI","id":26719449,"avatar_url":"https://avatars2.githubusercontent.com/u/26719449?v=3","gravatar_id":"","url":"https://api.github.com/users/EricCousineau-TRI","html_url":"https://github.com/EricCousineau-TRI","followers_url":"https://api.github.com/users/EricCousineau-TRI/followers","following_url":"https://api.github.com/users/EricCousineau-TRI/following{/other_user}","gists_url":"https://api.github.com/users/EricCousineau-TRI/gists{/gist_id}","starred_url":"https://api.github.com/users/EricCousineau-TRI/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/EricCousineau-TRI/subscriptions","organizations_url":"https://api.github.com/users/EricCousineau-TRI/orgs","repos_url":"https://api.github.com/users/EricCousineau-TRI/repos","events_url":"https://api.github.com/users/EricCousineau-TRI/events{/privacy}","received_events_url":"https://api.github.com/users/EricCousineau-TRI/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/EricCousineau-TRI/drake","description":"A planning, control, and analysis toolbox for nonlinear dynamical systems.  More info at","fork":true,"url":"https://api.github.com/repos/EricCousineau-TRI/drake","forks_url":"https://api.github.com/repos/EricCousineau-TRI/drake/forks","keys_url":"https://api.github.com/repos/EricCousineau-TRI/drake/keys{/key_id}","collaborators_url":"https://api.github.com/repos/EricCousineau-TRI/drake/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/EricCousineau-TRI/drake/teams","hooks_url":"https://api.github.com/repos/EricCousineau-TRI/drake/hooks","issue_events_url":"https://api.github.com/repos/EricCousineau-TRI/drake/issues/events{/number}","events_url":"https://api.github.com/repos/EricCousineau-TRI/drake/events","assignees_url":"https://api.github.com/repos/EricCousineau-TRI/drake/assignees{/user}","branches_url":"https://api.github.com/repos/EricCousineau-TRI/drake/branches{/branch}","tags_url":"https://api.github.com/repos/EricCousineau-TRI/drake/tags","blobs_url":"https://api.github.com/repos/EricCousineau-TRI/drake/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/EricCousineau-TRI/drake/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/EricCousineau-TRI/drake/git/refs{/sha}","trees_url":"https://api.github.com/repos/EricCousineau-TRI/drake/git/trees{/sha}","statuses_url":"https://api.github.com/repos/EricCousineau-TRI/drake/statuses/{sha}","languages_url":"https://api.github.com/repos/EricCousineau-TRI/drake/languages","stargazers_url":"https://api.github.com/repos/EricCousineau-TRI/drake/stargazers","contributors_url":"https://api.github.com/repos/EricCousineau-TRI/drake/contributors","subscribers_url":"https://api.github.com/repos/EricCousineau-TRI/drake/subscribers","subscription_url":"https://api.github.com/repos/EricCousineau-TRI/drake/subscription","commits_url":"https://api.github.com/repos/EricCousineau-TRI/drake/commits{/sha}","git_commits_url":"https://api.github.com/repos/EricCousineau-TRI/drake/git/commits{/sha}","comments_url":"https://api.github.com/repos/EricCousineau-TRI/drake/comments{/number}","issue_comment_url":"https://api.github.com/repos/EricCousineau-TRI/drake/issues/comments{/number}","contents_url":"https://api.github.com/repos/EricCousineau-TRI/drake/contents/{+path}","compare_url":"https://api.github.com/repos/EricCousineau-TRI/drake/compare/{base}...{head}","merges_url":"https://api.github.com/repos/EricCousineau-TRI/drake/merges","archive_url":"https://api.github.com/repos/EricCousineau-TRI/drake/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/EricCousineau-TRI/drake/downloads","issues_url":"https://api.github.com/repos/EricCousineau-TRI/drake/issues{/number}","pulls_url":"https://api.github.com/repos/EricCousineau-TRI/drake/pulls{/number}","milestones_url":"https://api.github.com/repos/EricCousineau-TRI/drake/milestones{/number}","notifications_url":"https://api.github.com/repos/EricCousineau-TRI/drake/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/EricCousineau-TRI/drake/labels{/name}","releases_url":"https://api.github.com/repos/EricCousineau-TRI/drake/releases{/id}","deployments_url":"https://api.github.com/repos/EricCousineau-TRI/drake/deployments","created_at":"2017-03-27T17:10:44Z","updated_at":"2017-03-27T17:10:59Z","pushed_at":"2017-06-30T22:48:15Z","git_url":"git://github.com/EricCousineau-TRI/drake.git","ssh_url":"git@github.com:EricCousineau-TRI/drake.git","clone_url":"https://github.com/EricCousineau-TRI/drake.git","svn_url":"https://github.com/EricCousineau-TRI/drake","homepage":"http://drake.mit.edu","size":213119,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":0,"default_branch":"master"}},"base":{"label":"RobotLocomotion:master","ref":"master","sha":"2c6909fdb7f44e940bcdc1d7fc8a2b05681fbd42","user":{"login":"RobotLocomotion","id":6496345,"avatar_url":"https://avatars2.githubusercontent.com/u/6496345?v=3","gravatar_id":"","url":"https://api.github.com/users/RobotLocomotion","html_url":"https://github.com/RobotLocomotion","followers_url":"https://api.github.com/users/RobotLocomotion/followers","following_url":"https://api.github.com/users/RobotLocomotion/following{/other_user}","gists_url":"https://api.github.com/users/RobotLocomotion/gists{/gist_id}","starred_url":"https://api.github.com/users/RobotLocomotion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RobotLocomotion/subscriptions","organizations_url":"https://api.github.com/users/RobotLocomotion/orgs","repos_url":"https://api.github.com/users/RobotLocomotion/repos","events_url":"https://api.github.com/users/RobotLocomotion/events{/privacy}","received_events_url":"https://api.github.com/users/RobotLocomotion/received_events","type":"Organization","site_admin":false},"repo":{"id":16256144,"name":"drake","full_name":"RobotLocomotion/drake","owner":{"login":"RobotLocomotion","id":6496345,"avatar_url":"https://avatars2.githubusercontent.com/u/6496345?v=3","gravatar_id":"","url":"https://api.github.com/users/RobotLocomotion","html_url":"https://github.com/RobotLocomotion","followers_url":"https://api.github.com/users/RobotLocomotion/followers","following_url":"https://api.github.com/users/RobotLocomotion/following{/other_user}","gists_url":"https://api.github.com/users/RobotLocomotion/gists{/gist_id}","starred_url":"https://api.github.com/users/RobotLocomotion/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RobotLocomotion/subscriptions","organizations_url":"https://api.github.com/users/RobotLocomotion/orgs","repos_url":"https://api.github.com/users/RobotLocomotion/repos","events_url":"https://api.github.com/users/RobotLocomotion/events{/privacy}","received_events_url":"https://api.github.com/users/RobotLocomotion/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/RobotLocomotion/drake","description":"A planning, control, and analysis toolbox for nonlinear dynamical systems.  More info at","fork":false,"url":"https://api.github.com/repos/RobotLocomotion/drake","forks_url":"https://api.github.com/repos/RobotLocomotion/drake/forks","keys_url":"https://api.github.com/repos/RobotLocomotion/drake/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RobotLocomotion/drake/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RobotLocomotion/drake/teams","hooks_url":"https://api.github.com/repos/RobotLocomotion/drake/hooks","issue_events_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/events{/number}","events_url":"https://api.github.com/repos/RobotLocomotion/drake/events","assignees_url":"https://api.github.com/repos/RobotLocomotion/drake/assignees{/user}","branches_url":"https://api.github.com/repos/RobotLocomotion/drake/branches{/branch}","tags_url":"https://api.github.com/repos/RobotLocomotion/drake/tags","blobs_url":"https://api.github.com/repos/RobotLocomotion/drake/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RobotLocomotion/drake/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RobotLocomotion/drake/git/refs{/sha}","trees_url":"https://api.github.com/repos/RobotLocomotion/drake/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RobotLocomotion/drake/statuses/{sha}","languages_url":"https://api.github.com/repos/RobotLocomotion/drake/languages","stargazers_url":"https://api.github.com/repos/RobotLocomotion/drake/stargazers","contributors_url":"https://api.github.com/repos/RobotLocomotion/drake/contributors","subscribers_url":"https://api.github.com/repos/RobotLocomotion/drake/subscribers","subscription_url":"https://api.github.com/repos/RobotLocomotion/drake/subscription","commits_url":"https://api.github.com/repos/RobotLocomotion/drake/commits{/sha}","git_commits_url":"https://api.github.com/repos/RobotLocomotion/drake/git/commits{/sha}","comments_url":"https://api.github.com/repos/RobotLocomotion/drake/comments{/number}","issue_comment_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/comments{/number}","contents_url":"https://api.github.com/repos/RobotLocomotion/drake/contents/{+path}","compare_url":"https://api.github.com/repos/RobotLocomotion/drake/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RobotLocomotion/drake/merges","archive_url":"https://api.github.com/repos/RobotLocomotion/drake/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RobotLocomotion/drake/downloads","issues_url":"https://api.github.com/repos/RobotLocomotion/drake/issues{/number}","pulls_url":"https://api.github.com/repos/RobotLocomotion/drake/pulls{/number}","milestones_url":"https://api.github.com/repos/RobotLocomotion/drake/milestones{/number}","notifications_url":"https://api.github.com/repos/RobotLocomotion/drake/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RobotLocomotion/drake/labels{/name}","releases_url":"https://api.github.com/repos/RobotLocomotion/drake/releases{/id}","deployments_url":"https://api.github.com/repos/RobotLocomotion/drake/deployments","created_at":"2014-01-26T16:11:05Z","updated_at":"2017-06-27T18:54:12Z","pushed_at":"2017-07-02T03:06:46Z","git_url":"git://github.com/RobotLocomotion/drake.git","ssh_url":"git@github.com:RobotLocomotion/drake.git","clone_url":"https://github.com/RobotLocomotion/drake.git","svn_url":"https://github.com/RobotLocomotion/drake","homepage":"http://drake.mit.edu","size":258067,"stargazers_count":653,"watchers_count":653,"language":"C++","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":435,"mirror_url":null,"open_issues_count":460,"forks":435,"open_issues":460,"watchers":653,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/RobotLocomotion/drake/pulls/6279"},"html":{"href":"https://github.com/RobotLocomotion/drake/pull/6279"},"issue":{"href":"https://api.github.com/repos/RobotLocomotion/drake/issues/6279"},"comments":{"href":"https://api.github.com/repos/RobotLocomotion/drake/issues/6279/comments"},"review_comments":{"href":"https://api.github.com/repos/RobotLocomotion/drake/pulls/6279/comments"},"review_comment":{"href":"https://api.github.com/repos/RobotLocomotion/drake/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/RobotLocomotion/drake/pulls/6279/commits"},"statuses":{"href":"https://api.github.com/repos/RobotLocomotion/drake/statuses/3166f3b9aa8792a1d6b4b2e8e34db6300b1b707b"}}}}
{"actor":{"display_login":"EricCousineau-TRI"}}