{"action":"created","comment":{"url":"https://api.github.com/repos/WebAssembly/design/pulls/comments/43069062","id":43069062,"diff_hunk":"@@ -1,3 +1,18 @@\n+# Motivating Scenarios\n+1. In MVP + 1 (the version of the WebAssembly [after MVP](PostMVP.md)), [`i32.min_s`](FutureFeatures.md#additional-integer-operations) is introduced. A WebAssembly developer updates their toolkit and targets the new features. The compiler leverages `i32.min_s` when compiling a module the developer wrote. The developer's WebAssembly module works correctly both on execution environments at MVP, as well as those updated on MVP + 1.\n+\n+2. In MVP + 1, module authors may now use [Threading](PostMVP.md#threads) APIs in the browser. A developer wants to leverage multithreading in their module.\n+  * In one variant of the scenario, our developer does not want to pay the engineering cost of developing and supporting a threaded and non-threaded version of their code. They opt not to support MVP targets, and only support MVP + 1 targets. End-users (browser users) get some message indicating they need MVP support.\n+  * In another variant, our developer explicitly authors both MVP-only and MVP + 1 (with threads) code.","path":"FeatureTest.md","position":6,"original_position":6,"commit_id":"4d692a0f06f70b0a425339a4799599097ac67d3f","original_commit_id":"4d692a0f06f70b0a425339a4799599097ac67d3f","user":{"login":"jfbastien","id":298127,"avatar_url":"https://avatars.githubusercontent.com/u/298127?v=3","gravatar_id":"","url":"https://api.github.com/users/jfbastien","html_url":"https://github.com/jfbastien","followers_url":"https://api.github.com/users/jfbastien/followers","following_url":"https://api.github.com/users/jfbastien/following{/other_user}","gists_url":"https://api.github.com/users/jfbastien/gists{/gist_id}","starred_url":"https://api.github.com/users/jfbastien/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfbastien/subscriptions","organizations_url":"https://api.github.com/users/jfbastien/orgs","repos_url":"https://api.github.com/users/jfbastien/repos","events_url":"https://api.github.com/users/jfbastien/events{/privacy}","received_events_url":"https://api.github.com/users/jfbastien/received_events","type":"User","site_admin":false},"body":"One thing that's not very clear throughout the examples here: MVP is the only \"version\" of WebAssembly. After MVP it's features which implementors can ship asynchronously. There's no \"version 2\" planned (we may do one, but it's not in the plans).\r\n\r\nThat means that feature testing is pretty basic in the model we assume: you can't check the version, all you have are feature tests!","created_at":"2015-10-26T23:44:17Z","updated_at":"2015-10-26T23:44:17Z","html_url":"https://github.com/WebAssembly/design/pull/418#discussion_r43069062","pull_request_url":"https://api.github.com/repos/WebAssembly/design/pulls/418","_links":{"self":{"href":"https://api.github.com/repos/WebAssembly/design/pulls/comments/43069062"},"html":{"href":"https://github.com/WebAssembly/design/pull/418#discussion_r43069062"},"pull_request":{"href":"https://api.github.com/repos/WebAssembly/design/pulls/418"}}},"pull_request":{"url":"https://api.github.com/repos/WebAssembly/design/pulls/418","id":48355338,"html_url":"https://github.com/WebAssembly/design/pull/418","diff_url":"https://github.com/WebAssembly/design/pull/418.diff","patch_url":"https://github.com/WebAssembly/design/pull/418.patch","issue_url":"https://api.github.com/repos/WebAssembly/design/issues/418","number":418,"state":"open","locked":false,"title":"Capture of scenarios motivating feature testing.","user":{"login":"mtrofin","id":3815402,"avatar_url":"https://avatars.githubusercontent.com/u/3815402?v=3","gravatar_id":"","url":"https://api.github.com/users/mtrofin","html_url":"https://github.com/mtrofin","followers_url":"https://api.github.com/users/mtrofin/followers","following_url":"https://api.github.com/users/mtrofin/following{/other_user}","gists_url":"https://api.github.com/users/mtrofin/gists{/gist_id}","starred_url":"https://api.github.com/users/mtrofin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtrofin/subscriptions","organizations_url":"https://api.github.com/users/mtrofin/orgs","repos_url":"https://api.github.com/users/mtrofin/repos","events_url":"https://api.github.com/users/mtrofin/events{/privacy}","received_events_url":"https://api.github.com/users/mtrofin/received_events","type":"User","site_admin":false},"body":"Moved a few of the already described scenarios, trying to isolate the motivating problem from possible solutions.\r\n\r\nAdded a development time scenario and one for restrictive target environment.","created_at":"2015-10-21T16:28:24Z","updated_at":"2015-10-26T23:44:17Z","closed_at":null,"merged_at":null,"merge_commit_sha":"59fbec0e29e77a5ac30cd439a5bcf384ff6900fc","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/WebAssembly/design/pulls/418/commits","review_comments_url":"https://api.github.com/repos/WebAssembly/design/pulls/418/comments","review_comment_url":"https://api.github.com/repos/WebAssembly/design/pulls/comments{/number}","comments_url":"https://api.github.com/repos/WebAssembly/design/issues/418/comments","statuses_url":"https://api.github.com/repos/WebAssembly/design/statuses/4d692a0f06f70b0a425339a4799599097ac67d3f","head":{"label":"mtrofin:patch-2","ref":"patch-2","sha":"4d692a0f06f70b0a425339a4799599097ac67d3f","user":{"login":"mtrofin","id":3815402,"avatar_url":"https://avatars.githubusercontent.com/u/3815402?v=3","gravatar_id":"","url":"https://api.github.com/users/mtrofin","html_url":"https://github.com/mtrofin","followers_url":"https://api.github.com/users/mtrofin/followers","following_url":"https://api.github.com/users/mtrofin/following{/other_user}","gists_url":"https://api.github.com/users/mtrofin/gists{/gist_id}","starred_url":"https://api.github.com/users/mtrofin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtrofin/subscriptions","organizations_url":"https://api.github.com/users/mtrofin/orgs","repos_url":"https://api.github.com/users/mtrofin/repos","events_url":"https://api.github.com/users/mtrofin/events{/privacy}","received_events_url":"https://api.github.com/users/mtrofin/received_events","type":"User","site_admin":false},"repo":{"id":44188396,"name":"design","full_name":"mtrofin/design","owner":{"login":"mtrofin","id":3815402,"avatar_url":"https://avatars.githubusercontent.com/u/3815402?v=3","gravatar_id":"","url":"https://api.github.com/users/mtrofin","html_url":"https://github.com/mtrofin","followers_url":"https://api.github.com/users/mtrofin/followers","following_url":"https://api.github.com/users/mtrofin/following{/other_user}","gists_url":"https://api.github.com/users/mtrofin/gists{/gist_id}","starred_url":"https://api.github.com/users/mtrofin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mtrofin/subscriptions","organizations_url":"https://api.github.com/users/mtrofin/orgs","repos_url":"https://api.github.com/users/mtrofin/repos","events_url":"https://api.github.com/users/mtrofin/events{/privacy}","received_events_url":"https://api.github.com/users/mtrofin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mtrofin/design","description":"WebAssembly Design Documents","fork":true,"url":"https://api.github.com/repos/mtrofin/design","forks_url":"https://api.github.com/repos/mtrofin/design/forks","keys_url":"https://api.github.com/repos/mtrofin/design/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mtrofin/design/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mtrofin/design/teams","hooks_url":"https://api.github.com/repos/mtrofin/design/hooks","issue_events_url":"https://api.github.com/repos/mtrofin/design/issues/events{/number}","events_url":"https://api.github.com/repos/mtrofin/design/events","assignees_url":"https://api.github.com/repos/mtrofin/design/assignees{/user}","branches_url":"https://api.github.com/repos/mtrofin/design/branches{/branch}","tags_url":"https://api.github.com/repos/mtrofin/design/tags","blobs_url":"https://api.github.com/repos/mtrofin/design/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mtrofin/design/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mtrofin/design/git/refs{/sha}","trees_url":"https://api.github.com/repos/mtrofin/design/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mtrofin/design/statuses/{sha}","languages_url":"https://api.github.com/repos/mtrofin/design/languages","stargazers_url":"https://api.github.com/repos/mtrofin/design/stargazers","contributors_url":"https://api.github.com/repos/mtrofin/design/contributors","subscribers_url":"https://api.github.com/repos/mtrofin/design/subscribers","subscription_url":"https://api.github.com/repos/mtrofin/design/subscription","commits_url":"https://api.github.com/repos/mtrofin/design/commits{/sha}","git_commits_url":"https://api.github.com/repos/mtrofin/design/git/commits{/sha}","comments_url":"https://api.github.com/repos/mtrofin/design/comments{/number}","issue_comment_url":"https://api.github.com/repos/mtrofin/design/issues/comments{/number}","contents_url":"https://api.github.com/repos/mtrofin/design/contents/{+path}","compare_url":"https://api.github.com/repos/mtrofin/design/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mtrofin/design/merges","archive_url":"https://api.github.com/repos/mtrofin/design/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mtrofin/design/downloads","issues_url":"https://api.github.com/repos/mtrofin/design/issues{/number}","pulls_url":"https://api.github.com/repos/mtrofin/design/pulls{/number}","milestones_url":"https://api.github.com/repos/mtrofin/design/milestones{/number}","notifications_url":"https://api.github.com/repos/mtrofin/design/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mtrofin/design/labels{/name}","releases_url":"https://api.github.com/repos/mtrofin/design/releases{/id}","created_at":"2015-10-13T16:06:29Z","updated_at":"2015-10-13T13:24:07Z","pushed_at":"2015-10-23T05:48:43Z","git_url":"git://github.com/mtrofin/design.git","ssh_url":"git@github.com:mtrofin/design.git","clone_url":"https://github.com/mtrofin/design.git","svn_url":"https://github.com/mtrofin/design","homepage":"","size":876,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"WebAssembly:master","ref":"master","sha":"ffa520d6a8825ad9d2a318dc8ac9791c8d34eb8f","user":{"login":"WebAssembly","id":11578470,"avatar_url":"https://avatars.githubusercontent.com/u/11578470?v=3","gravatar_id":"","url":"https://api.github.com/users/WebAssembly","html_url":"https://github.com/WebAssembly","followers_url":"https://api.github.com/users/WebAssembly/followers","following_url":"https://api.github.com/users/WebAssembly/following{/other_user}","gists_url":"https://api.github.com/users/WebAssembly/gists{/gist_id}","starred_url":"https://api.github.com/users/WebAssembly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WebAssembly/subscriptions","organizations_url":"https://api.github.com/users/WebAssembly/orgs","repos_url":"https://api.github.com/users/WebAssembly/repos","events_url":"https://api.github.com/users/WebAssembly/events{/privacy}","received_events_url":"https://api.github.com/users/WebAssembly/received_events","type":"Organization","site_admin":false},"repo":{"id":34808241,"name":"design","full_name":"WebAssembly/design","owner":{"login":"WebAssembly","id":11578470,"avatar_url":"https://avatars.githubusercontent.com/u/11578470?v=3","gravatar_id":"","url":"https://api.github.com/users/WebAssembly","html_url":"https://github.com/WebAssembly","followers_url":"https://api.github.com/users/WebAssembly/followers","following_url":"https://api.github.com/users/WebAssembly/following{/other_user}","gists_url":"https://api.github.com/users/WebAssembly/gists{/gist_id}","starred_url":"https://api.github.com/users/WebAssembly/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WebAssembly/subscriptions","organizations_url":"https://api.github.com/users/WebAssembly/orgs","repos_url":"https://api.github.com/users/WebAssembly/repos","events_url":"https://api.github.com/users/WebAssembly/events{/privacy}","received_events_url":"https://api.github.com/users/WebAssembly/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/WebAssembly/design","description":"WebAssembly Design Documents","fork":false,"url":"https://api.github.com/repos/WebAssembly/design","forks_url":"https://api.github.com/repos/WebAssembly/design/forks","keys_url":"https://api.github.com/repos/WebAssembly/design/keys{/key_id}","collaborators_url":"https://api.github.com/repos/WebAssembly/design/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/WebAssembly/design/teams","hooks_url":"https://api.github.com/repos/WebAssembly/design/hooks","issue_events_url":"https://api.github.com/repos/WebAssembly/design/issues/events{/number}","events_url":"https://api.github.com/repos/WebAssembly/design/events","assignees_url":"https://api.github.com/repos/WebAssembly/design/assignees{/user}","branches_url":"https://api.github.com/repos/WebAssembly/design/branches{/branch}","tags_url":"https://api.github.com/repos/WebAssembly/design/tags","blobs_url":"https://api.github.com/repos/WebAssembly/design/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/WebAssembly/design/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/WebAssembly/design/git/refs{/sha}","trees_url":"https://api.github.com/repos/WebAssembly/design/git/trees{/sha}","statuses_url":"https://api.github.com/repos/WebAssembly/design/statuses/{sha}","languages_url":"https://api.github.com/repos/WebAssembly/design/languages","stargazers_url":"https://api.github.com/repos/WebAssembly/design/stargazers","contributors_url":"https://api.github.com/repos/WebAssembly/design/contributors","subscribers_url":"https://api.github.com/repos/WebAssembly/design/subscribers","subscription_url":"https://api.github.com/repos/WebAssembly/design/subscription","commits_url":"https://api.github.com/repos/WebAssembly/design/commits{/sha}","git_commits_url":"https://api.github.com/repos/WebAssembly/design/git/commits{/sha}","comments_url":"https://api.github.com/repos/WebAssembly/design/comments{/number}","issue_comment_url":"https://api.github.com/repos/WebAssembly/design/issues/comments{/number}","contents_url":"https://api.github.com/repos/WebAssembly/design/contents/{+path}","compare_url":"https://api.github.com/repos/WebAssembly/design/compare/{base}...{head}","merges_url":"https://api.github.com/repos/WebAssembly/design/merges","archive_url":"https://api.github.com/repos/WebAssembly/design/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/WebAssembly/design/downloads","issues_url":"https://api.github.com/repos/WebAssembly/design/issues{/number}","pulls_url":"https://api.github.com/repos/WebAssembly/design/pulls{/number}","milestones_url":"https://api.github.com/repos/WebAssembly/design/milestones{/number}","notifications_url":"https://api.github.com/repos/WebAssembly/design/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/WebAssembly/design/labels{/name}","releases_url":"https://api.github.com/repos/WebAssembly/design/releases{/id}","created_at":"2015-04-29T17:36:05Z","updated_at":"2015-10-26T23:00:11Z","pushed_at":"2015-10-26T19:47:47Z","git_url":"git://github.com/WebAssembly/design.git","ssh_url":"git@github.com:WebAssembly/design.git","clone_url":"https://github.com/WebAssembly/design.git","svn_url":"https://github.com/WebAssembly/design","homepage":"","size":4362,"stargazers_count":4517,"watchers_count":4517,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":228,"mirror_url":null,"open_issues_count":55,"forks":228,"open_issues":55,"watchers":4517,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/WebAssembly/design/pulls/418"},"html":{"href":"https://github.com/WebAssembly/design/pull/418"},"issue":{"href":"https://api.github.com/repos/WebAssembly/design/issues/418"},"comments":{"href":"https://api.github.com/repos/WebAssembly/design/issues/418/comments"},"review_comments":{"href":"https://api.github.com/repos/WebAssembly/design/pulls/418/comments"},"review_comment":{"href":"https://api.github.com/repos/WebAssembly/design/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/WebAssembly/design/pulls/418/commits"},"statuses":{"href":"https://api.github.com/repos/WebAssembly/design/statuses/4d692a0f06f70b0a425339a4799599097ac67d3f"}}}}