{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/arcade/pulls/comments/197306293","pull_request_review_id":131027701,"id":197306293,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5NzMwNjI5Mw==","diff_hunk":"@@ -0,0 +1,112 @@\n+# Build Asset Registry\n+\n+The database containing build asset version information, channels, and subscriptions used by [DARC], [Maestro], and [MC]\n+\n+## Requirements\n+* [Build]s can be assigned to one or more [Channel]\\(s)\n+* [Channel]s and [Build]s can be either private or public\n+* Public Repositories cannot subscribe to private [Channel]s\n+* [MC] can get full dependency graph of a [Build]\n+\n+## Scenarios\n+\n+1. [Query](#query)\n+1. [Add](#add)\n+1. [Update](#update)\n+\n+### Query\n+\n+1. Get latest [Build] of a repository for a channel\n+    * Used by [Darc] to determine if a dependency needs to be updated\n+\n+1. Get repositories that subscribe to a Repository/Channel\n+    * Used by [Darc] for push trigger dependency flow\n+\n+1. Get dependencies of a build\n+    * Used by [MC] to show dependency tree for a build\n+\n+### Add\n+\n+1. Push new [Asset] and [Build] information\n+    * Used by repository build once new assets are ready for consumption\n+\n+1. Create new [Channel]\\(s) and [Subscription]\\(s)\n+    * Used by [Maestro] and [Darc] for product release, feature branch creation, and dev PR scenarios\n+\n+### Update\n+\n+1. Assign existing [Build] to a [Channel]\n+    * Used by [Maestro] based on repo policy\n+    * Used by [Darc] when asked by devs\n+\n+1. Create/Edit/Delete existing [Subscription]\\(s) and/or [Channel]\\(s)\n+    * Used by users\n+\n+## Definitions\n+\n+### Subscription\n+Represents a specific repository branch's desire to receive updates from another repository on a specific [Channel].\n+```csharp\n+class Subscription {\n+    string ChannelName;\n+    string SourceRepository;\n+    string TargetRepository;\n+    string TargetBranch;\n+    SubscriptionPolicy Policy;\n+}\n+```\n+\n+### Subscription Policy\n+Represents the policies that are applied to a [Subscription].\n+```csharp\n+class SubscriptionPolicy {\n+    UpdatePolicy UpdatePolicy; // \"every day\", \"every build\", ...\n+    MergePolicy MergePolicy; // \"when green\", \"unit tests passed\", \"never\", ...\n+}\n+```\n+\n+### Channel\n+A Channel contains a set of builds\n+```csharp\n+class Channel {\n+    string Name;\n+    List<Build> Builds;\n+}\n+```\n+\n+### Build\n+Identifies a specific build of a repository.\n+```csharp\n+class Build {\n+    string Repository;","path":"Documentation/Maestro/BuildAssetRegistry.md","position":82,"original_position":81,"commit_id":"143721cb7d96530e4b07782b41fba6aead94a1e5","original_commit_id":"543fb5578a2fb85f39ee113fb4282a3860beec1b","user":{"login":"dagood","id":12819531,"node_id":"MDQ6VXNlcjEyODE5NTMx","avatar_url":"https://avatars3.githubusercontent.com/u/12819531?v=4","gravatar_id":"","url":"https://api.github.com/users/dagood","html_url":"https://github.com/dagood","followers_url":"https://api.github.com/users/dagood/followers","following_url":"https://api.github.com/users/dagood/following{/other_user}","gists_url":"https://api.github.com/users/dagood/gists{/gist_id}","starred_url":"https://api.github.com/users/dagood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dagood/subscriptions","organizations_url":"https://api.github.com/users/dagood/orgs","repos_url":"https://api.github.com/users/dagood/repos","events_url":"https://api.github.com/users/dagood/events{/privacy}","received_events_url":"https://api.github.com/users/dagood/received_events","type":"User","site_admin":false},"body":"That's this scenario, if I understand it correctly: https://github.com/dotnet/arcade/issues/171.\r\n\r\n> CoreCLR would like to be able to produce a full prodcon build that has just the runtime built as chk. This way as the full stack does their testing they will get better test coverage.","created_at":"2018-06-21T23:34:40Z","updated_at":"2018-06-21T23:34:41Z","html_url":"https://github.com/dotnet/arcade/pull/268#discussion_r197306293","pull_request_url":"https://api.github.com/repos/dotnet/arcade/pulls/268","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/dotnet/arcade/pulls/comments/197306293"},"html":{"href":"https://github.com/dotnet/arcade/pull/268#discussion_r197306293"},"pull_request":{"href":"https://api.github.com/repos/dotnet/arcade/pulls/268"}},"in_reply_to_id":196820948},"pull_request":{"url":"https://api.github.com/repos/dotnet/arcade/pulls/268","id":195952854,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk1OTUyODU0","html_url":"https://github.com/dotnet/arcade/pull/268","diff_url":"https://github.com/dotnet/arcade/pull/268.diff","patch_url":"https://github.com/dotnet/arcade/pull/268.patch","issue_url":"https://api.github.com/repos/dotnet/arcade/issues/268","number":268,"state":"open","locked":false,"title":"Add spec for the 'Build Asset Registry'","user":{"login":"alexperovich","id":10565410,"node_id":"MDQ6VXNlcjEwNTY1NDEw","avatar_url":"https://avatars3.githubusercontent.com/u/10565410?v=4","gravatar_id":"","url":"https://api.github.com/users/alexperovich","html_url":"https://github.com/alexperovich","followers_url":"https://api.github.com/users/alexperovich/followers","following_url":"https://api.github.com/users/alexperovich/following{/other_user}","gists_url":"https://api.github.com/users/alexperovich/gists{/gist_id}","starred_url":"https://api.github.com/users/alexperovich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexperovich/subscriptions","organizations_url":"https://api.github.com/users/alexperovich/orgs","repos_url":"https://api.github.com/users/alexperovich/repos","events_url":"https://api.github.com/users/alexperovich/events{/privacy}","received_events_url":"https://api.github.com/users/alexperovich/received_events","type":"User","site_admin":false},"body":"This is the spec for the data store that Maestro, Darc, and MC will use for storing build asset and subscription information.","created_at":"2018-06-19T20:46:13Z","updated_at":"2018-06-21T23:34:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"86576d5ad0e28d3d4c24b4ff98d9d748fbe9b556","assignee":{"login":"alexperovich","id":10565410,"node_id":"MDQ6VXNlcjEwNTY1NDEw","avatar_url":"https://avatars3.githubusercontent.com/u/10565410?v=4","gravatar_id":"","url":"https://api.github.com/users/alexperovich","html_url":"https://github.com/alexperovich","followers_url":"https://api.github.com/users/alexperovich/followers","following_url":"https://api.github.com/users/alexperovich/following{/other_user}","gists_url":"https://api.github.com/users/alexperovich/gists{/gist_id}","starred_url":"https://api.github.com/users/alexperovich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexperovich/subscriptions","organizations_url":"https://api.github.com/users/alexperovich/orgs","repos_url":"https://api.github.com/users/alexperovich/repos","events_url":"https://api.github.com/users/alexperovich/events{/privacy}","received_events_url":"https://api.github.com/users/alexperovich/received_events","type":"User","site_admin":false},"assignees":[{"login":"alexperovich","id":10565410,"node_id":"MDQ6VXNlcjEwNTY1NDEw","avatar_url":"https://avatars3.githubusercontent.com/u/10565410?v=4","gravatar_id":"","url":"https://api.github.com/users/alexperovich","html_url":"https://github.com/alexperovich","followers_url":"https://api.github.com/users/alexperovich/followers","following_url":"https://api.github.com/users/alexperovich/following{/other_user}","gists_url":"https://api.github.com/users/alexperovich/gists{/gist_id}","starred_url":"https://api.github.com/users/alexperovich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexperovich/subscriptions","organizations_url":"https://api.github.com/users/alexperovich/orgs","repos_url":"https://api.github.com/users/alexperovich/repos","events_url":"https://api.github.com/users/alexperovich/events{/privacy}","received_events_url":"https://api.github.com/users/alexperovich/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"weshaggard","id":9010698,"node_id":"MDQ6VXNlcjkwMTA2OTg=","avatar_url":"https://avatars2.githubusercontent.com/u/9010698?v=4","gravatar_id":"","url":"https://api.github.com/users/weshaggard","html_url":"https://github.com/weshaggard","followers_url":"https://api.github.com/users/weshaggard/followers","following_url":"https://api.github.com/users/weshaggard/following{/other_user}","gists_url":"https://api.github.com/users/weshaggard/gists{/gist_id}","starred_url":"https://api.github.com/users/weshaggard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/weshaggard/subscriptions","organizations_url":"https://api.github.com/users/weshaggard/orgs","repos_url":"https://api.github.com/users/weshaggard/repos","events_url":"https://api.github.com/users/weshaggard/events{/privacy}","received_events_url":"https://api.github.com/users/weshaggard/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/arcade/pulls/268/commits","review_comments_url":"https://api.github.com/repos/dotnet/arcade/pulls/268/comments","review_comment_url":"https://api.github.com/repos/dotnet/arcade/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/arcade/issues/268/comments","statuses_url":"https://api.github.com/repos/dotnet/arcade/statuses/143721cb7d96530e4b07782b41fba6aead94a1e5","head":{"label":"alexperovich:alperovi/reportingStorespec","ref":"alperovi/reportingStorespec","sha":"143721cb7d96530e4b07782b41fba6aead94a1e5","user":{"login":"alexperovich","id":10565410,"node_id":"MDQ6VXNlcjEwNTY1NDEw","avatar_url":"https://avatars3.githubusercontent.com/u/10565410?v=4","gravatar_id":"","url":"https://api.github.com/users/alexperovich","html_url":"https://github.com/alexperovich","followers_url":"https://api.github.com/users/alexperovich/followers","following_url":"https://api.github.com/users/alexperovich/following{/other_user}","gists_url":"https://api.github.com/users/alexperovich/gists{/gist_id}","starred_url":"https://api.github.com/users/alexperovich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexperovich/subscriptions","organizations_url":"https://api.github.com/users/alexperovich/orgs","repos_url":"https://api.github.com/users/alexperovich/repos","events_url":"https://api.github.com/users/alexperovich/events{/privacy}","received_events_url":"https://api.github.com/users/alexperovich/received_events","type":"User","site_admin":false},"repo":{"id":129025013,"node_id":"MDEwOlJlcG9zaXRvcnkxMjkwMjUwMTM=","name":"arcade","full_name":"alexperovich/arcade","owner":{"login":"alexperovich","id":10565410,"node_id":"MDQ6VXNlcjEwNTY1NDEw","avatar_url":"https://avatars3.githubusercontent.com/u/10565410?v=4","gravatar_id":"","url":"https://api.github.com/users/alexperovich","html_url":"https://github.com/alexperovich","followers_url":"https://api.github.com/users/alexperovich/followers","following_url":"https://api.github.com/users/alexperovich/following{/other_user}","gists_url":"https://api.github.com/users/alexperovich/gists{/gist_id}","starred_url":"https://api.github.com/users/alexperovich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexperovich/subscriptions","organizations_url":"https://api.github.com/users/alexperovich/orgs","repos_url":"https://api.github.com/users/alexperovich/repos","events_url":"https://api.github.com/users/alexperovich/events{/privacy}","received_events_url":"https://api.github.com/users/alexperovich/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/alexperovich/arcade","description":"Tools that provide common build infrastructure for multiple .NET Foundation projects.","fork":true,"url":"https://api.github.com/repos/alexperovich/arcade","forks_url":"https://api.github.com/repos/alexperovich/arcade/forks","keys_url":"https://api.github.com/repos/alexperovich/arcade/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alexperovich/arcade/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alexperovich/arcade/teams","hooks_url":"https://api.github.com/repos/alexperovich/arcade/hooks","issue_events_url":"https://api.github.com/repos/alexperovich/arcade/issues/events{/number}","events_url":"https://api.github.com/repos/alexperovich/arcade/events","assignees_url":"https://api.github.com/repos/alexperovich/arcade/assignees{/user}","branches_url":"https://api.github.com/repos/alexperovich/arcade/branches{/branch}","tags_url":"https://api.github.com/repos/alexperovich/arcade/tags","blobs_url":"https://api.github.com/repos/alexperovich/arcade/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alexperovich/arcade/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alexperovich/arcade/git/refs{/sha}","trees_url":"https://api.github.com/repos/alexperovich/arcade/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alexperovich/arcade/statuses/{sha}","languages_url":"https://api.github.com/repos/alexperovich/arcade/languages","stargazers_url":"https://api.github.com/repos/alexperovich/arcade/stargazers","contributors_url":"https://api.github.com/repos/alexperovich/arcade/contributors","subscribers_url":"https://api.github.com/repos/alexperovich/arcade/subscribers","subscription_url":"https://api.github.com/repos/alexperovich/arcade/subscription","commits_url":"https://api.github.com/repos/alexperovich/arcade/commits{/sha}","git_commits_url":"https://api.github.com/repos/alexperovich/arcade/git/commits{/sha}","comments_url":"https://api.github.com/repos/alexperovich/arcade/comments{/number}","issue_comment_url":"https://api.github.com/repos/alexperovich/arcade/issues/comments{/number}","contents_url":"https://api.github.com/repos/alexperovich/arcade/contents/{+path}","compare_url":"https://api.github.com/repos/alexperovich/arcade/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alexperovich/arcade/merges","archive_url":"https://api.github.com/repos/alexperovich/arcade/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alexperovich/arcade/downloads","issues_url":"https://api.github.com/repos/alexperovich/arcade/issues{/number}","pulls_url":"https://api.github.com/repos/alexperovich/arcade/pulls{/number}","milestones_url":"https://api.github.com/repos/alexperovich/arcade/milestones{/number}","notifications_url":"https://api.github.com/repos/alexperovich/arcade/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alexperovich/arcade/labels{/name}","releases_url":"https://api.github.com/repos/alexperovich/arcade/releases{/id}","deployments_url":"https://api.github.com/repos/alexperovich/arcade/deployments","created_at":"2018-04-11T02:52:14Z","updated_at":"2018-06-19T20:46:50Z","pushed_at":"2018-06-21T22:23:33Z","git_url":"git://github.com/alexperovich/arcade.git","ssh_url":"git@github.com:alexperovich/arcade.git","clone_url":"https://github.com/alexperovich/arcade.git","svn_url":"https://github.com/alexperovich/arcade","homepage":"","size":907,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"dotnet:master","ref":"master","sha":"70692b92248b7e692433ab20fd029bf222458e7f","user":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":121444325,"node_id":"MDEwOlJlcG9zaXRvcnkxMjE0NDQzMjU=","name":"arcade","full_name":"dotnet/arcade","owner":{"login":"dotnet","id":9141961,"node_id":"MDEyOk9yZ2FuaXphdGlvbjkxNDE5NjE=","avatar_url":"https://avatars0.githubusercontent.com/u/9141961?v=4","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/arcade","description":"Tools that provide common build infrastructure for multiple .NET Foundation projects.","fork":false,"url":"https://api.github.com/repos/dotnet/arcade","forks_url":"https://api.github.com/repos/dotnet/arcade/forks","keys_url":"https://api.github.com/repos/dotnet/arcade/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/arcade/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/arcade/teams","hooks_url":"https://api.github.com/repos/dotnet/arcade/hooks","issue_events_url":"https://api.github.com/repos/dotnet/arcade/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/arcade/events","assignees_url":"https://api.github.com/repos/dotnet/arcade/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/arcade/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/arcade/tags","blobs_url":"https://api.github.com/repos/dotnet/arcade/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/arcade/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/arcade/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/arcade/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/arcade/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/arcade/languages","stargazers_url":"https://api.github.com/repos/dotnet/arcade/stargazers","contributors_url":"https://api.github.com/repos/dotnet/arcade/contributors","subscribers_url":"https://api.github.com/repos/dotnet/arcade/subscribers","subscription_url":"https://api.github.com/repos/dotnet/arcade/subscription","commits_url":"https://api.github.com/repos/dotnet/arcade/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/arcade/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/arcade/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/arcade/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/arcade/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/arcade/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/arcade/merges","archive_url":"https://api.github.com/repos/dotnet/arcade/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/arcade/downloads","issues_url":"https://api.github.com/repos/dotnet/arcade/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/arcade/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/arcade/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/arcade/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/arcade/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/arcade/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/arcade/deployments","created_at":"2018-02-13T22:29:54Z","updated_at":"2018-06-20T19:58:13Z","pushed_at":"2018-06-21T22:23:35Z","git_url":"git://github.com/dotnet/arcade.git","ssh_url":"git@github.com:dotnet/arcade.git","clone_url":"https://github.com/dotnet/arcade.git","svn_url":"https://github.com/dotnet/arcade","homepage":"","size":930,"stargazers_count":10,"watchers_count":10,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":15,"mirror_url":null,"archived":false,"open_issues_count":125,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":15,"open_issues":125,"watchers":10,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/arcade/pulls/268"},"html":{"href":"https://github.com/dotnet/arcade/pull/268"},"issue":{"href":"https://api.github.com/repos/dotnet/arcade/issues/268"},"comments":{"href":"https://api.github.com/repos/dotnet/arcade/issues/268/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/arcade/pulls/268/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/arcade/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/arcade/pulls/268/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/arcade/statuses/143721cb7d96530e4b07782b41fba6aead94a1e5"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"dagood"}}