@ia-qa/self-healing 1.7.10 → 1.7.13

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 (58) hide show
  1. package/README.md +38 -2
  2. package/dist/aom.d.ts +36 -0
  3. package/dist/aom.js.map +1 -1
  4. package/dist/browser/match.d.ts +10 -0
  5. package/dist/browser/match.js +16 -6
  6. package/dist/browser/match.js.map +1 -1
  7. package/dist/browser/openables.d.ts +45 -0
  8. package/dist/browser/openables.js +128 -0
  9. package/dist/browser/openables.js.map +1 -0
  10. package/dist/captureState.d.ts +66 -0
  11. package/dist/captureState.js +149 -0
  12. package/dist/captureState.js.map +1 -0
  13. package/dist/cli/args.js +5 -4
  14. package/dist/cli/args.js.map +1 -1
  15. package/dist/cli/baseline.js +22 -0
  16. package/dist/cli/baseline.js.map +1 -1
  17. package/dist/cli/diff.d.ts +50 -0
  18. package/dist/cli/diff.js +114 -11
  19. package/dist/cli/diff.js.map +1 -1
  20. package/dist/cli/emit.d.ts +17 -0
  21. package/dist/cli/emit.js +25 -0
  22. package/dist/cli/emit.js.map +1 -1
  23. package/dist/cli/exitCodes.d.ts +29 -0
  24. package/dist/cli/exitCodes.js +41 -0
  25. package/dist/cli/exitCodes.js.map +1 -0
  26. package/dist/cli/explain.js +11 -2
  27. package/dist/cli/explain.js.map +1 -1
  28. package/dist/cli/fix.d.ts +16 -0
  29. package/dist/cli/fix.js +85 -11
  30. package/dist/cli/fix.js.map +1 -1
  31. package/dist/cli/index.js +56 -3
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/cli/init.d.ts +39 -1
  34. package/dist/cli/init.js +216 -12
  35. package/dist/cli/init.js.map +1 -1
  36. package/dist/cli/map.d.ts +2 -0
  37. package/dist/cli/map.js +126 -4
  38. package/dist/cli/map.js.map +1 -1
  39. package/dist/cli/run.js +8 -26
  40. package/dist/cli/run.js.map +1 -1
  41. package/dist/config.d.ts +45 -0
  42. package/dist/config.js.map +1 -1
  43. package/dist/explain.d.ts +27 -0
  44. package/dist/explain.js +88 -7
  45. package/dist/explain.js.map +1 -1
  46. package/dist/explore.d.ts +138 -0
  47. package/dist/explore.js +224 -0
  48. package/dist/explore.js.map +1 -0
  49. package/dist/nextStep.d.ts +79 -0
  50. package/dist/nextStep.js +107 -0
  51. package/dist/nextStep.js.map +1 -0
  52. package/dist/systemicDelta.d.ts +129 -0
  53. package/dist/systemicDelta.js +164 -0
  54. package/dist/systemicDelta.js.map +1 -0
  55. package/dist/ui/server.js +5 -1
  56. package/dist/ui/server.js.map +1 -1
  57. package/package.json +1 -1
  58. package/skills/ia-qa-heal/SKILL.md +56 -2
@@ -0,0 +1,129 @@
1
+ import { CaptureState, StateComparison } from './captureState';
2
+ /**
3
+ * The same element missing from every page is one fact, not one fact per page.
4
+ *
5
+ * Measured on a 142-page app whose suite was green and whose site was sound:
6
+ * `diff --dir` returned ⛔ BLOCK on 139 of 142 pages, 288 `lost` rows, exactly two
7
+ * per page. Behind all 288: two buttons of a cookie banner, present in a baseline
8
+ * captured before consent and absent from a capture taken after it. The app had not
9
+ * moved. Nobody triages 288 rows to find that out, and a gate that shouts on a
10
+ * healthy app is a gate that gets turned off.
11
+ *
12
+ * This module is the missing half of a de-duplication the package already performs
13
+ * twice elsewhere — `check` collapses a finding repeated across pages ("a navbar on
14
+ * 142 pages is one fix, not 142 findings") and `_layouts/` lifts the shared shell out
15
+ * of the contracts structurally. Neither reaches the *verdict*, which is where the
16
+ * cost lands.
17
+ *
18
+ * **What it is not.** It is not a filter on noisy rows, and it is emphatically not
19
+ * driven by `usage.json`. The first version of this idea held out rows no test
20
+ * referenced; on the very corpus that motivated it, `usage.names` held both `reject`
21
+ * and `accept all` — a spec tests that banner on purpose — so the rule would have
22
+ * fired on nothing at all. What separates the two cases is not who references the
23
+ * element; it is that *one page's worth of change explains every page's rows*.
24
+ *
25
+ * **Why it lives outside `src/browser/match.js`**, like `nameDrift.ts` and
26
+ * `nameMask.ts`: that file ships twice (npm + the zero-install web tool), stays
27
+ * dependency-free, and — decisively here — compares exactly two pages. A cross-page
28
+ * fact is unrepresentable there. The same boundary is why the MCP tools
29
+ * `diff_mappings` and `fix_tests` are out of scope rather than divergent: they take
30
+ * two files, and two files cannot show that something is true of every page. With
31
+ * one page compared, this module returns no groups, so a single-page `diff` is
32
+ * bit-for-bit what it was before.
33
+ */
34
+ export interface SystemicRowLike {
35
+ status: string;
36
+ role?: string;
37
+ name?: string;
38
+ rebound?: boolean;
39
+ }
40
+ export interface SystemicReportLike {
41
+ verdict: 'PASS' | 'FIX' | 'BLOCK';
42
+ counts: Record<string, number>;
43
+ rows: SystemicRowLike[];
44
+ added: SystemicRowLike[];
45
+ }
46
+ export interface SystemicPageLike {
47
+ name: string;
48
+ report: SystemicReportLike;
49
+ isLayout: boolean;
50
+ }
51
+ export interface SystemicGroup {
52
+ /** `lost` — gone from every page. `added` — appeared on every page. */
53
+ kind: 'lost' | 'added';
54
+ role: string;
55
+ name: string;
56
+ /** The pages carrying this row, in walk order. */
57
+ pages: string[];
58
+ /**
59
+ * Pages whose contract holds this element at all — the denominator. A control that
60
+ * only ever existed on the 40 tool pages is systemic when it leaves all 40, not
61
+ * when it leaves 40 of 142.
62
+ */
63
+ seenOn: number;
64
+ }
65
+ /**
66
+ * Whether the groups were held out of the verdict, and on what evidence.
67
+ *
68
+ * `in-verdict` is not a failure mode — it is the honest answer whenever the capture
69
+ * state cannot exonerate the app. A navbar the app really deleted produces exactly
70
+ * the same rows as a banner that was merely dismissed, and letting that through as a
71
+ * pass is worse than every false BLOCK this module exists to remove.
72
+ */
73
+ export type SystemicPolicy = 'held-out' | 'in-verdict';
74
+ export interface SystemicOutcome {
75
+ groups: SystemicGroup[];
76
+ policy: SystemicPolicy;
77
+ /** How the two moments' capture state compared — the reason for the policy. */
78
+ state: StateComparison;
79
+ baselineState?: CaptureState;
80
+ currentState?: CaptureState;
81
+ }
82
+ /**
83
+ * A group must cover this many pages before it can be called systemic.
84
+ *
85
+ * Below it the collapse buys nothing (five rows is a list, not a wall) while still
86
+ * costing the ability to see them per page. It also keeps small projects — a
87
+ * three-page app where everything is on every page — entirely out of this code path.
88
+ */
89
+ export declare const MIN_PAGES = 5;
90
+ /**
91
+ * …and this share of the pages that held the element. Deliberately not 1.0: one page
92
+ * whose capture happened to catch the banner mid-animation should not turn a
93
+ * 142-page fact back into 142 facts.
94
+ */
95
+ export declare const MIN_SHARE = 0.9;
96
+ /**
97
+ * Find the cross-page groups. Pure — no policy, no state, no I/O.
98
+ *
99
+ * Layout pages are excluded from both numerator and denominator: `_layouts/` already
100
+ * holds one row for the whole shell, so counting it would let a single layout row
101
+ * pull a group over the threshold on its own.
102
+ */
103
+ export declare function findSystemicGroups(pages: SystemicPageLike[]): SystemicGroup[];
104
+ /**
105
+ * Detection plus policy.
106
+ *
107
+ * The policy is one line and it carries the whole risk of the feature: a group leaves
108
+ * the verdict **only** when the two captures are known to have run under different
109
+ * browser state. Identical state means the app really did change — that is a finding,
110
+ * collapsed to one row but still red. Unknown state (any baseline written before
111
+ * fingerprints existed) is also red, because "I cannot tell" and "they match" must
112
+ * not lead to the same place.
113
+ */
114
+ export declare function assessSystemic(pages: SystemicPageLike[], baselineState?: CaptureState, currentState?: CaptureState): SystemicOutcome;
115
+ /**
116
+ * Remove the held-out rows and re-derive each page's verdict.
117
+ *
118
+ * Returns fresh report objects: the caller's reports are the ones the HTML report and
119
+ * the JUnit writer read, and mutating them in place would make the collapse depend on
120
+ * which consumer ran first. Counts are recomputed from the surviving rows rather than
121
+ * decremented, so a status this module does not know about cannot silently skew them.
122
+ *
123
+ * `total` is left alone on purpose. It is the size of the baseline contract, not a
124
+ * tally of rows — lowering it would quietly shrink the denominator every coverage
125
+ * line in the tool is computed against.
126
+ */
127
+ export declare function applySystemic(pages: SystemicPageLike[], outcome: SystemicOutcome): SystemicPageLike[];
128
+ /** One line for the terminal and the report, or null when nothing is systemic. */
129
+ export declare function systemicHeadline(outcome: SystemicOutcome): string | null;
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MIN_SHARE = exports.MIN_PAGES = void 0;
4
+ exports.findSystemicGroups = findSystemicGroups;
5
+ exports.assessSystemic = assessSystemic;
6
+ exports.applySystemic = applySystemic;
7
+ exports.systemicHeadline = systemicHeadline;
8
+ const match_1 = require("./browser/match");
9
+ const captureState_1 = require("./captureState");
10
+ /**
11
+ * A group must cover this many pages before it can be called systemic.
12
+ *
13
+ * Below it the collapse buys nothing (five rows is a list, not a wall) while still
14
+ * costing the ability to see them per page. It also keeps small projects — a
15
+ * three-page app where everything is on every page — entirely out of this code path.
16
+ */
17
+ exports.MIN_PAGES = 5;
18
+ /**
19
+ * …and this share of the pages that held the element. Deliberately not 1.0: one page
20
+ * whose capture happened to catch the banner mid-animation should not turn a
21
+ * 142-page fact back into 142 facts.
22
+ */
23
+ exports.MIN_SHARE = 0.9;
24
+ // NUL, not a space: accessible names carry spaces ("Accept All"), and a separator
25
+ // the payload can contain makes splitting the key back apart a guess.
26
+ const SEP = String.fromCharCode(0);
27
+ const sig = (role, name) => `${role}${SEP}${name}`;
28
+ const unsig = (key) => {
29
+ const i = key.indexOf(SEP);
30
+ return [key.slice(0, i), key.slice(i + 1)];
31
+ };
32
+ /**
33
+ * Find the cross-page groups. Pure — no policy, no state, no I/O.
34
+ *
35
+ * Layout pages are excluded from both numerator and denominator: `_layouts/` already
36
+ * holds one row for the whole shell, so counting it would let a single layout row
37
+ * pull a group over the threshold on its own.
38
+ */
39
+ function findSystemicGroups(pages) {
40
+ const real = pages.filter((p) => !p.isLayout);
41
+ if (real.length < exports.MIN_PAGES)
42
+ return [];
43
+ // Denominator: pages whose diff mentions this element under any status. A row
44
+ // exists for it exactly when the baseline held it, which is the question.
45
+ const seenOn = new Map();
46
+ const lostOn = new Map();
47
+ const addedOn = new Map();
48
+ for (const page of real) {
49
+ const here = new Set();
50
+ for (const row of page.report.rows) {
51
+ if (typeof row.role !== 'string' || typeof row.name !== 'string')
52
+ continue;
53
+ const k = sig(row.role, row.name);
54
+ here.add(k);
55
+ if (row.status === 'lost') {
56
+ const list = lostOn.get(k) ?? [];
57
+ list.push(page.name);
58
+ lostOn.set(k, list);
59
+ }
60
+ }
61
+ for (const k of here)
62
+ seenOn.set(k, (seenOn.get(k) ?? 0) + 1);
63
+ for (const row of page.report.added) {
64
+ if (typeof row.role !== 'string' || typeof row.name !== 'string')
65
+ continue;
66
+ const k = sig(row.role, row.name);
67
+ const list = addedOn.get(k) ?? [];
68
+ list.push(page.name);
69
+ addedOn.set(k, list);
70
+ }
71
+ }
72
+ const groups = [];
73
+ for (const [k, pageNames] of lostOn) {
74
+ const total = seenOn.get(k) ?? pageNames.length;
75
+ if (pageNames.length < exports.MIN_PAGES)
76
+ continue;
77
+ if (pageNames.length / total < exports.MIN_SHARE)
78
+ continue;
79
+ const [role, name] = unsig(k);
80
+ groups.push({ kind: 'lost', role, name, pages: pageNames, seenOn: total });
81
+ }
82
+ // An element that appeared everywhere has no baseline row anywhere, so its
83
+ // denominator is the walk itself — there is no smaller population it could
84
+ // have belonged to.
85
+ for (const [k, pageNames] of addedOn) {
86
+ if (pageNames.length < exports.MIN_PAGES)
87
+ continue;
88
+ if (pageNames.length / real.length < exports.MIN_SHARE)
89
+ continue;
90
+ const [role, name] = unsig(k);
91
+ groups.push({ kind: 'added', role, name, pages: pageNames, seenOn: real.length });
92
+ }
93
+ return groups.sort((a, b) => b.pages.length - a.pages.length || a.name.localeCompare(b.name));
94
+ }
95
+ /**
96
+ * Detection plus policy.
97
+ *
98
+ * The policy is one line and it carries the whole risk of the feature: a group leaves
99
+ * the verdict **only** when the two captures are known to have run under different
100
+ * browser state. Identical state means the app really did change — that is a finding,
101
+ * collapsed to one row but still red. Unknown state (any baseline written before
102
+ * fingerprints existed) is also red, because "I cannot tell" and "they match" must
103
+ * not lead to the same place.
104
+ */
105
+ function assessSystemic(pages, baselineState, currentState) {
106
+ const groups = findSystemicGroups(pages);
107
+ const state = (0, captureState_1.compareCaptureState)(baselineState, currentState);
108
+ const policy = groups.length > 0 && state === 'diverged' ? 'held-out' : 'in-verdict';
109
+ return { groups, policy, state, baselineState, currentState };
110
+ }
111
+ /**
112
+ * Remove the held-out rows and re-derive each page's verdict.
113
+ *
114
+ * Returns fresh report objects: the caller's reports are the ones the HTML report and
115
+ * the JUnit writer read, and mutating them in place would make the collapse depend on
116
+ * which consumer ran first. Counts are recomputed from the surviving rows rather than
117
+ * decremented, so a status this module does not know about cannot silently skew them.
118
+ *
119
+ * `total` is left alone on purpose. It is the size of the baseline contract, not a
120
+ * tally of rows — lowering it would quietly shrink the denominator every coverage
121
+ * line in the tool is computed against.
122
+ */
123
+ function applySystemic(pages, outcome) {
124
+ if (outcome.policy !== 'held-out' || outcome.groups.length === 0)
125
+ return pages;
126
+ const drop = new Set(outcome.groups.map((g) => `${g.kind}${sig(g.role, g.name)}`));
127
+ const dropped = (row, kind) => typeof row.role === 'string' &&
128
+ typeof row.name === 'string' &&
129
+ drop.has(`${kind}${sig(row.role, row.name)}`);
130
+ return pages.map((page) => {
131
+ const rows = page.report.rows.filter((r) => !(r.status === 'lost' && dropped(r, 'lost')));
132
+ const added = page.report.added.filter((r) => !dropped(r, 'added'));
133
+ if (rows.length === page.report.rows.length && added.length === page.report.added.length) {
134
+ return page;
135
+ }
136
+ const count = (s) => rows.filter((r) => r.status === s).length;
137
+ const counts = {
138
+ ...page.report.counts,
139
+ ok: count('ok'),
140
+ renamed: count('renamed'),
141
+ healable: count('healable'),
142
+ ambiguous: count('ambiguous'),
143
+ lost: count('lost'),
144
+ rebound: rows.filter((r) => r.rebound).length,
145
+ added: added.length,
146
+ };
147
+ return {
148
+ ...page,
149
+ report: { ...page.report, rows, added, counts, verdict: (0, match_1.verdictFromCounts)(counts) },
150
+ };
151
+ });
152
+ }
153
+ /** One line for the terminal and the report, or null when nothing is systemic. */
154
+ function systemicHeadline(outcome) {
155
+ if (outcome.groups.length === 0)
156
+ return null;
157
+ const n = outcome.groups.length;
158
+ const widest = outcome.groups[0].pages.length;
159
+ const what = `${n} element${n === 1 ? '' : 's'} on ${widest} pages`;
160
+ return outcome.policy === 'held-out'
161
+ ? `${what} — held out of the verdict (capture state differs)`
162
+ : `${what} — one finding, still in the verdict`;
163
+ }
164
+ //# sourceMappingURL=systemicDelta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemicDelta.js","sourceRoot":"","sources":["../src/systemicDelta.ts"],"names":[],"mappings":"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"}
package/dist/ui/server.js CHANGED
@@ -477,7 +477,7 @@ function buildState() {
477
477
  state.decisions = [];
478
478
  return state;
479
479
  }
480
- const { reports, stale } = collected;
480
+ const { reports, stale, systemic } = collected;
481
481
  if (reports.length === 0) {
482
482
  state.verdict = null;
483
483
  state.staleExcluded = stale;
@@ -485,6 +485,10 @@ function buildState() {
485
485
  return state;
486
486
  }
487
487
  const agg = (0, diff_1.aggregateReports)(reports);
488
+ // The console draws the verdict; a group held out of it has to travel with the
489
+ // verdict or the page shows fewer decisions than the terminal did, with no reason.
490
+ if (systemic.groups.length > 0)
491
+ agg.systemic = systemic;
488
492
  if (stale.length > 0)
489
493
  agg.staleExcluded = stale;
490
494
  state.verdict = agg;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/ui/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/ui/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ia-qa/self-healing",
3
- "version": "1.7.10",
3
+ "version": "1.7.13",
4
4
  "description": "Your Playwright, Cypress or Selenium tests break when a selector moves — this finds the element again and rewrites the test. Deterministic: no LLM decides whether your build passes. Runs entirely on your machine, with a local MCP server for agents.",
5
5
  "keywords": [
6
6
  "self-healing",
@@ -54,6 +54,7 @@ exists only in a state nothing captured (behind a tab, a modal, a mode toggle).
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
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 |
56
56
  | "day one, no baseline — is my suite still valid?" | `audit` |
57
+ | "the contract misses everything behind my menus / tabs / modals" | `map --deep`. A plain `map` records one state of a page — what is visible when it loads. `--deep` also opens menus, tabs, dialogs and accordions and puts what they reveal in the same contract, each element carrying the click path (`via`) that reaches it. Every non-GET request is blocked while it walks, so a click cannot mutate anything server-side. **A deep baseline may only be diffed against a deep capture** (§4.13) |
57
58
  | "is the app I mapped even sound?" | `check` (dead links · unnamed elements · name collisions · orphan pages) |
58
59
  | "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 |
59
60
  | "give me the app's structure" | `graph --format mermaid\|svg\|json\|markdown` |
@@ -64,13 +65,16 @@ exists only in a state nothing captured (behind a tab, a modal, a mode toggle).
64
65
  | "gate my pipeline on it" | `diff --junit <file>` — every major CI charts the trend natively |
65
66
  | `map` says "login wall" / the app is behind SSO | if a storageState already exists (most authenticated Playwright suites write one in `globalSetup`): `--session <file>`, `IAQA_SESSION`, or `"session"` in config.json — no second login. Otherwise tell the human to run `ia-qa-heal login` — **you cannot do it** (§4.12) |
66
67
  | "let me look at it / decide myself" | tell the human to run `ia-qa-heal ui` — **do not run it yourself** (§4.8) |
67
- | first-time setup | write `.ia-qa/config.json` directly — `init` is a TTY wizard and **will refuse in your shell** |
68
+ | first-time setup | `ia-qa-heal init --yes --base-url <url> --discover [--tests <paths>] [--bootstrap]` — asks nothing, so it cannot hang. `--discover` fills `pages` from their sitemap (plain fetch, no browser); `--bootstrap` also chains ingest → map → baseline. Writing `.ia-qa/config.json` by hand still works |
69
+ | "288 lost, red everywhere, on an app that looks fine" | read the **systemic delta** block `diff` prints — the same element gone from ~every page is one fact about the *capture*, not N drifts. Usually a consent banner, a tour or a flag: the fix is `prepare` in config.json (§4.16), not a rewrite |
68
70
 
69
71
  Exact flags: `ia-qa-heal <verb> --help`. Do not guess them from this file.
70
72
 
71
73
  ### Machine-readable outputs
72
74
 
73
- `diff`, `run`, `audit`, `check`, `explain` and `history` all take `--json`. Prefer it over parsing prose.
75
+ `diff`, `run`, `fix`, `audit`, `check`, `explain`, `ingest` and `history` all take `--json`. Prefer it over parsing prose.
76
+
77
+ **Exit codes — run `ia-qa-heal exit-codes` for the table.** The one that matters: `2` means **"I could not answer"** (no baseline, both sides the same capture, a failure whose locator matched nothing), never "the app is broken". Reading a `2` as a `1` turns an unanswered question into a red build. `0` answered, `1` blocked or misused.
74
78
  Under `run --json`, every human line moves to stderr so stdout stays one parseable document.
75
79
  `diff --junit` / `run --junit` additionally write JUnit XML — the format a CI already knows.
76
80
 
@@ -167,6 +171,56 @@ clicking the wrong thing), or a name-drift finding that is not attributable.
167
171
  locator this is about" (exit 2) is an unanswered question, usually an un-ingested file
168
172
  or a locator built at runtime, and the remedy is in the message.
169
173
 
174
+ 16. **Never rewrite anything to make a systemic delta go away.** When `diff` reports the same
175
+ element gone from (or new on) ~every page at once, that is one fact about the **capture**, not
176
+ N drifts — a consent banner, an onboarding tour, a "what's new" modal, an A/B flag. Read which
177
+ of the three cases the tool states:
178
+ - *"Held out of the verdict — the two captures ran under different browser state"*: already
179
+ handled. The elements stay under contract; nothing to do.
180
+ - *"Still in the verdict — the baseline predates capture-state fingerprints"*: it genuinely
181
+ **cannot tell** whether the app removed them or the state differed. Do not pick one for it.
182
+ The two ways out are in the message: re-map and re-baseline so the next diff can tell, or
183
+ confirm with the human that they really are gone.
184
+ - *"…both captures ran under the same browser state"*: the app itself no longer renders them.
185
+ Real — and still one finding, not N.
186
+
187
+ 17. **Never diff a `--deep` baseline against a shallow capture** (nor the reverse). A deep contract
188
+ holds the elements behind menus, tabs and dialogs; a shallow one cannot, so all of them read as
189
+ `lost`. This is not a handful of noisy rows — on a real page most of the surface can sit behind
190
+ interaction, so the mismatch manufactures the entire BLOCK. `diff` prints the warning *before*
191
+ the verdict; take it, and re-capture both sides the same way. Depth is a property of a
192
+ **baseline**, not a flag to toggle per run.
193
+
194
+ 18. **Never read a partly-explored deep contract as full coverage.** When the click budget runs
195
+ out, `map` says `N pages only PARTLY explored` and the summary counts them. Those contracts
196
+ describe *part* of the reachable surface, so drift in the rest is ungated — the same rule as
197
+ `run`'s live coverage and `map`'s "N of M pages": a surface left unmeasured is never a pass.
198
+ The remedy is `--deep-budget <n>` or a narrower `--depth 1`, never ignoring the line.
199
+
200
+ 19. **Never present `--deep` as free.** It clicks its way through the page's states, so it costs
201
+ ~1 min per page where a plain `map` costs seconds. Recommend it for building or refreshing a
202
+ **baseline**, not for a per-commit gate, and say so when you propose it.
203
+
204
+ 20. **Never raise `--depth` to "get better coverage".** The default is 1 because it *finishes*.
205
+ Depth 2 was measured at +30% elements for 3× the time and **never completed at any budget** —
206
+ 80, 150 and 250 clicks all returned the same elements, so the extra clicks re-walk states that
207
+ hold nothing new. If a user asks for deeper, tell them what it costs and that the contract
208
+ will read `PARTLY explored` permanently. A partial contract that reports green is the failure
209
+ this package exists to prevent.
210
+
211
+ The durable fix is upstream, in `config.json`, and it is not a rewrite:
212
+
213
+ ```json
214
+ "prepare": {
215
+ "localStorage": { "cookie_consent": "rejected" },
216
+ "cookies": [{ "name": "ab_bucket", "value": "control" }]
217
+ }
218
+ ```
219
+
220
+ Every capture then starts from that state, `map` and a live `run` alike. **Never put
221
+ credentials there** — that file is committed. Logging in is `auth`, `session`, or
222
+ `ia-qa-heal login`.
223
+
170
224
  ## 5. What leaves the machine
171
225
 
172
226
  Nothing, except: requests to the user's **own** `baseUrl` (`check`'s link half, `discover --crawl`