{"action":"created","comment":{"url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/comments/40614937","id":40614937,"diff_hunk":"@@ -1,2 +1,78 @@\n Key Concepts\n ============\n+\n+Let's first recap our example reporting workflow:\n+\n+- An editor finds a good story and sends a reporter off to investigate.\n+- The reporter writes up a draft article.\n+- A more experienced reporter then reviews the article and suggests improvements.\n+- In parallel with the reporting step, a photographer captures photos for the story.\n+- A senior photographer reviews the photos and selects the best ones.\n+- The selected photos are resized and recolored for display across different media.\n+- Finally, a copy editor adds headlines and photo captions to complete the story.\n+\n+We'll now walk you through major Orchestra concepts based on the example above.\n+\n+\n+Workflows\n+---------\n+- The entire process above is called a workflow, comprised of five component steps.\n+- Two of these steps require review, where more experienced experts review the original work performed.\n+- The photo resizing step is a machine step, completed by automation rather than by experts.\n+- Each step emits a JSON blob with structured data generated by either humans or machines.\n+- Steps have access to data emitted by previous steps that they depend on, so the copy editor has access to both the story and the resized photos.\n+\n+\n+Project Distribution\n+--------------------\n+- Projects are a series of interconnected tasks. A project is an instance of a workflow; a task is an instance of a step.\n+\n+  - An editor with a story about local elections would create an elections project, with tasks for a reporter/photographer/copy editor\n+\n+- Tasks are carried out by an expert or by a machine.\n+\n+  - Photographers capture the story\n+  - Machines resize and recolor the photos\n+\n+- Experts can come from anywhere, from a company's employees to freelancers off of platforms like Upwork.\n+\n+\n+Hierarchical Review\n+-------------------\n+- Core experts do the initial work on a task.\n+- Reviewers provide feedback to other experts to make their work even better.\n+- The core expert submits the task when their work is complete.\n+- The reviewer can choose to accept the task, which is either selected for further review or marked as complete.\n+- They could also choose to return the task, requesting changes from and giving feedback to the worker they are reviewing.\n+\n+\n+Worker Certification\n+--------------------\n+- Certifications allow experts to work on tasks they're great at.\n+- Experts can work toward all sorts of certifications, picking up practice tasks to build experience.\n+\n+  - Joseph is a solid reporter but needs a little more practice as a photographer—let's give him some simple tasks so he can improve!\n+\n+- Experts need additional certification to work in a reviewer role.\n+\n+  - Amy has been reporting for quite some time and would be great at mentoring new reporters.\n+\n+\n+Life of a Task\n+--------------\n+Below are two images of the Orchestra dashboard, the launching point for expert workers.\n+Click to see how tasks move differently across the dashboard for core workers and reviewers.\n+\n+\n+Core Expert\n+~~~~~~~~~~~\n+A core expert performs initial task work which will later be reviewed. The below diagram shows a task's movement through the core worker's dashboard.","path":"docs/source/concepts.rst","position":69,"original_position":69,"commit_id":"afd99b753a93a7ef65ff1c123a7f7c3dda9ef296","original_commit_id":"afd99b753a93a7ef65ff1c123a7f7c3dda9ef296","user":{"login":"marcua","id":57725,"avatar_url":"https://avatars.githubusercontent.com/u/57725?v=3","gravatar_id":"","url":"https://api.github.com/users/marcua","html_url":"https://github.com/marcua","followers_url":"https://api.github.com/users/marcua/followers","following_url":"https://api.github.com/users/marcua/following{/other_user}","gists_url":"https://api.github.com/users/marcua/gists{/gist_id}","starred_url":"https://api.github.com/users/marcua/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcua/subscriptions","organizations_url":"https://api.github.com/users/marcua/orgs","repos_url":"https://api.github.com/users/marcua/repos","events_url":"https://api.github.com/users/marcua/events{/privacy}","received_events_url":"https://api.github.com/users/marcua/received_events","type":"User","site_admin":false},"body":"diagram below","created_at":"2015-09-28T22:38:09Z","updated_at":"2015-09-28T22:38:09Z","html_url":"https://github.com/unlimitedlabs/orchestra/pull/34#discussion_r40614937","pull_request_url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/34","_links":{"self":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/comments/40614937"},"html":{"href":"https://github.com/unlimitedlabs/orchestra/pull/34#discussion_r40614937"},"pull_request":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/34"}}},"pull_request":{"url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/34","id":46215015,"html_url":"https://github.com/unlimitedlabs/orchestra/pull/34","diff_url":"https://github.com/unlimitedlabs/orchestra/pull/34.diff","patch_url":"https://github.com/unlimitedlabs/orchestra/pull/34.patch","issue_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/34","number":34,"state":"open","locked":false,"title":"Add API reference and update docs from website copy","user":{"login":"jrbotros","id":2992765,"avatar_url":"https://avatars.githubusercontent.com/u/2992765?v=3","gravatar_id":"","url":"https://api.github.com/users/jrbotros","html_url":"https://github.com/jrbotros","followers_url":"https://api.github.com/users/jrbotros/followers","following_url":"https://api.github.com/users/jrbotros/following{/other_user}","gists_url":"https://api.github.com/users/jrbotros/gists{/gist_id}","starred_url":"https://api.github.com/users/jrbotros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrbotros/subscriptions","organizations_url":"https://api.github.com/users/jrbotros/orgs","repos_url":"https://api.github.com/users/jrbotros/repos","events_url":"https://api.github.com/users/jrbotros/events{/privacy}","received_events_url":"https://api.github.com/users/jrbotros/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-09-28T22:14:08Z","updated_at":"2015-09-28T22:38:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4dfd74c795f97377b03fc72f12fd7fab29c36867","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/34/commits","review_comments_url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/34/comments","review_comment_url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/comments{/number}","comments_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/34/comments","statuses_url":"https://api.github.com/repos/unlimitedlabs/orchestra/statuses/afd99b753a93a7ef65ff1c123a7f7c3dda9ef296","head":{"label":"unlimitedlabs:reference","ref":"reference","sha":"afd99b753a93a7ef65ff1c123a7f7c3dda9ef296","user":{"login":"unlimitedlabs","id":12401025,"avatar_url":"https://avatars.githubusercontent.com/u/12401025?v=3","gravatar_id":"","url":"https://api.github.com/users/unlimitedlabs","html_url":"https://github.com/unlimitedlabs","followers_url":"https://api.github.com/users/unlimitedlabs/followers","following_url":"https://api.github.com/users/unlimitedlabs/following{/other_user}","gists_url":"https://api.github.com/users/unlimitedlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/unlimitedlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unlimitedlabs/subscriptions","organizations_url":"https://api.github.com/users/unlimitedlabs/orgs","repos_url":"https://api.github.com/users/unlimitedlabs/repos","events_url":"https://api.github.com/users/unlimitedlabs/events{/privacy}","received_events_url":"https://api.github.com/users/unlimitedlabs/received_events","type":"Organization","site_admin":false},"repo":{"id":42593972,"name":"orchestra","full_name":"unlimitedlabs/orchestra","owner":{"login":"unlimitedlabs","id":12401025,"avatar_url":"https://avatars.githubusercontent.com/u/12401025?v=3","gravatar_id":"","url":"https://api.github.com/users/unlimitedlabs","html_url":"https://github.com/unlimitedlabs","followers_url":"https://api.github.com/users/unlimitedlabs/followers","following_url":"https://api.github.com/users/unlimitedlabs/following{/other_user}","gists_url":"https://api.github.com/users/unlimitedlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/unlimitedlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unlimitedlabs/subscriptions","organizations_url":"https://api.github.com/users/unlimitedlabs/orgs","repos_url":"https://api.github.com/users/unlimitedlabs/repos","events_url":"https://api.github.com/users/unlimitedlabs/events{/privacy}","received_events_url":"https://api.github.com/users/unlimitedlabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/unlimitedlabs/orchestra","description":"","fork":false,"url":"https://api.github.com/repos/unlimitedlabs/orchestra","forks_url":"https://api.github.com/repos/unlimitedlabs/orchestra/forks","keys_url":"https://api.github.com/repos/unlimitedlabs/orchestra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/unlimitedlabs/orchestra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/unlimitedlabs/orchestra/teams","hooks_url":"https://api.github.com/repos/unlimitedlabs/orchestra/hooks","issue_events_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/events{/number}","events_url":"https://api.github.com/repos/unlimitedlabs/orchestra/events","assignees_url":"https://api.github.com/repos/unlimitedlabs/orchestra/assignees{/user}","branches_url":"https://api.github.com/repos/unlimitedlabs/orchestra/branches{/branch}","tags_url":"https://api.github.com/repos/unlimitedlabs/orchestra/tags","blobs_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/refs{/sha}","trees_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/unlimitedlabs/orchestra/statuses/{sha}","languages_url":"https://api.github.com/repos/unlimitedlabs/orchestra/languages","stargazers_url":"https://api.github.com/repos/unlimitedlabs/orchestra/stargazers","contributors_url":"https://api.github.com/repos/unlimitedlabs/orchestra/contributors","subscribers_url":"https://api.github.com/repos/unlimitedlabs/orchestra/subscribers","subscription_url":"https://api.github.com/repos/unlimitedlabs/orchestra/subscription","commits_url":"https://api.github.com/repos/unlimitedlabs/orchestra/commits{/sha}","git_commits_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/commits{/sha}","comments_url":"https://api.github.com/repos/unlimitedlabs/orchestra/comments{/number}","issue_comment_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/comments{/number}","contents_url":"https://api.github.com/repos/unlimitedlabs/orchestra/contents/{+path}","compare_url":"https://api.github.com/repos/unlimitedlabs/orchestra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/unlimitedlabs/orchestra/merges","archive_url":"https://api.github.com/repos/unlimitedlabs/orchestra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/unlimitedlabs/orchestra/downloads","issues_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues{/number}","pulls_url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls{/number}","milestones_url":"https://api.github.com/repos/unlimitedlabs/orchestra/milestones{/number}","notifications_url":"https://api.github.com/repos/unlimitedlabs/orchestra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/unlimitedlabs/orchestra/labels{/name}","releases_url":"https://api.github.com/repos/unlimitedlabs/orchestra/releases{/id}","created_at":"2015-09-16T14:55:16Z","updated_at":"2015-09-24T21:44:39Z","pushed_at":"2015-09-28T22:14:08Z","git_url":"git://github.com/unlimitedlabs/orchestra.git","ssh_url":"git@github.com:unlimitedlabs/orchestra.git","clone_url":"https://github.com/unlimitedlabs/orchestra.git","svn_url":"https://github.com/unlimitedlabs/orchestra","homepage":null,"size":1513,"stargazers_count":2,"watchers_count":2,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":15,"forks":2,"open_issues":15,"watchers":2,"default_branch":"master"}},"base":{"label":"unlimitedlabs:master","ref":"master","sha":"5741194f430b06e50d0416cd9a2e476eb4cbc92c","user":{"login":"unlimitedlabs","id":12401025,"avatar_url":"https://avatars.githubusercontent.com/u/12401025?v=3","gravatar_id":"","url":"https://api.github.com/users/unlimitedlabs","html_url":"https://github.com/unlimitedlabs","followers_url":"https://api.github.com/users/unlimitedlabs/followers","following_url":"https://api.github.com/users/unlimitedlabs/following{/other_user}","gists_url":"https://api.github.com/users/unlimitedlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/unlimitedlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unlimitedlabs/subscriptions","organizations_url":"https://api.github.com/users/unlimitedlabs/orgs","repos_url":"https://api.github.com/users/unlimitedlabs/repos","events_url":"https://api.github.com/users/unlimitedlabs/events{/privacy}","received_events_url":"https://api.github.com/users/unlimitedlabs/received_events","type":"Organization","site_admin":false},"repo":{"id":42593972,"name":"orchestra","full_name":"unlimitedlabs/orchestra","owner":{"login":"unlimitedlabs","id":12401025,"avatar_url":"https://avatars.githubusercontent.com/u/12401025?v=3","gravatar_id":"","url":"https://api.github.com/users/unlimitedlabs","html_url":"https://github.com/unlimitedlabs","followers_url":"https://api.github.com/users/unlimitedlabs/followers","following_url":"https://api.github.com/users/unlimitedlabs/following{/other_user}","gists_url":"https://api.github.com/users/unlimitedlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/unlimitedlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unlimitedlabs/subscriptions","organizations_url":"https://api.github.com/users/unlimitedlabs/orgs","repos_url":"https://api.github.com/users/unlimitedlabs/repos","events_url":"https://api.github.com/users/unlimitedlabs/events{/privacy}","received_events_url":"https://api.github.com/users/unlimitedlabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/unlimitedlabs/orchestra","description":"","fork":false,"url":"https://api.github.com/repos/unlimitedlabs/orchestra","forks_url":"https://api.github.com/repos/unlimitedlabs/orchestra/forks","keys_url":"https://api.github.com/repos/unlimitedlabs/orchestra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/unlimitedlabs/orchestra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/unlimitedlabs/orchestra/teams","hooks_url":"https://api.github.com/repos/unlimitedlabs/orchestra/hooks","issue_events_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/events{/number}","events_url":"https://api.github.com/repos/unlimitedlabs/orchestra/events","assignees_url":"https://api.github.com/repos/unlimitedlabs/orchestra/assignees{/user}","branches_url":"https://api.github.com/repos/unlimitedlabs/orchestra/branches{/branch}","tags_url":"https://api.github.com/repos/unlimitedlabs/orchestra/tags","blobs_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/refs{/sha}","trees_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/unlimitedlabs/orchestra/statuses/{sha}","languages_url":"https://api.github.com/repos/unlimitedlabs/orchestra/languages","stargazers_url":"https://api.github.com/repos/unlimitedlabs/orchestra/stargazers","contributors_url":"https://api.github.com/repos/unlimitedlabs/orchestra/contributors","subscribers_url":"https://api.github.com/repos/unlimitedlabs/orchestra/subscribers","subscription_url":"https://api.github.com/repos/unlimitedlabs/orchestra/subscription","commits_url":"https://api.github.com/repos/unlimitedlabs/orchestra/commits{/sha}","git_commits_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/commits{/sha}","comments_url":"https://api.github.com/repos/unlimitedlabs/orchestra/comments{/number}","issue_comment_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/comments{/number}","contents_url":"https://api.github.com/repos/unlimitedlabs/orchestra/contents/{+path}","compare_url":"https://api.github.com/repos/unlimitedlabs/orchestra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/unlimitedlabs/orchestra/merges","archive_url":"https://api.github.com/repos/unlimitedlabs/orchestra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/unlimitedlabs/orchestra/downloads","issues_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues{/number}","pulls_url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls{/number}","milestones_url":"https://api.github.com/repos/unlimitedlabs/orchestra/milestones{/number}","notifications_url":"https://api.github.com/repos/unlimitedlabs/orchestra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/unlimitedlabs/orchestra/labels{/name}","releases_url":"https://api.github.com/repos/unlimitedlabs/orchestra/releases{/id}","created_at":"2015-09-16T14:55:16Z","updated_at":"2015-09-24T21:44:39Z","pushed_at":"2015-09-28T22:14:08Z","git_url":"git://github.com/unlimitedlabs/orchestra.git","ssh_url":"git@github.com:unlimitedlabs/orchestra.git","clone_url":"https://github.com/unlimitedlabs/orchestra.git","svn_url":"https://github.com/unlimitedlabs/orchestra","homepage":null,"size":1513,"stargazers_count":2,"watchers_count":2,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":15,"forks":2,"open_issues":15,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/34"},"html":{"href":"https://github.com/unlimitedlabs/orchestra/pull/34"},"issue":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/34"},"comments":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/34/comments"},"review_comments":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/34/comments"},"review_comment":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/34/commits"},"statuses":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/statuses/afd99b753a93a7ef65ff1c123a7f7c3dda9ef296"}}}}