testeiya 0.9.0 โ†’ 0.10.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 (52) hide show
  1. package/PIPELINES.md +153 -19
  2. package/README.md +28 -14
  3. package/dist/prompt/pipeline-report.js +23 -0
  4. package/dist/prompt/pipeline-report.js.map +1 -0
  5. package/dist/prompt/report.js +1 -1
  6. package/dist/prompt/testomat.io.js +2 -2
  7. package/dist/prompt/testomat.io.js.map +1 -1
  8. package/dist/src/args.js +19 -1
  9. package/dist/src/args.js.map +1 -1
  10. package/dist/src/cli.js +4 -2
  11. package/dist/src/cli.js.map +1 -1
  12. package/dist/src/doctor.js +8 -10
  13. package/dist/src/doctor.js.map +1 -1
  14. package/dist/src/langfuse-extension.js +2 -0
  15. package/dist/src/langfuse-extension.js.map +1 -1
  16. package/dist/src/mcp.js +20 -90
  17. package/dist/src/mcp.js.map +1 -1
  18. package/dist/src/pipeline/command-stage.js +2 -2
  19. package/dist/src/pipeline/command-stage.js.map +1 -1
  20. package/dist/src/pipeline/log.js +5 -0
  21. package/dist/src/pipeline/log.js.map +1 -1
  22. package/dist/src/pipeline/overlay.js +217 -0
  23. package/dist/src/pipeline/overlay.js.map +1 -0
  24. package/dist/src/pipeline/pipeline-file.js +67 -5
  25. package/dist/src/pipeline/pipeline-file.js.map +1 -1
  26. package/dist/src/pipeline/pipeline.js +48 -29
  27. package/dist/src/pipeline/pipeline.js.map +1 -1
  28. package/dist/src/pipeline/stage.js +49 -13
  29. package/dist/src/pipeline/stage.js.map +1 -1
  30. package/dist/src/pipeline/state.js +3 -1
  31. package/dist/src/pipeline/state.js.map +1 -1
  32. package/dist/src/pipeline/summary-stage.js +99 -0
  33. package/dist/src/pipeline/summary-stage.js.map +1 -0
  34. package/dist/src/pipeline/task-stage.js +25 -10
  35. package/dist/src/pipeline/task-stage.js.map +1 -1
  36. package/dist/src/pipeline/variables.js +34 -2
  37. package/dist/src/pipeline/variables.js.map +1 -1
  38. package/dist/src/session.js +19 -14
  39. package/dist/src/session.js.map +1 -1
  40. package/package.json +6 -9
  41. package/pipelines/api-testing.yml +9 -6
  42. package/pipelines/issue-test-cases.yml +14 -13
  43. package/pipelines/pr-review.yml +13 -9
  44. package/pipelines/regression.yml +6 -3
  45. package/pipelines/web-testing.yml +13 -12
  46. package/prompt/pipeline-report.ts +23 -0
  47. package/prompt/report.ts +1 -1
  48. package/prompt/testomat.io.ts +4 -4
  49. package/dist/src/mcp-extension.js +0 -9
  50. package/dist/src/mcp-extension.js.map +0 -1
  51. package/dist/vendor/mcp.js +0 -14801
  52. package/mcp-tools.json +0 -1949
package/PIPELINES.md CHANGED
@@ -40,6 +40,8 @@ when: [coverage]
40
40
 
41
41
  stages:
42
42
  - id: tests
43
+ title: Tests
44
+ emoji: ๐Ÿงช
43
45
  when: [testomatio]
44
46
  run: |
45
47
  npx -y @testomatio/reporter run --kind detect --warn \
@@ -48,11 +50,12 @@ stages:
48
50
  timeout: 30m
49
51
 
50
52
  - id: failures
53
+ title: Failures
54
+ emoji: ๐Ÿž
51
55
  when: [local, test-command]
52
56
  session: triage
53
57
  task: |
54
- Read the test run in tests.log. For each failure, say if this change caused it,
55
- if it is flaky, or if the test is out of date. /debug-fix-failed-flaky-autotests
58
+ Triage the failures in tests.log without editing files. /debug-fix-failed-flaky-autotests
56
59
  Fail the run if this change caused a failure.
57
60
  inputs: [tests.log]
58
61
  ```
@@ -61,6 +64,7 @@ stages:
61
64
 
62
65
  | Key | Required | Meaning |
63
66
  |---|---|---|
67
+ | `extends` | no | A bundled pipeline or a `.yml` path to start from. See [Overrides](#overrides) |
64
68
  | `name` | no | Shown in logs and `pipeline.json`. Default: the file name |
65
69
  | `description` | no | One line, shown by `testeiya pipeline` |
66
70
  | `summary` | no | Extra instructions for the final summary |
@@ -76,12 +80,14 @@ An unknown key is an error, found before anything runs.
76
80
  | Key | Meaning |
77
81
  |---|---|
78
82
  | `id` | Required. Lowercase words joined by dashes. Unique. Names the stage's files. `pipeline` and `summary` are reserved |
83
+ | `title` | Required. The stage's heading in the final report |
84
+ | `emoji` | Required. Shown before the title in the final report |
79
85
  | `task` | An agent stage: the task text. `/skill` names expand |
80
86
  | `run` | A command stage: a shell command, run with `sh` in the checkout |
81
87
  | `when` | Gates this stage needs. One fails: the stage is skipped with its message |
82
88
  | `session` | A named, persistent conversation. See [Sessions](#sessions) |
83
- | `inputs` | Files the stage reads, from the pipeline folder |
84
- | `outputs` | Files the stage must leave in the pipeline folder |
89
+ | `inputs` | Files the stage reads, linked into its folder. See [Files](#files) |
90
+ | `outputs` | Files the stage must leave in its folder |
85
91
  | `each_line` | Run once per non-empty line of this file. See [Loops](#loops) |
86
92
  | `each_file` | Run once per file matching this mask |
87
93
  | `stopOn` | `fail`, `gate`, or both as a list. See [Stopping](#stopping) |
@@ -142,8 +148,8 @@ testeiya pipeline-check regression --set TEST_COMMAND="npx playwright test"
142
148
  - Validates the file the way a run does, then checks every gate it declares,
143
149
  used or not, plus `ai` and any `--gate`.
144
150
  - Prints each gate as passed or not, with its `message` when it does not pass.
145
- - Runs no stage and spends no tokens. Takes `--set`, `--gate`, `--dir`, `--model`
146
- and `--json`.
151
+ - Runs no stage and spends no tokens. Takes `--set`, `--gate`, `--stage`,
152
+ `--pipeline`, `--dir`, `--model` and `--json`.
147
153
  - Exit code: `0` every gate passes, `1` one does not, `2` the file is invalid.
148
154
  - `--diagram` also writes `<name>.diagram.md` to the current folder: a Mermaid
149
155
  chart of the stages in order, the files they pass on (dotted), and the gates
@@ -176,6 +182,23 @@ Every key is optional. All given must hold, and at least one file must count.
176
182
  - `${NAME}` and `${NAME:-default}` expand in `task`, `env`, `outputs` and gate
177
183
  values. Unset is empty. `run` goes to the shell, which uses the same rules and
178
184
  more, like `${NAME:+word}`.
185
+ - `${NAME | filter}` runs [Liquid filters](https://liquidjs.com/filters/overview.html)
186
+ on the value: `strip`, `downcase`, `capitalize`, `replace: "/", "-"`,
187
+ `slugify`, `default: "x"`, and the rest. Two more are for URLs: `host` and
188
+ `path`. Filters chain left to right.
189
+ - A shell command cannot use filters. Set a variable in `env:` and use that:
190
+
191
+ ```yaml
192
+ env:
193
+ SITE: ${STAGING_URL | host} # staging.example.com
194
+ PAGE: ${STAGING_URL | path | slugify} # users-settings
195
+ NAME: ${SITE}-${PAGE}
196
+ stages:
197
+ - id: explore
198
+ run: explorbot explore "$STAGING_URL" --output "$STAGE_DIR/$NAME"
199
+ ```
200
+
201
+ - An unknown filter fails the file, so `pipeline-check` catches it.
179
202
  - `--set KEY=VALUE` and the job's own environment reach every stage. `--set` wins
180
203
  over `env:`.
181
204
  - The runner sets:
@@ -183,6 +206,7 @@ Every key is optional. All given must hold, and at least one file must count.
183
206
  | Variable | Value |
184
207
  |---|---|
185
208
  | `PIPELINE_DIR` | absolute path of the pipeline folder |
209
+ | `STAGE_DIR` | absolute path of the stage's own folder |
186
210
  | `PIPELINE_NAME` | the pipeline's name |
187
211
  | `PIPELINE_ROUND` | 1, 2, โ€ฆ |
188
212
  | `ITEM` | in a loop: the line, or the file's path |
@@ -194,8 +218,36 @@ they belong to a single task.
194
218
 
195
219
  ## Files
196
220
 
197
- Every stage runs in the checkout. Paths in `inputs`, `outputs` and loops resolve
198
- against the pipeline folder, `$PIPELINE_DIR`. A path ending in `/` is a folder.
221
+ Every stage runs in the checkout and keeps its files in a folder of its own,
222
+ numbered in stage order, `$STAGE_DIR`. Open the folders in order to review a run:
223
+
224
+ ```
225
+ .qa/
226
+ pipeline.json
227
+ changes.txt
228
+ 1-requirements/
229
+ requirements.md
230
+ requirements.json
231
+ 2-review/
232
+ requirements.md -> ../1-requirements/requirements.md
233
+ review.md
234
+ review.json
235
+ 3-explore/
236
+ explore.log
237
+ explorbot/
238
+ summary/
239
+ draft.md
240
+ summary.md
241
+ ```
242
+
243
+ - With 10 stages or more the numbers are padded: `01-review`, `02-check`.
244
+ - Hand a stage's report to the next one, `inputs: [requirements.md]`. Declare
245
+ an extra output only when a command needs its format, like a list to loop
246
+ over. Outputs are never part of the final report.
247
+ - When a skill fits, keep the task to two lines: what to work on, the skill,
248
+ and where files go. The skill holds the method and the format.
249
+ - Paths in `inputs`, `outputs` and loops are relative to the stage folder. A
250
+ path ending in `/` is a folder.
199
251
 
200
252
  Each stage leaves its own files:
201
253
 
@@ -206,11 +258,16 @@ Each stage leaves its own files:
206
258
  | `<id>.log` | command | stdout and stderr |
207
259
 
208
260
  - A later stage reads them by name: `inputs: [review.md]`.
209
- - An `outputs` entry may not reuse one of these names.
261
+ - Before a stage runs, each input is linked into its folder, from the last
262
+ earlier stage that wrote it or from the top of the pipeline folder. A command
263
+ reads it as `"$STAGE_DIR/review.md"`. Stage numbers never appear in a path.
264
+ - An `outputs` entry may not reuse one of these names, nor be one of the stage's
265
+ inputs. Write a new file.
210
266
  - Every input must come from an earlier stage, from the runner (`changes.txt`),
211
- or exist in the folder at start.
212
- - After a stage, every `outputs` entry must exist, or the stage is `broken`.
213
- - An agent stage's task gets a block that names the folder, the files to read,
267
+ or exist in the pipeline folder at start.
268
+ - After a stage, every `outputs` entry must exist in its folder, or the stage is
269
+ `broken`.
270
+ - An agent stage's task gets a block that names its folder, the files to read,
214
271
  the files to write, and inputs a skipped stage did not produce.
215
272
  - A command stage whose inputs all come from skipped stages is skipped too. An
216
273
  agent stage still runs and is told what is missing.
@@ -219,18 +276,23 @@ Each stage leaves its own files:
219
276
 
220
277
  ```yaml
221
278
  - id: explore
279
+ title: API exploration
280
+ emoji: ๐Ÿค–
222
281
  each_line: endpoints.txt
223
282
  run: npx -y explorbot api explore "$ITEM"
224
283
 
225
284
  - id: sync
285
+ title: Sync to Testomat.io
286
+ emoji: ๐Ÿ”„
226
287
  each_file: test-cases/*.md
227
288
  task: Sync ${ITEM} to Testomat.io. /sync-test-cases-with-tms
228
289
  ```
229
290
 
230
291
  - `each_line` runs once per non-empty line. `each_file` runs once per matching
231
292
  file, sorted, with `*` and `**`.
232
- - Both resolve against the pipeline folder and are matched when the stage
233
- starts, so earlier stages can write them.
293
+ - Both resolve against the stage folder and are matched when the stage starts.
294
+ The folder an `each_file` mask starts with, `test-cases/` here, counts as an
295
+ input and is linked in from the stage that wrote it.
234
296
  - Nothing to loop over: the stage is skipped.
235
297
  - Items run one after another. A failed item does not stop the others. The stage
236
298
  takes the worst item's status.
@@ -253,10 +315,24 @@ Each stage leaves its own files:
253
315
  A pipeline with more than one stage ends with a summary. It is not written in
254
316
  the file: the runner adds it.
255
317
 
256
- - It runs the `pipeline-report` skill with the `summary:` text, reads every
257
- stage's files, and writes `summary.md`.
318
+ - The runner writes `summary/draft.md`: every stage's report, word for word,
319
+ under its own section. Its headings move down to fit under the section.
320
+ - An agent then trims the draft into `summary/summary.md`. It drops what an
321
+ earlier section already said and shortens sections that are too long. It
322
+ never adds, renames or drops a heading, and never writes content of its own.
323
+ The `summary:` text is passed to it.
258
324
  - Its report is the only thing sent to `--output`. Every other stage runs with
259
325
  `--no-thread` and posts nothing.
326
+ - It lists every stage, in order, as its own section and nothing else:
327
+
328
+ ```markdown
329
+ ### ๐Ÿงช Tests
330
+
331
+ <the stage's report>
332
+ ```
333
+
334
+ - A skipped stage shows its gate message. A stage that did not run says so.
335
+ - Stage reports are not signed. The summary is signed once.
260
336
  - It explains the pipeline's verdict and never changes it.
261
337
  - It runs after the last stage, and after a stage that stopped the pipeline. Not
262
338
  after Ctrl-C, and not when the run was skipped.
@@ -293,14 +369,72 @@ runs, as a CI cache per pull request, and each run is a round:
293
369
 
294
370
  - A retry keeps stages that passed or failed and uses the folder's copy of the
295
371
  file, so the stages cannot change half-way.
296
- - A new round clears the last round's files, keeps `.sessions/`, and counts
297
- `changes` from the last round's commit. Stages with a session are told what
298
- changed. The summary updates its comment.
372
+ - A new round moves the last round's files to `.last/`, keeps `.sessions/`,
373
+ and counts `changes` from the last round's commit.
374
+ - Each agent stage whose folder is in `.last/` is pointed at it and told to
375
+ update that result: keep what still holds, redo what the changes touch. The
376
+ summary is built from those updated reports and updates its comment.
377
+ - Stages match by folder name. A stage that moved gets no last round.
299
378
  - `--dir` may not be the checkout or a folder above it.
300
379
 
301
380
  `pipeline.json` in the folder holds the round, each stage's status and the
302
381
  round history. `--json` prints it.
303
382
 
383
+ ## Overrides
384
+
385
+ Change a pipeline without copying it. Two ways in, one set of rules.
386
+
387
+ From the command line, for one run:
388
+
389
+ ```bash
390
+ testeiya pipeline issue-test-cases \
391
+ --stage 'requirements:append_task: Never assume user credentials. Ask for them.' \
392
+ --stage 'sync:append_when: [release]' \
393
+ --pipeline 'gates: {release: {env: [RELEASE], message: Not a release.}}'
394
+ ```
395
+
396
+ From a file, to keep in the repo:
397
+
398
+ ```yaml
399
+ # .github/testeiya/issue-test-cases.yml
400
+ extends: issue-test-cases
401
+ gates:
402
+ release:
403
+ env: [RELEASE]
404
+ message: Not a release.
405
+ stages:
406
+ - id: requirements
407
+ append_task: Never assume user credentials. Ask for them.
408
+ - id: sync
409
+ append_when: [release]
410
+ ```
411
+
412
+ - `--stage ID:YAML` changes one stage. It splits on the first colon. Several
413
+ keys go in one flow map: `--stage 'explore:{timeout: 45m, append_when: staging}'`.
414
+ - The value is YAML, so quote text that holds `: `:
415
+ `--stage 'plan:append_task: "Note: be brief."'`.
416
+ - `--pipeline YAML` changes the top level: `summary`, `env`, `gates`, `when`, `stages`.
417
+ - `extends` takes a bundled name or a path relative to the file. The rest of the
418
+ file is laid over it. It inherits the base's `name` unless it sets its own.
419
+ - Order: `extends`, then every `--pipeline`, then every `--stage`.
420
+
421
+ | Key | Text: `task`, `run`, `summary`, `message` | List: `when`, `inputs`, `outputs`, `stopOn`, gate `env` and `file` | Map: `env`, `gates` |
422
+ |---|---|---|---|
423
+ | `key` | replaces | replaces | merges by key |
424
+ | `append_key` | adds at the end, on a new line | adds at the end | error |
425
+ | `prepend_key` | adds at the start, on a new line | adds at the start | error |
426
+ | `remove_key` | error | drops the items given | drops the keys given |
427
+
428
+ - Any other key, like `timeout` or `title`, only replaces.
429
+ - Stages match by `id`. An unknown id with a `task` or `run` is a new stage,
430
+ added at the end. Without one it is an error.
431
+ - `remove_stages: [id]` and `remove_gates: [name]` drop a stage or a gate.
432
+ - The result is checked like any pipeline file, before anything runs. A typo,
433
+ a missing stage or a gate no one defines is an error and exits 2.
434
+ - `--dry-run` and `pipeline-check` print every override and the keys it changes.
435
+ - `pipeline.yml` in the folder holds the pipeline with every override applied.
436
+ A retry runs that copy, so it repeats the round it started.
437
+
304
438
  ## In CI
305
439
 
306
440
  Find what only the job knows in a step of its own, then run the pipeline in one
package/README.md CHANGED
@@ -228,28 +228,35 @@ gates:
228
228
  run: ls "${PLAYWRIGHT_BROWSERS_PATH:-$HOME/.cache/ms-playwright}" | grep -q chromium
229
229
  message: No browser. Run npx playwright install --with-deps chromium.
230
230
 
231
- env:
232
- EXPLORBOT_OUTPUT: ${PIPELINE_DIR}/explorbot
233
-
234
231
  stages:
235
232
  - id: review
233
+ title: Review
234
+ emoji: ๐Ÿ”
236
235
  session: qa
237
236
  task: Review this pull request. Write browser scenarios to plan.md. /explorbot-plan
238
237
  outputs: [plan.md]
239
238
  - id: explore
239
+ title: Browser testing
240
+ emoji: ๐ŸŒ
240
241
  when: [staging, browser]
241
- run: npx -y explorbot test "$PIPELINE_DIR/plan.md" '*'
242
+ run: EXPLORBOT_OUTPUT="$STAGE_DIR/explorbot" npx -y explorbot test "$STAGE_DIR/plan.md" '*'
243
+ inputs: [plan.md]
244
+ outputs: [explorbot/]
242
245
  timeout: 30m
243
246
  - id: results
247
+ title: Results
248
+ emoji: ๐Ÿ“Š
244
249
  session: qa
245
250
  task: Read the Explorbot report under explorbot/ and say what broke.
246
251
  inputs: [explorbot/]
247
252
  ```
248
253
 
249
- - A stage is a `task` for the agent or a `run` shell command.
250
- - Stages pass files through one folder, `$PIPELINE_DIR`. An agent stage writes
251
- `<id>.md` and `<id>.json`, a command writes `<id>.log`. `inputs` and
252
- `outputs` name the rest.
254
+ - A stage is a `task` for the agent or a `run` shell command. Its `title` and
255
+ `emoji` head its section in the final report, `### ๐Ÿ” Review`.
256
+ - Each stage keeps its files in a numbered folder, `1-review/`, `2-explore/`, โ€ฆ,
257
+ so a run reads in order. An agent stage writes `<id>.md` and `<id>.json`, a
258
+ command writes `<id>.log`. `outputs` name the rest. `inputs` are linked into
259
+ the folder from the stage that wrote them, as `$STAGE_DIR/<file>`.
253
260
  - `gates` are named checks: `env`, `file`, `run`, or `changes` (`paths`,
254
261
  `ignore`, `min_files`). `when:` names the gates a stage needs. One fails and
255
262
  the stage is skipped with its message. In the top-level `when:` it skips the
@@ -263,16 +270,19 @@ stages:
263
270
 
264
271
  The full format is in [PIPELINES.md](PIPELINES.md).
265
272
 
266
- A pipeline with more than one stage ends with a summary written by the
267
- `pipeline-report` skill. It is the only thing posted to `--output`. Every other
268
- stage runs with `--no-thread`, so nothing else touches the pull request.
273
+ A pipeline with more than one stage ends with a summary: one `### <emoji> <title>`
274
+ section per stage holding that stage's report, trimmed, with nothing repeated
275
+ between sections. It never adds content of its own. It is the
276
+ only thing posted to `--output`. Every other stage runs with `--no-thread`, so
277
+ nothing else touches the pull request.
269
278
 
270
279
  ### Rounds
271
280
 
272
281
  Keep `--dir` between runs, as a CI cache per pull request, and each run is a
273
282
  round. A re-run on the same commit retries from the stage that stopped. A new
274
- commit starts a new round: `changes` count from the last round's commit, stages
275
- with a session are told what changed, and the summary updates its comment.
283
+ commit starts a new round: `changes` count from the last round's commit, the
284
+ last round's files move to `.last/`, and each agent stage updates its own last
285
+ result instead of starting over. The summary updates its comment.
276
286
 
277
287
  ```yaml
278
288
  - uses: actions/cache/restore@v4
@@ -294,7 +304,11 @@ those belong to a single task. Use `--thread` on the pipeline instead.
294
304
  `--set KEY=VALUE` sets a variable for every stage. `--gate NAME:COMMAND` adds a
295
305
  check from the CI job: when the command fails, the whole run is skipped and exits
296
306
  0, before any output is checked. Use it for what only the job knows, like
297
- whether this push belongs to a pull request. `--dry-run` prints every
307
+ whether this push belongs to a pull request. `--stage ID:YAML` and
308
+ `--pipeline YAML` change a pipeline for one run, e.g. `--stage
309
+ 'requirements:append_task: Never assume credentials.'`. A plain key replaces,
310
+ `append_` and `prepend_` add, `remove_` drops. A file that starts with
311
+ `extends: <name>` keeps the same changes in the repo. `--dry-run` prints every
298
312
  gate and stage and spends nothing. `testeiya pipeline-check` checks the file and
299
313
  every gate it declares, used or not, and prints the message of each one that
300
314
  does not pass. `--diagram` also writes the pipeline as a Mermaid chart.
@@ -0,0 +1,23 @@
1
+ import dedent from "dedent";
2
+ export const pipelineReport = dedent `
3
+ <pipeline-report>
4
+ The draft is the report: every stage's report, word for word, under its own \`### <emoji> <title>\` heading. Your job is to trim it, never to write it. This format overrides <final-report>, its title included.
5
+
6
+ 1. Copy the draft to the report file with the \`write\` tool, word for word.
7
+ 2. Trim it with the \`edit\` tool:
8
+ * Drop a line that repeats what an earlier section already said.
9
+ * When a section is too long, shorten its lines or drop its least important bullets.
10
+ 3. Nothing repeats and nothing is too long: leave the copy as it is.
11
+
12
+ Never:
13
+ * Add, rename, merge, reorder or drop a heading.
14
+ * Add a sentence, a title, an intro, a conclusion or a closing summary.
15
+ * Change a fact, a number, an id or a link. Reword only to shorten.
16
+ * Cut a numbered list, or replace a list with a count like "10 items, see the file".
17
+ * Add findings, assumptions or advice of your own.
18
+
19
+ * A command stage's section links its log. You may add up to three bullets quoting its failures from the log.
20
+ * The verdict is given. Do not call a result tool to set one.
21
+ </pipeline-report>
22
+ `;
23
+ //# sourceMappingURL=pipeline-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline-report.js","sourceRoot":"","sources":["../../prompt/pipeline-report.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAA;;;;;;;;;;;;;;;;;;;;CAoBnC,CAAC"}
@@ -17,7 +17,7 @@ export function finalReport(path) {
17
17
  <final-report>
18
18
  * Write your complete final report to \`${path}\` with the \`write\` tool. Writing it is required before you finish.
19
19
  * That file is your answer. It is the run's deliverable; nothing else you say is kept.
20
- * A skill's output format overrides every rule in this block, including the title. Follow it strictly.
20
+ * A skill's or the task's output format overrides every rule in this block, including the title. Follow it strictly.
21
21
  * Decide the **severity of your report**. Low severity: a few short bullets, nothing more.
22
22
  * Do not make the reader go through a long report for a minor issue with no effect.
23
23
  * Severity decides how many items you report, not how long each one is. Even a critical finding is: what breaks, for whom, when.
@@ -36,8 +36,8 @@ export function testomatio(options) {
36
36
  `;
37
37
  }
38
38
  function dynamicData(tms) {
39
- if (tms === "mcp-proxy") {
40
- return "Get them through the Testomat.io tools, one per entity (`tests`, `runs`, `testruns`, `issues`, โ€ฆ); pick the operation with its `command` param. The `mcp` tool searches them when the name is unclear.";
39
+ if (tms === "mcp-tools") {
40
+ return "Get them through the `mcp__testomatio__*` tools, one per entity (`tests`, `runs`, `testruns`, `issues`, โ€ฆ); pick the operation with its `command` param.";
41
41
  }
42
42
  if (tms === "cli-only") {
43
43
  return "There are no Testomat.io tools in this session. Get them from the REST API: `curl` with the `TESTOMATIO` token as the Authorization header against `$TESTOMATIO_URL/api/v2`. Keep to documented endpoints; never invent paths or parameters.";
@@ -1 +1 @@
1
- {"version":3,"file":"testomat.io.js","sourceRoot":"","sources":["../../prompt/testomat.io.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAA0B;IACnD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,MAAM,CAAA;;;;;;;KAOZ,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,OAAO,CAAC,UAAU;QAAE,GAAG,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,CAAC;IAC7D,OAAO,MAAM,CAAA;;;;;6FAK8E,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;;;;8IAQyB,GAAG;;GAE9I,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAAc;IACjC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACxB,OAAO,wMAAwM,CAAC;IAClN,CAAC;IACD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QACvB,OAAO,8OAA8O,CAAC;IACxP,CAAC;IACD,OAAO,+IAA+I,CAAC;AACzJ,CAAC"}
1
+ {"version":3,"file":"testomat.io.js","sourceRoot":"","sources":["../../prompt/testomat.io.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAA0B;IACnD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,OAAO,MAAM,CAAA;;;;;;;KAOZ,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,OAAO,CAAC,UAAU;QAAE,GAAG,GAAG,OAAO,OAAO,CAAC,UAAU,KAAK,CAAC;IAC7D,OAAO,MAAM,CAAA;;;;;6FAK8E,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC;;;;;;;;8IAQyB,GAAG;;GAE9I,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,GAAc;IACjC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;QACxB,OAAO,0JAA0J,CAAC;IACpK,CAAC;IACD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;QACvB,OAAO,8OAA8O,CAAC;IACxP,CAAC;IACD,OAAO,+IAA+I,CAAC;AACzJ,CAAC"}
package/dist/src/args.js CHANGED
@@ -47,6 +47,8 @@ Pipeline options:
47
47
  --dry-run show gates and stages, spend no tokens
48
48
  --set KEY=VALUE set a variable for every stage, repeatable
49
49
  --gate NAME:COMMAND skip the whole run unless COMMAND exits 0, repeatable
50
+ --stage ID:YAML change one stage, e.g. 'plan:append_task: Be brief.'
51
+ --pipeline YAML change the pipeline, e.g. 'append_summary: Be brief.'
50
52
  -h, --help show this
51
53
  -v, --version show version
52
54
 
@@ -195,10 +197,18 @@ Pipelines
195
197
  --gate adds a check from the CI job, e.g. --gate 'pr:test -n "$PR_NUMBER"'.
196
198
  When it fails the whole run is skipped and exits 0.
197
199
 
200
+ --stage and --pipeline change a pipeline without copying it. Their value is
201
+ YAML: a plain key replaces, append_ and prepend_ add, remove_ drops.
202
+
203
+ testeiya pipeline issue-test-cases --stage 'requirements:append_task: Never assume credentials.'
204
+ testeiya pipeline web-testing --stage 'explore:{timeout: 45m, append_when: [staging]}'
205
+
206
+ A file of your own can start with "extends: <name>" and hold only the changes.
207
+
198
208
  A stage whose gate fails is skipped with the gate's message. A final summary
199
209
  reads every stage and is the only thing posted. Keep --dir between runs, as a
200
210
  CI cache per pull request, and a re-run on the same commit retries from the
201
- stage that stopped, while a new commit starts a round told what changed.
211
+ stage that stopped, while a new commit starts a round that updates the last one.
202
212
  --dry-run shows the plan and spends nothing. "testeiya pipeline-check" checks
203
213
  the file and every gate it declares, and prints the message of each gate that
204
214
  does not pass. It exits 1 when one does not, 2 when the file is invalid.
@@ -266,6 +276,10 @@ export function parseCliArgs(argv) {
266
276
  return { error: gates };
267
277
  args.gates = gates;
268
278
  }
279
+ if (Array.isArray(values.pipeline))
280
+ args.pipelineOverrides = values.pipeline;
281
+ if (Array.isArray(values.stage))
282
+ args.stageOverrides = values.stage;
269
283
  if (Array.isArray(values.output))
270
284
  args.outputs = values.output;
271
285
  if (values.json)
@@ -346,6 +360,8 @@ const PIPELINE_OPTIONS = {
346
360
  "dry-run": { type: "boolean" },
347
361
  set: { type: "string", multiple: true },
348
362
  gate: { type: "string", multiple: true },
363
+ pipeline: { type: "string", multiple: true },
364
+ stage: { type: "string", multiple: true },
349
365
  help: HELP_FLAG,
350
366
  };
351
367
  const OPTIONS = {
@@ -358,6 +374,8 @@ const OPTIONS = {
358
374
  dir: PIPELINE_OPTIONS.dir,
359
375
  set: PIPELINE_OPTIONS.set,
360
376
  gate: PIPELINE_OPTIONS.gate,
377
+ pipeline: PIPELINE_OPTIONS.pipeline,
378
+ stage: PIPELINE_OPTIONS.stage,
361
379
  diagram: { type: "boolean" },
362
380
  help: HELP_FLAG,
363
381
  },
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"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"}
package/dist/src/cli.js CHANGED
@@ -118,6 +118,8 @@ async function pipeline(args) {
118
118
  dryRun: args.dryRun,
119
119
  sets: args.sets,
120
120
  gates: args.gates,
121
+ pipelineOverrides: args.pipelineOverrides,
122
+ stageOverrides: args.stageOverrides,
121
123
  outputs: args.outputs,
122
124
  thread: args.thread,
123
125
  header: args.header,
@@ -130,8 +132,8 @@ async function pipeline(args) {
130
132
  }).run();
131
133
  }
132
134
  async function pipelineCheck(args) {
133
- const { dir, sets, gates, model, json, diagram } = args;
134
- return new Pipeline({ name: args.pipeline, dir, sets, gates, model, json, diagram, checkAi }).check();
135
+ const { dir, sets, gates, pipelineOverrides, stageOverrides, model, json, diagram } = args;
136
+ return new Pipeline({ name: args.pipeline, dir, sets, gates, pipelineOverrides, stageOverrides, model, json, diagram, checkAi }).check();
135
137
  }
136
138
  async function checkAi(model) {
137
139
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,8 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { relative } from "node:path";
3
- import { fileURLToPath } from "node:url";
4
3
  import { TESTEIYA_HOME } from "./env.js";
5
4
  import { langfuseConfig } from "./langfuse.js";
6
- import { hasMcp, hasTestomatio, metadataCachePath, vendorBundle } from "./mcp.js";
5
+ import { hasMcp, hasTestomatio, mcpServerScript } from "./mcp.js";
7
6
  import { PROVIDER_KEYS, resolveModel, UsageError } from "./model.js";
8
7
  import { loadBundledSkills } from "./skills.js";
9
8
  import { BUNDLED_SKILLS_DIR, createRuntime } from "./session.js";
@@ -20,7 +19,7 @@ export async function runDoctor(options) {
20
19
  checks.push(model.check);
21
20
  const skills = await skillsChecks();
22
21
  checks.push(...skills.checks);
23
- checks.push(testomatioCheck(), mcpCacheCheck(), langfuseCheck(options.envSources));
22
+ checks.push(testomatioCheck(), mcpCheck(), langfuseCheck(options.envSources));
24
23
  if (options.probe)
25
24
  checks.push(await probeCheck(runtime, model.resolved));
26
25
  if (options.json) {
@@ -140,17 +139,16 @@ function langfuseCheck(sources) {
140
139
  const from = sources.get("LANGFUSE_PUBLIC_KEY") ?? "environment";
141
140
  return { name: "langfuse", status: "ok", detail: `${config.baseUrl}, keys from ${from}` };
142
141
  }
143
- function mcpCacheCheck() {
142
+ function mcpCheck() {
144
143
  if (!hasMcp())
145
144
  return { name: "mcp", status: "ok", detail: "off" };
146
- const bundle = fileURLToPath(vendorBundle());
147
- if (!existsSync(bundle)) {
148
- return { name: "mcp", status: "fail", detail: "vendor bundle missing โ€” run npm run build" };
145
+ try {
146
+ mcpServerScript();
147
+ return { name: "mcp", status: "ok", detail: "@testomatio/mcp, direct tools" };
149
148
  }
150
- if (!existsSync(metadataCachePath())) {
151
- return { name: "mcp", status: "warn", detail: "tool cache empty, first run is proxy-only" };
149
+ catch {
150
+ return { name: "mcp", status: "fail", detail: "@testomatio/mcp is not installed" };
152
151
  }
153
- return { name: "mcp", status: "ok", detail: "direct tools and proxy" };
154
152
  }
155
153
  async function probeCheck(runtime, model) {
156
154
  if (!model)