@muggleai/works 5.0.4 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +2 -3
  2. package/dist/{chunk-KDRSEHK5.js → chunk-3HSV6EXR.js} +245 -309
  3. package/dist/{chunk-XO5BQZM3.js → chunk-IIQZLG34.js} +3 -4
  4. package/dist/cli.js +2 -2
  5. package/dist/index.js +2 -2
  6. package/dist/plugin/.claude-plugin/plugin.json +1 -1
  7. package/dist/plugin/.cursor-plugin/plugin.json +1 -1
  8. package/dist/plugin/scripts/ensure-electron-app.sh +1 -1
  9. package/dist/plugin/scripts/guardrails.mjs +4 -2
  10. package/dist/plugin/skills/_shared/dev-loop/publish.md +4 -8
  11. package/dist/plugin/skills/_shared/pr-followup-helpers/allow-list.md +1 -1
  12. package/dist/plugin/skills/_shared/pr-followup-helpers/echo-skip.md +1 -1
  13. package/dist/plugin/skills/_shared/resolve-e2e-validation-context.md +1 -1
  14. package/dist/plugin/skills/_shared/test-case-chain-readiness.md +1 -2
  15. package/dist/plugin/skills/_shared/vcs/CLAUDE.md +9 -0
  16. package/dist/plugin/skills/_shared/vcs/detect-vcs.md +28 -0
  17. package/{plugin/skills/_shared/github-cli-recipes → dist/plugin/skills/_shared/vcs/github}/unresolved-threads.md +1 -1
  18. package/{plugin/skills/_shared/github-cli-recipes → dist/plugin/skills/_shared/vcs/github}/verify-working-tree.md +1 -1
  19. package/dist/plugin/skills/_shared/vcs/github.md +21 -0
  20. package/dist/plugin/skills/_shared/vcs/gitlab/loop-user-identity.md +9 -0
  21. package/dist/plugin/skills/_shared/vcs/gitlab/mr-create.md +11 -0
  22. package/dist/plugin/skills/_shared/vcs/gitlab/mr-discussions.md +18 -0
  23. package/dist/plugin/skills/_shared/vcs/gitlab/mr-edit.md +8 -0
  24. package/dist/plugin/skills/_shared/vcs/gitlab/mr-metadata.md +22 -0
  25. package/dist/plugin/skills/_shared/vcs/gitlab/mr-note.md +7 -0
  26. package/dist/plugin/skills/_shared/vcs/gitlab/mr-pipeline.md +27 -0
  27. package/dist/plugin/skills/_shared/vcs/gitlab/reply-discussion.md +9 -0
  28. package/dist/plugin/skills/_shared/vcs/gitlab/resolve-discussion.md +10 -0
  29. package/dist/plugin/skills/_shared/vcs/gitlab/unresolved-discussions.md +18 -0
  30. package/dist/plugin/skills/_shared/vcs/gitlab.md +24 -0
  31. package/dist/plugin/skills/do/address-reviews.md +10 -6
  32. package/dist/plugin/skills/do/e2e-acceptance.md +4 -4
  33. package/dist/plugin/skills/do/fix-ci.md +1 -1
  34. package/dist/plugin/skills/do/input-routing.md +4 -4
  35. package/dist/plugin/skills/do/open-prs/forward.md +6 -4
  36. package/dist/plugin/skills/do/open-prs/update.md +8 -6
  37. package/dist/plugin/skills/do/per-comment-replies.md +22 -13
  38. package/dist/plugin/skills/do/resolve-conflicts.md +1 -1
  39. package/dist/plugin/skills/do/resolve-reminder.md +8 -6
  40. package/dist/plugin/skills/muggle-browser-task/SKILL.md +1 -1
  41. package/dist/plugin/skills/muggle-do/SKILL.md +2 -2
  42. package/dist/plugin/skills/muggle-feedback/ops/submit.md +4 -4
  43. package/dist/plugin/skills/muggle-pr-followup/CLAUDE.md +2 -2
  44. package/dist/plugin/skills/muggle-pr-followup/bootstrap.md +13 -11
  45. package/dist/plugin/skills/muggle-pr-followup/contract.md +13 -9
  46. package/dist/plugin/skills/muggle-pr-followup/finalize.md +1 -1
  47. package/dist/plugin/skills/muggle-pr-followup/reconcile.md +1 -1
  48. package/dist/plugin/skills/muggle-pr-followup/state-schemas.md +4 -1
  49. package/dist/plugin/skills/muggle-pr-visual-walkthrough/e2e-report-assembly.md +13 -13
  50. package/dist/plugin/skills/muggle-preferences/ops/configure.md +2 -2
  51. package/dist/plugin/skills/muggle-preferences/preference-gates/README.md +8 -5
  52. package/dist/plugin/skills/muggle-test/SKILL.md +23 -126
  53. package/dist/plugin/skills/muggle-test/execute-local.md +60 -0
  54. package/dist/plugin/skills/muggle-test/execute-remote.md +49 -0
  55. package/dist/plugin/skills/muggle-test/reference.md +1 -2
  56. package/dist/plugin/skills/muggle-test-feature-local/SKILL.md +5 -5
  57. package/dist/release-manifest.json +4 -4
  58. package/dist/{src-2O5UH4FA.js → src-KHZUV253.js} +1 -1
  59. package/package.json +8 -7
  60. package/plugin/.claude-plugin/plugin.json +1 -1
  61. package/plugin/.cursor-plugin/plugin.json +1 -1
  62. package/plugin/scripts/ensure-electron-app.sh +1 -1
  63. package/plugin/scripts/guardrails.mjs +4 -2
  64. package/plugin/skills/_shared/dev-loop/publish.md +4 -8
  65. package/plugin/skills/_shared/pr-followup-helpers/allow-list.md +1 -1
  66. package/plugin/skills/_shared/pr-followup-helpers/echo-skip.md +1 -1
  67. package/plugin/skills/_shared/resolve-e2e-validation-context.md +1 -1
  68. package/plugin/skills/_shared/test-case-chain-readiness.md +1 -2
  69. package/plugin/skills/_shared/vcs/CLAUDE.md +9 -0
  70. package/plugin/skills/_shared/vcs/detect-vcs.md +28 -0
  71. package/{dist/plugin/skills/_shared/github-cli-recipes → plugin/skills/_shared/vcs/github}/unresolved-threads.md +1 -1
  72. package/{dist/plugin/skills/_shared/github-cli-recipes → plugin/skills/_shared/vcs/github}/verify-working-tree.md +1 -1
  73. package/plugin/skills/_shared/vcs/github.md +21 -0
  74. package/plugin/skills/_shared/vcs/gitlab/loop-user-identity.md +9 -0
  75. package/plugin/skills/_shared/vcs/gitlab/mr-create.md +11 -0
  76. package/plugin/skills/_shared/vcs/gitlab/mr-discussions.md +18 -0
  77. package/plugin/skills/_shared/vcs/gitlab/mr-edit.md +8 -0
  78. package/plugin/skills/_shared/vcs/gitlab/mr-metadata.md +22 -0
  79. package/plugin/skills/_shared/vcs/gitlab/mr-note.md +7 -0
  80. package/plugin/skills/_shared/vcs/gitlab/mr-pipeline.md +27 -0
  81. package/plugin/skills/_shared/vcs/gitlab/reply-discussion.md +9 -0
  82. package/plugin/skills/_shared/vcs/gitlab/resolve-discussion.md +10 -0
  83. package/plugin/skills/_shared/vcs/gitlab/unresolved-discussions.md +18 -0
  84. package/plugin/skills/_shared/vcs/gitlab.md +24 -0
  85. package/plugin/skills/do/address-reviews.md +10 -6
  86. package/plugin/skills/do/e2e-acceptance.md +4 -4
  87. package/plugin/skills/do/fix-ci.md +1 -1
  88. package/plugin/skills/do/input-routing.md +4 -4
  89. package/plugin/skills/do/open-prs/forward.md +6 -4
  90. package/plugin/skills/do/open-prs/update.md +8 -6
  91. package/plugin/skills/do/per-comment-replies.md +22 -13
  92. package/plugin/skills/do/resolve-conflicts.md +1 -1
  93. package/plugin/skills/do/resolve-reminder.md +8 -6
  94. package/plugin/skills/muggle-browser-task/SKILL.md +1 -1
  95. package/plugin/skills/muggle-do/SKILL.md +2 -2
  96. package/plugin/skills/muggle-feedback/ops/submit.md +4 -4
  97. package/plugin/skills/muggle-pr-followup/CLAUDE.md +2 -2
  98. package/plugin/skills/muggle-pr-followup/bootstrap.md +13 -11
  99. package/plugin/skills/muggle-pr-followup/contract.md +13 -9
  100. package/plugin/skills/muggle-pr-followup/finalize.md +1 -1
  101. package/plugin/skills/muggle-pr-followup/reconcile.md +1 -1
  102. package/plugin/skills/muggle-pr-followup/state-schemas.md +4 -1
  103. package/plugin/skills/muggle-pr-visual-walkthrough/e2e-report-assembly.md +13 -13
  104. package/plugin/skills/muggle-preferences/ops/configure.md +2 -2
  105. package/plugin/skills/muggle-preferences/preference-gates/README.md +8 -5
  106. package/plugin/skills/muggle-test/SKILL.md +23 -126
  107. package/plugin/skills/muggle-test/execute-local.md +60 -0
  108. package/plugin/skills/muggle-test/execute-remote.md +49 -0
  109. package/plugin/skills/muggle-test/reference.md +1 -2
  110. package/plugin/skills/muggle-test-feature-local/SKILL.md +5 -5
  111. package/dist/plugin/skills/_shared/github-cli-recipes.md +0 -21
  112. package/dist/plugin/skills/muggle-preferences/preference-gates/autoPublishLocalResults.md +0 -11
  113. package/plugin/skills/_shared/github-cli-recipes.md +0 -21
  114. package/plugin/skills/muggle-preferences/preference-gates/autoPublishLocalResults.md +0 -11
  115. /package/dist/plugin/skills/_shared/{github-cli-recipes → vcs/github}/line-comments-for-review.md +0 -0
  116. /package/dist/plugin/skills/_shared/{github-cli-recipes → vcs/github}/loop-user-identity.md +0 -0
  117. /package/dist/plugin/skills/_shared/{github-cli-recipes → vcs/github}/pr-checks.md +0 -0
  118. /package/dist/plugin/skills/_shared/{github-cli-recipes → vcs/github}/pr-edit.md +0 -0
  119. /package/dist/plugin/skills/_shared/{github-cli-recipes → vcs/github}/pr-metadata.md +0 -0
  120. /package/dist/plugin/skills/_shared/{github-cli-recipes → vcs/github}/push-to-branch.md +0 -0
  121. /package/dist/plugin/skills/_shared/{github-cli-recipes → vcs/github}/reply-line-comment.md +0 -0
  122. /package/dist/plugin/skills/_shared/{github-cli-recipes → vcs/github}/submitted-reviews.md +0 -0
  123. /package/dist/plugin/skills/_shared/{github-cli-recipes → vcs/github}/top-level-comment.md +0 -0
  124. /package/plugin/skills/_shared/{github-cli-recipes → vcs/github}/line-comments-for-review.md +0 -0
  125. /package/plugin/skills/_shared/{github-cli-recipes → vcs/github}/loop-user-identity.md +0 -0
  126. /package/plugin/skills/_shared/{github-cli-recipes → vcs/github}/pr-checks.md +0 -0
  127. /package/plugin/skills/_shared/{github-cli-recipes → vcs/github}/pr-edit.md +0 -0
  128. /package/plugin/skills/_shared/{github-cli-recipes → vcs/github}/pr-metadata.md +0 -0
  129. /package/plugin/skills/_shared/{github-cli-recipes → vcs/github}/push-to-branch.md +0 -0
  130. /package/plugin/skills/_shared/{github-cli-recipes → vcs/github}/reply-line-comment.md +0 -0
  131. /package/plugin/skills/_shared/{github-cli-recipes → vcs/github}/submitted-reviews.md +0 -0
  132. /package/plugin/skills/_shared/{github-cli-recipes → vcs/github}/top-level-comment.md +0 -0
@@ -0,0 +1,49 @@
1
+ # Muggle Test — Remote Execution Path (Mode B)
2
+
3
+ > The Remote execution process for the `muggle-test` router: trigger cloud test-script generation/replay against a preview/staging URL and monitor. Returns a uniform runs list to the router.
4
+
5
+ ## Inputs (the router passes these in)
6
+
7
+ - The hydrated test cases (fetched once by the router before dispatch).
8
+ - Per-case `mode` — `replay` or `regen`, chosen during replay-vs-regen classification.
9
+ - `projectId`, `useCaseId`.
10
+
11
+ ## Ask for target URL
12
+
13
+ > "What's the preview/staging URL to test against?"
14
+
15
+ ## Trigger remote workflows (in parallel)
16
+
17
+ Branch each test case on its `mode`, then issue **all** workflow-start calls in parallel — never loop them sequentially. Mix regen and replay starts in the same parallel batch.
18
+
19
+ **Regen-mode test case** — `muggle-remote-workflow-start-test-script-generation`:
20
+
21
+ - `projectId`: The project ID
22
+ - `useCaseId`: The use case ID
23
+ - `testCaseId`: The test case ID
24
+ - `name`: `"muggle-test: {test case title}"`
25
+ - `url`: The preview/staging URL
26
+ - `goal`: From the test case
27
+ - `precondition`: From the test case (use `"None"` if empty)
28
+ - `instructions`: From the test case
29
+ - `expectedResult`: From the test case
30
+
31
+ **Replay-mode test case** — `muggle-remote-workflow-start-test-script-replay` against the latest replayable script for that test case (resolve via `muggle-remote-test-script-list` if not already in hand from the classification step). Tag results with `mode: "replay"` so the router routes failures correctly.
32
+
33
+ Store each returned workflow runtime ID along with its mode tag.
34
+
35
+ ## Monitor and report (in parallel)
36
+
37
+ Issue all `muggle-remote-wf-get-ts-gen-latest-run` calls in parallel, one per runtime ID.
38
+
39
+ ```
40
+ Test Case Workflow Status Runtime ID
41
+ ────────────────────────────────────────────────────────
42
+ Login with valid creds RUNNING rt-abc123
43
+ Login with invalid creds COMPLETED rt-def456
44
+ Checkout flow QUEUED rt-ghi789
45
+ ```
46
+
47
+ ## Output
48
+
49
+ Return the uniform runs list the router consumes: `[{ testCaseId, mode, runtimeId, status }]`.
@@ -23,9 +23,8 @@ Lookup material pulled out of `SKILL.md` to keep the always-loaded body lean. Ev
23
23
  | Execute (regen) | `muggle-remote-workflow-start-test-script-generation` | Remote |
24
24
  | Execute (replay) | `muggle-remote-workflow-start-test-script-replay` | Remote |
25
25
  | Failure-mode telemetry | `muggle-local-telemetry-event-emit` | Both |
26
- | Results | `muggle-local-run-result-get` | Local |
26
+ | Results + cloud refs (studio-published `viewUrl` / `cloudTestScriptId` / `cloudActionScriptId`) | `muggle-local-run-result-get` | Local |
27
27
  | Results | `muggle-remote-wf-get-ts-gen-latest-run`, `muggle-remote-wf-get-ts-replay-latest-run` | Remote |
28
- | Publish | `muggle-local-publish-test-script` | Local |
29
28
  | Per-step screenshots (for walkthrough) | `muggle-remote-test-script-get` | Both |
30
29
  | Browser | `open` (shell command) | Both |
31
30
  | PR walkthrough | `muggle-pr-visual-walkthrough` (shared skill) | Both |
@@ -12,7 +12,7 @@ description: Run a real-browser end-to-end (E2E) acceptance test against localho
12
12
  | Scope | MCP tools |
13
13
  | :---- | :-------- |
14
14
  | Cloud (projects, cases, scripts, auth) | `muggle-remote-*` |
15
- | Local (Electron run, publish, results) | `muggle-local-*` |
15
+ | Local (Electron run, results — the studio publishes during the run) | `muggle-local-*` |
16
16
  | Create new entities (preview / create) | `muggle-remote-project-create`, `muggle-remote-use-case-prompt-preview`, `muggle-remote-use-case-create-from-prompts`, `muggle-remote-test-case-generate-from-prompt`, `muggle-remote-test-case-create` |
17
17
 
18
18
  The local URL only changes where the browser opens; it does not change the remote project or test definitions.
@@ -158,11 +158,11 @@ Gate `showElectronBrowser` (per `preference-gates/README.md`). Reuse the choice
158
158
 
159
159
  `showUi` is only ever omitted or `false` — never pass `showUi: true`.
160
160
 
161
- ### 8. Upload run to cloud (every completed run; open `viewUrl` gated by `openTestResultsAfterRun`)
161
+ ### 8. Open the run on the dashboard (`viewUrl` gated by `openTestResultsAfterRun`)
162
162
 
163
- Upload pass-or-fail. Failed runs still need cloud-hosted screenshots and per-step actions for the PR walkthrough — without them reviewers see only a generic "failed" link. The `status` field in the upload payload tells the backend whether to promote the run's action script as the test case's canonical replay script (passed → promote; failed → record only).
163
+ The studio publishes every completed run — pass or fail — to the cloud during execution, so the run result already carries the cloud refs. Failed runs are published too, so reviewers get the per-step screenshots, not just a generic "failed" link.
164
164
 
165
- - Publish per [`../_shared/dev-loop/publish.md`](../_shared/dev-loop/publish.md) — includes the zero-step `muggle-remote-local-run-upload` fallback.
165
+ - Read the cloud refs per [`../_shared/dev-loop/publish.md`](../_shared/dev-loop/publish.md): `viewUrl` / `cloudTestScriptId` / `cloudActionScriptId` from `muggle-local-run-result-get`.
166
166
  - Gate `openTestResultsAfterRun` (per `preference-gates/README.md`):
167
167
  - `always` → open `viewUrl` automatically (`open "<viewUrl>"` on macOS or OS equivalent).
168
168
  - `never` → print the URL only.
@@ -172,7 +172,7 @@ Upload pass-or-fail. Failed runs still need cloud-hosted screenshots and per-ste
172
172
 
173
173
  Read the run record per [`../_shared/dev-loop/failures.md`](../_shared/dev-loop/failures.md) and [failure interpretation](../_shared/dev-loop/failures.md) — never diagnose from `execute`'s stdout tail.
174
174
 
175
- - Include in the report: status, duration, pass/fail summary, per-step summary (passed runs), artifact paths, errors if failed, and script view URL when publishing ran.
175
+ - Include in the report: status, duration, pass/fail summary, per-step summary (passed runs), artifact paths, errors if failed, and the `viewUrl` from the run result.
176
176
 
177
177
  ### 9a. Route a failed run through the debug path
178
178
 
@@ -1,21 +0,0 @@
1
- # GitHub CLI Recipes
2
-
3
- Reusable `gh` / `git` snippets used by `muggle-pr-followup` (watcher + bootstrap) and `/muggle-do` (address-reviews + open-prs). Each recipe is one file — load only what you need.
4
-
5
- Skills assume a working `gh auth status`. Auth errors surface verbatim from `gh`.
6
-
7
- ## Index
8
-
9
- | Recipe | Use case |
10
- | :----- | :------- |
11
- | [`pr-metadata`](github-cli-recipes/pr-metadata.md) | Snapshot PR state, head SHA, branch, conflict + `behind_by` out-of-date detection — watcher + bootstrap. |
12
- | [`submitted-reviews`](github-cli-recipes/submitted-reviews.md) | Fetch a review by id / watcher's body-only-review check. |
13
- | [`pr-checks`](github-cli-recipes/pr-checks.md) | Check-run rollup for the head SHA — watcher's CI poll. |
14
- | [`line-comments-for-review`](github-cli-recipes/line-comments-for-review.md) | Pull a review's line comments — `/muggle-do` per-comment routing. |
15
- | [`unresolved-threads`](github-cli-recipes/unresolved-threads.md) | GraphQL unresolved-thread state — watcher's dispatch trigger + resolve-reminder. |
16
- | [`reply-line-comment`](github-cli-recipes/reply-line-comment.md) | POST a threaded reply on a line comment. |
17
- | [`top-level-comment`](github-cli-recipes/top-level-comment.md) | POST a top-level PR comment — resolve-reminder + overflow. |
18
- | [`push-to-branch`](github-cli-recipes/push-to-branch.md) | Push + capture new SHA after address-reviews work. |
19
- | [`verify-working-tree`](github-cli-recipes/verify-working-tree.md) | Three checks bootstrap runs before seeding state. |
20
- | [`pr-edit`](github-cli-recipes/pr-edit.md) | Refresh title or body when address-reviews mode flips state. |
21
- | [`loop-user-identity`](github-cli-recipes/loop-user-identity.md) | Resolve the GitHub login of the loop user. |
@@ -1,11 +0,0 @@
1
- # `autoPublishLocalResults`
2
-
3
- Upload local run artifacts to the Muggle Test cloud, or keep them local.
4
-
5
- **Picker 1** — header `Share results?`, question `"Upload these results to the Muggle Test dashboard?"`
6
- - `Upload them` — `Needed for the dashboard view, PR walkthrough, and team visibility.` → `always`
7
- - `Keep local-only` — `Stay on this machine — no dashboard view or PR walkthrough.` → `never`
8
-
9
- **Silent action**
10
- - `always` → `Uploading to the dashboard`
11
- - `never` → `Keeping results local`
@@ -1,21 +0,0 @@
1
- # GitHub CLI Recipes
2
-
3
- Reusable `gh` / `git` snippets used by `muggle-pr-followup` (watcher + bootstrap) and `/muggle-do` (address-reviews + open-prs). Each recipe is one file — load only what you need.
4
-
5
- Skills assume a working `gh auth status`. Auth errors surface verbatim from `gh`.
6
-
7
- ## Index
8
-
9
- | Recipe | Use case |
10
- | :----- | :------- |
11
- | [`pr-metadata`](github-cli-recipes/pr-metadata.md) | Snapshot PR state, head SHA, branch, conflict + `behind_by` out-of-date detection — watcher + bootstrap. |
12
- | [`submitted-reviews`](github-cli-recipes/submitted-reviews.md) | Fetch a review by id / watcher's body-only-review check. |
13
- | [`pr-checks`](github-cli-recipes/pr-checks.md) | Check-run rollup for the head SHA — watcher's CI poll. |
14
- | [`line-comments-for-review`](github-cli-recipes/line-comments-for-review.md) | Pull a review's line comments — `/muggle-do` per-comment routing. |
15
- | [`unresolved-threads`](github-cli-recipes/unresolved-threads.md) | GraphQL unresolved-thread state — watcher's dispatch trigger + resolve-reminder. |
16
- | [`reply-line-comment`](github-cli-recipes/reply-line-comment.md) | POST a threaded reply on a line comment. |
17
- | [`top-level-comment`](github-cli-recipes/top-level-comment.md) | POST a top-level PR comment — resolve-reminder + overflow. |
18
- | [`push-to-branch`](github-cli-recipes/push-to-branch.md) | Push + capture new SHA after address-reviews work. |
19
- | [`verify-working-tree`](github-cli-recipes/verify-working-tree.md) | Three checks bootstrap runs before seeding state. |
20
- | [`pr-edit`](github-cli-recipes/pr-edit.md) | Refresh title or body when address-reviews mode flips state. |
21
- | [`loop-user-identity`](github-cli-recipes/loop-user-identity.md) | Resolve the GitHub login of the loop user. |
@@ -1,11 +0,0 @@
1
- # `autoPublishLocalResults`
2
-
3
- Upload local run artifacts to the Muggle Test cloud, or keep them local.
4
-
5
- **Picker 1** — header `Share results?`, question `"Upload these results to the Muggle Test dashboard?"`
6
- - `Upload them` — `Needed for the dashboard view, PR walkthrough, and team visibility.` → `always`
7
- - `Keep local-only` — `Stay on this machine — no dashboard view or PR walkthrough.` → `never`
8
-
9
- **Silent action**
10
- - `always` → `Uploading to the dashboard`
11
- - `never` → `Keeping results local`