@ia-qa/self-healing 1.7.7 → 1.7.10
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.
- package/README.md +36 -0
- package/TUTORIAL.md +45 -1
- package/dist/cli/args.js +1 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/explain.d.ts +45 -0
- package/dist/cli/explain.js +302 -0
- package/dist/cli/explain.js.map +1 -0
- package/dist/cli/index.js +18 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/explain.d.ts +225 -0
- package/dist/explain.js +373 -0
- package/dist/explain.js.map +1 -0
- package/dist/ingest.d.ts +13 -0
- package/dist/ingest.js +215 -7
- package/dist/ingest.js.map +1 -1
- package/dist/mcp/server.d.ts +56 -0
- package/dist/mcp/server.js +73 -0
- package/dist/mcp/server.js.map +1 -1
- package/package.json +1 -1
- package/skills/ia-qa-heal/SKILL.md +10 -1
|
@@ -52,6 +52,7 @@ exists only in a state nothing captured (behind a tab, a modal, a mode toggle).
|
|
|
52
52
|
| "did anything drift?" | `diff` → PASS/FIX/BLOCK (the CI gate) |
|
|
53
53
|
| "the suite already ran with `IAQA_CAPTURE=1`" | `diff` — **on its own**. It picks up `.capture/` and never opens a browser. Do *not* re-run `run`, and never `map` (that re-captures from scratch, without the session the suite had) |
|
|
54
54
|
| "their suite takes 20 min and `run` runs it twice" | `run --no-verify` — the second run is the post-fix verification, and it is optional. Say what they lose: the exit code then reflects the diff, not a re-proved green suite |
|
|
55
|
+
| "here is my failing test / red build — why?" | `explain --junit <file>` (or `--message "<error text>"`, or pipe the log). Start here when the user hands you a failure rather than a question: it names the locator, judges it against the two captures, and a **PASS rules drift out** so you stop hunting selectors. It re-runs nothing and edits nothing |
|
|
55
56
|
| "day one, no baseline — is my suite still valid?" | `audit` |
|
|
56
57
|
| "is the app I mapped even sound?" | `check` (dead links · unnamed elements · name collisions · orphan pages) |
|
|
57
58
|
| "which pages am I *not* covering?" | `discover` (`--sitemap` / `--crawl`; suggests only). Behind a login `--sitemap` sees nothing — `--crawl` is the one that works, and it reuses the session |
|
|
@@ -69,7 +70,7 @@ Exact flags: `ia-qa-heal <verb> --help`. Do not guess them from this file.
|
|
|
69
70
|
|
|
70
71
|
### Machine-readable outputs
|
|
71
72
|
|
|
72
|
-
`diff`, `run`, `audit`, `check` and `history` all take `--json`. Prefer it over parsing prose.
|
|
73
|
+
`diff`, `run`, `audit`, `check`, `explain` and `history` all take `--json`. Prefer it over parsing prose.
|
|
73
74
|
Under `run --json`, every human line moves to stderr so stdout stays one parseable document.
|
|
74
75
|
`diff --junit` / `run --junit` additionally write JUnit XML — the format a CI already knows.
|
|
75
76
|
|
|
@@ -158,6 +159,14 @@ clicking the wrong thing), or a name-drift finding that is not attributable.
|
|
|
158
159
|
(`repairable` / `working` / `ambiguous` / `not seen`), and it is only meaningful next to
|
|
159
160
|
the page coverage: `not seen` over 6 mapped pages out of 163 says nothing about the suite.
|
|
160
161
|
|
|
162
|
+
15. **Never report `explain`'s PASS as "the test passes".** It says one thing: the locators in
|
|
163
|
+
that failure still reach their elements, so the red build is **not** selector drift. It
|
|
164
|
+
re-ran nothing, so it is not evidence of flakiness either — it *narrows* the search to
|
|
165
|
+
timing, test data or an application error. Tell the user which of those to look at next;
|
|
166
|
+
do not close the ticket. And never report its **refusal** as a pass: "cannot tell which
|
|
167
|
+
locator this is about" (exit 2) is an unanswered question, usually an un-ingested file
|
|
168
|
+
or a locator built at runtime, and the remedy is in the message.
|
|
169
|
+
|
|
161
170
|
## 5. What leaves the machine
|
|
162
171
|
|
|
163
172
|
Nothing, except: requests to the user's **own** `baseUrl` (`check`'s link half, `discover --crawl`
|