@ia-qa/self-healing 1.16.0 → 1.19.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 (56) hide show
  1. package/README.md +98 -1
  2. package/TUTORIAL.md +58 -0
  3. package/dist/ai/models.d.ts +12 -0
  4. package/dist/ai/models.js +33 -1
  5. package/dist/ai/models.js.map +1 -1
  6. package/dist/ai/resolver.d.ts +29 -6
  7. package/dist/ai/resolver.js +42 -7
  8. package/dist/ai/resolver.js.map +1 -1
  9. package/dist/cli/args.js +2 -0
  10. package/dist/cli/args.js.map +1 -1
  11. package/dist/cli/fix.js +9 -2
  12. package/dist/cli/fix.js.map +1 -1
  13. package/dist/cli/history.js +8 -1
  14. package/dist/cli/history.js.map +1 -1
  15. package/dist/cli/index.js +47 -0
  16. package/dist/cli/index.js.map +1 -1
  17. package/dist/cli/map.d.ts +15 -4
  18. package/dist/cli/map.js +66 -13
  19. package/dist/cli/map.js.map +1 -1
  20. package/dist/cli/secret.d.ts +1 -0
  21. package/dist/cli/secret.js +172 -0
  22. package/dist/cli/secret.js.map +1 -0
  23. package/dist/cli/session.d.ts +24 -0
  24. package/dist/cli/session.js +119 -0
  25. package/dist/cli/session.js.map +1 -0
  26. package/dist/cli/skill.d.ts +37 -14
  27. package/dist/cli/skill.js +36 -30
  28. package/dist/cli/skill.js.map +1 -1
  29. package/dist/config.d.ts +23 -2
  30. package/dist/config.js +50 -0
  31. package/dist/config.js.map +1 -1
  32. package/dist/history.d.ts +39 -0
  33. package/dist/history.js +58 -14
  34. package/dist/history.js.map +1 -1
  35. package/dist/index.d.ts +8 -2
  36. package/dist/index.js +27 -2
  37. package/dist/index.js.map +1 -1
  38. package/dist/mcp/server.js +9 -1
  39. package/dist/mcp/server.js.map +1 -1
  40. package/dist/secretStore.d.ts +49 -0
  41. package/dist/secretStore.js +244 -0
  42. package/dist/secretStore.js.map +1 -0
  43. package/dist/sessionCheck.d.ts +96 -0
  44. package/dist/sessionCheck.js +182 -0
  45. package/dist/sessionCheck.js.map +1 -0
  46. package/dist/unrepaired.d.ts +73 -0
  47. package/dist/unrepaired.js +0 -0
  48. package/dist/unrepaired.js.map +1 -0
  49. package/dist/volatile.d.ts +8 -0
  50. package/dist/volatile.js +24 -7
  51. package/dist/volatile.js.map +1 -1
  52. package/dist/volatileBlindSpot.d.ts +67 -0
  53. package/dist/volatileBlindSpot.js +0 -0
  54. package/dist/volatileBlindSpot.js.map +1 -0
  55. package/package.json +1 -1
  56. package/skills/ia-qa-heal/SKILL.md +29 -3
package/dist/cli/skill.js CHANGED
@@ -33,11 +33,8 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.SKILL_NAME = void 0;
37
- exports.skillSourcePath = skillSourcePath;
38
- exports.readSkill = readSkill;
39
- exports.skillTargetDir = skillTargetDir;
40
- exports.runSkill = runSkill;
36
+ exports.runSkill = exports.skillTargetDir = exports.readSkill = exports.skillSourcePath = exports.SKILL_NAME = void 0;
37
+ exports.createSkillVerb = createSkillVerb;
41
38
  const fs = __importStar(require("fs"));
42
39
  const os = __importStar(require("os"));
43
40
  const path = __importStar(require("path"));
@@ -57,26 +54,34 @@ const path = __importStar(require("path"));
57
54
  */
58
55
  exports.SKILL_NAME = 'ia-qa-heal';
59
56
  /**
60
- * `dist/cli/` and `src/cli/` are both two levels under the package root, so the
61
- * same relative path resolves whether this runs from the published build or from
62
- * the TypeScript sources under test.
57
+ * Build the verb for one package.
58
+ *
59
+ * `dist/cli/` and `src/cli/` are both two levels under a package root, so the caller's
60
+ * `path.join(__dirname, '..', '..')` resolves whether it runs from the published build or
61
+ * from the TypeScript sources under test.
63
62
  */
64
- function skillSourcePath() {
65
- return path.join(__dirname, '..', '..', 'skills', exports.SKILL_NAME, 'SKILL.md');
66
- }
67
- function readSkill() {
68
- const src = skillSourcePath();
69
- if (!fs.existsSync(src)) {
70
- throw new Error(`Skill source missing at ${src}.\n` +
71
- `The installed @ia-qa/self-healing package is incomplete reinstall it.`);
72
- }
73
- return fs.readFileSync(src, 'utf8');
63
+ function createSkillVerb(spec) {
64
+ const skillSourcePath = () => path.join(spec.packageRoot, 'skills', spec.name, 'SKILL.md');
65
+ const readSkill = () => {
66
+ const src = skillSourcePath();
67
+ if (!fs.existsSync(src)) {
68
+ throw new Error(`Skill source missing at ${src}.\n` +
69
+ `The installed package is incomplete — reinstall it. (A tarball that dropped "skills" ` +
70
+ `from package.json "files" ships exactly like this.)`);
71
+ }
72
+ return fs.readFileSync(src, 'utf8');
73
+ };
74
+ const skillTargetDir = (opts) => {
75
+ const root = opts.dir !== undefined ? opts.dir : opts.user ? os.homedir() : process.cwd();
76
+ return path.join(root, '.claude', 'skills', spec.name);
77
+ };
78
+ return { skillSourcePath, readSkill, skillTargetDir, runSkill: (args) => run(spec, { skillSourcePath, readSkill, skillTargetDir }, args) };
74
79
  }
80
+ const healVerb = createSkillVerb({ name: exports.SKILL_NAME, cli: 'ia-qa-heal', packageRoot: path.join(__dirname, '..', '..') });
81
+ exports.skillSourcePath = healVerb.skillSourcePath;
82
+ exports.readSkill = healVerb.readSkill;
75
83
  /** Target is a project (or home) root; the skill always lands in `<root>/.claude/skills/<name>/`. */
76
- function skillTargetDir(opts) {
77
- const root = opts.dir !== undefined ? opts.dir : opts.user ? os.homedir() : process.cwd();
78
- return path.join(root, '.claude', 'skills', exports.SKILL_NAME);
79
- }
84
+ exports.skillTargetDir = healVerb.skillTargetDir;
80
85
  function parseArgs(args) {
81
86
  const opts = { install: false, user: false, print: false, force: false };
82
87
  for (let i = 0; i < args.length; i++) {
@@ -106,23 +111,23 @@ function parseArgs(args) {
106
111
  }
107
112
  return opts;
108
113
  }
109
- async function runSkill(args) {
114
+ async function run(spec, io, args) {
110
115
  const opts = parseArgs(args);
111
- const content = readSkill();
116
+ const content = io.readSkill();
112
117
  if (opts.print) {
113
118
  process.stdout.write(content);
114
119
  return;
115
120
  }
116
- const dir = skillTargetDir(opts);
121
+ const dir = io.skillTargetDir(opts);
117
122
  const file = path.join(dir, 'SKILL.md');
118
123
  const exists = fs.existsSync(file);
119
124
  const current = exists ? fs.readFileSync(file, 'utf8') : null;
120
125
  if (!opts.install) {
121
- console.log('\n🧠 ia-qa-heal skill — agent instructions for this CLI\n');
122
- console.log(` source: ${skillSourcePath()}`);
126
+ console.log(`\n🧠 ${spec.cli} skill — agent instructions for this CLI\n`);
127
+ console.log(` source: ${io.skillSourcePath()}`);
123
128
  console.log(` target: ${file}`);
124
129
  if (!exists)
125
- console.log(' status: not installed → ia-qa-heal skill --install');
130
+ console.log(` status: not installed → ${spec.cli} skill --install`);
126
131
  else if (current === content)
127
132
  console.log(' status: installed, up to date');
128
133
  else
@@ -138,12 +143,13 @@ async function runSkill(args) {
138
143
  if (exists && !opts.force) {
139
144
  throw new Error(`${file} already exists and differs from the version in this package.\n` +
140
145
  `It may have been edited on purpose, so this stops rather than overwrite it.\n` +
141
- `Compare first — ia-qa-heal skill --print > SKILL.new.md\n` +
142
- `Then overwrite — ia-qa-heal skill --install --force`);
146
+ `Compare first — ${spec.cli} skill --print > SKILL.new.md\n` +
147
+ `Then overwrite — ${spec.cli} skill --install --force`);
143
148
  }
144
149
  console.log(`\n📝 Writing ${file}`);
145
150
  fs.mkdirSync(dir, { recursive: true });
146
151
  fs.writeFileSync(file, content, 'utf8');
147
152
  console.log(`✅ ${exists ? 'Updated' : 'Installed'} — start a new agent session to load it.\n`);
148
153
  }
154
+ exports.runSkill = healVerb.runSkill;
149
155
  //# sourceMappingURL=skill.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/cli/skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../src/cli/skill.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { AiProvider } from './ai/resolver';
1
2
  /**
2
3
  * Configuration & secret resolution for @ia-qa/self-healing.
3
4
  *
@@ -6,7 +7,7 @@
6
7
  * resolved at runtime — from `process.env` or from SSM Parameter Store using
7
8
  * the developer's local AWS credential chain — and are never written to disk.
8
9
  */
9
- export type SecretSource = 'env' | 'aws-ssm';
10
+ export type SecretSource = 'env' | 'aws-ssm' | 'keychain';
10
11
  export interface SecretRef {
11
12
  source: SecretSource;
12
13
  /** `env`: the environment variable name. `aws-ssm`: the parameter name (e.g. `/staging/app/password`). */
@@ -67,8 +68,17 @@ export interface PageTarget {
67
68
  * `model` is pinned by the user (determinism); the call runs at temperature 0.
68
69
  */
69
70
  export interface AiConfig {
70
- provider: 'anthropic' | 'openai' | 'google';
71
+ /** The four the registry knows. `openai-compatible` is a shape, not a vendor — see `baseUrl`. */
72
+ provider: AiProvider;
71
73
  model: string;
74
+ /**
75
+ * Required for `openai-compatible`, meaningless otherwise: where that endpoint lives.
76
+ *
77
+ * `https://api.deepseek.com/v1`, `https://api.groq.com/openai/v1`,
78
+ * `https://openrouter.ai/api/v1`, or `http://localhost:11434/v1` for a model running on
79
+ * this machine — in which case nothing leaves it at all.
80
+ */
81
+ baseUrl?: string;
72
82
  apiKey: SecretRef;
73
83
  /** Reject a suggestion below this confidence. Default 0.7. */
74
84
  minConfidence?: number;
@@ -364,6 +374,17 @@ export declare function envLoadHint(command?: string, version?: string): string;
364
374
  * chain (env vars, `~/.aws/credentials`, SSO, instance profile…).
365
375
  * The AWS SDK is imported lazily so env-only users don't need it at runtime.
366
376
  */
377
+ /**
378
+ * Does this look like a credential rather than the NAME of one?
379
+ *
380
+ * The shapes providers actually issue, plus a long opaque run. Deliberately narrow: an
381
+ * environment variable name is short, upper-case and underscore-separated, so a false
382
+ * positive here would refuse a legitimate name — and the cost of a false negative is only
383
+ * that the ordinary "not set" message is printed instead.
384
+ */
385
+ export declare function looksLikeSecret(value: string): boolean;
386
+ /** The first and last few characters only — enough to recognise it, never enough to use it. */
387
+ export declare function maskSecret(value: string): string;
367
388
  export declare function resolveSecret(ref: SecretRef): Promise<string>;
368
389
  /**
369
390
  * The app root the contracts describe, or undefined when config names none.
package/dist/config.js CHANGED
@@ -55,8 +55,11 @@ exports.configuredTestPaths = configuredTestPaths;
55
55
  exports.saveConfig = saveConfig;
56
56
  exports.supportsTolerantEnvFile = supportsTolerantEnvFile;
57
57
  exports.envLoadHint = envLoadHint;
58
+ exports.looksLikeSecret = looksLikeSecret;
59
+ exports.maskSecret = maskSecret;
58
60
  exports.resolveSecret = resolveSecret;
59
61
  exports.configuredBaseUrl = configuredBaseUrl;
62
+ const secretStore_1 = require("./secretStore");
60
63
  const fs = __importStar(require("fs"));
61
64
  const path = __importStar(require("path"));
62
65
  exports.CONFIG_DIR = '.ia-qa';
@@ -382,10 +385,44 @@ function envLoadHint(command = '<command>', version = process.versions.node) {
382
385
  * chain (env vars, `~/.aws/credentials`, SSO, instance profile…).
383
386
  * The AWS SDK is imported lazily so env-only users don't need it at runtime.
384
387
  */
388
+ /**
389
+ * Does this look like a credential rather than the NAME of one?
390
+ *
391
+ * The shapes providers actually issue, plus a long opaque run. Deliberately narrow: an
392
+ * environment variable name is short, upper-case and underscore-separated, so a false
393
+ * positive here would refuse a legitimate name — and the cost of a false negative is only
394
+ * that the ordinary "not set" message is printed instead.
395
+ */
396
+ function looksLikeSecret(value) {
397
+ return /^(sk-|sk_|AIza|ghp_|gsk_|xoxb-|Bearer )/.test(value) || /^[A-Za-z0-9_\-]{40,}$/.test(value);
398
+ }
399
+ /** The first and last few characters only — enough to recognise it, never enough to use it. */
400
+ function maskSecret(value) {
401
+ return value.length <= 12 ? '[redacted]' : `${value.slice(0, 4)}…${value.slice(-2)} (${value.length} characters)`;
402
+ }
385
403
  async function resolveSecret(ref) {
404
+ if (typeof ref === 'string') {
405
+ // Someone pasted the key where the reference goes. Saying "missing key" here sends them
406
+ // to wrap the value in `{ source, key }`, which is the WORSE mistake below.
407
+ throw new Error(`A secret was written directly in ${exports.CONFIG_DIR}/config.json.\n` +
408
+ ` That file holds REFERENCES only — it is committed, and a value here is a leaked\n` +
409
+ ` credential. Put the value in your environment and name it:\n` +
410
+ ` { "source": "env", "key": "MY_API_KEY" }\n` +
411
+ ` Then rotate what you pasted: assume it is already in your git history.`);
412
+ }
386
413
  if (!ref || !ref.key) {
387
414
  throw new Error('Invalid secret reference: missing "key".');
388
415
  }
416
+ // The value where a NAME belongs. Found by execution: the "not set" message below printed
417
+ // the key back into the terminal — and into any log that captured it. A secrets resolver
418
+ // that echoes a secret is the one bug this whole indirection exists to make impossible.
419
+ if (looksLikeSecret(ref.key)) {
420
+ throw new Error(`"key" holds what looks like the credential itself (${maskSecret(ref.key)}), not the name of a variable.\n` +
421
+ ` ${exports.CONFIG_DIR}/config.json is committed: a value here is a leaked credential, so it is\n` +
422
+ ` refused rather than used. Put the value in your environment and name it:\n` +
423
+ ` { "source": "${ref.source ?? 'env'}", "key": "MY_API_KEY" }\n` +
424
+ ` Then rotate the one you pasted: assume it is already in your git history.`);
425
+ }
389
426
  if (ref.source === 'env') {
390
427
  const value = process.env[ref.key];
391
428
  if (!value) {
@@ -403,6 +440,19 @@ async function resolveSecret(ref) {
403
440
  }
404
441
  return value;
405
442
  }
443
+ if (ref.source === 'keychain') {
444
+ // The OS store. Nothing is exported, so nothing is inherited by whatever else runs in
445
+ // this session — see `secretStore.ts` for what that does and does not buy.
446
+ const got = (0, secretStore_1.readSecret)(ref.key);
447
+ if (!got.ok || !got.value) {
448
+ throw new Error(`"${ref.key}" is not in this machine's credential store — ${got.ok ? 'it resolved to nothing' : got.reason}.\n` +
449
+ ` Store it once, from a terminal: ia-qa-heal secret set ${ref.key}\n` +
450
+ ` It asks for the value, shows nothing, and writes it to ${(0, secretStore_1.storeDescription)()}.\n` +
451
+ ` In CI there is no store: use { "source": "env", "key": "${ref.key}" } and give the\n` +
452
+ ` runner the secret.`);
453
+ }
454
+ return got.value;
455
+ }
406
456
  if (ref.source === 'aws-ssm') {
407
457
  // Ships separately: the AWS SDK is ~5 MB and only the "aws-ssm" source needs
408
458
  // it, so it is an optional peer rather than a tax on every install.
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmPA,4BAEC;AAgBD,gCAEC;AAED,0BAIC;AAaD,gCAEC;AAED,gCAEC;AAED,kCAEC;AAmBD,kCAEC;AAED,kDAEC;AAUD,4BAEC;AAgBD,kCAEC;AAeD,sCAMC;AAeD,wCA6BC;AAED,kCAGC;AAED,8BAEC;AAED,8CAEC;AAED,gCAGC;AAED,gCA2FC;AAyBD,kDAIC;AAED,gCAMC;AASD,0DAOC;AAQD,kCAIC;AASD,sCAsDC;AAQD,8CAMC;AAzpBD,uCAAyB;AACzB,2CAA6B;AAgOhB,QAAA,UAAU,GAAG,QAAQ,CAAC;AACtB,QAAA,eAAe,GAAG,SAAS,CAAC;AAEzC;;;;;;;;;;;;;;GAcG;AACH,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED;;;;;;;;;;GAUG;AACH,IAAI,QAAQ,GAAkB,IAAI,CAAC;AAEnC,0FAA0F;AAC1F,SAAgB,UAAU,CAAC,GAAkB;IAC3C,QAAQ,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,OAAO;IACrB,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IAC5C,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;GAQG;AACU,QAAA,gBAAgB,GAAG,UAAU,CAAC;AAE3C,SAAgB,UAAU,CAAC,MAAc,OAAO,EAAE;IAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAU,EAAE,aAAa,CAAC,CAAC;AACnD,CAAC;AAED,SAAgB,UAAU,CAAC,MAAc,OAAO,EAAE;IAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAU,EAAE,uBAAe,CAAC,CAAC;AACrD,CAAC;AAED,SAAgB,WAAW,CAAC,MAAc,OAAO,EAAE;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAU,EAAE,wBAAgB,CAAC,CAAC;AACtD,CAAC;AAEY,QAAA,cAAc,GAAG,UAAU,CAAC;AAEzC;;;;;;;;;;;;GAYG;AACU,QAAA,gBAAgB,GAAG,WAAW,CAAC;AAE5C,SAAgB,WAAW,CAAC,MAAc,OAAO,EAAE;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAU,EAAE,uBAAe,EAAE,wBAAgB,CAAC,CAAC;AACvE,CAAC;AAED,SAAgB,mBAAmB,CAAC,MAAc,OAAO,EAAE;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAU,EAAE,wBAAgB,EAAE,wBAAgB,CAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACU,QAAA,aAAa,GAAG,QAAQ,CAAC;AAEtC,SAAgB,QAAQ,CAAC,MAAc,OAAO,EAAE;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAU,EAAE,uBAAe,EAAE,qBAAa,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;GAWG;AACU,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAE/C,SAAgB,WAAW,CAAC,MAAc,OAAO,EAAE;IACjD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAU,EAAE,wBAAgB,CAAC,CAAC;AACtD,CAAC;AAUD;;;;GAIG;AACH,SAAgB,aAAa,CAAC,MAAkB,EAAE,QAAiB,EAAE,MAAc,OAAO,EAAE;IAC1F,IAAI,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACzC,IAAI,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACxE,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACzF,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACrD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,cAAc,CAAC,MAAkB,EAAE,QAAiB,EAAE,MAAc,OAAO,EAAE;IAC3F,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACpD,MAAM,KAAK,GACT,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,0BAA0B,CAAC;IAEjH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,cAAc,MAAM,CAAC,IAAI,2BAA2B;YAC1D,uFAAuF;YACvF,iFAAiF,CACpF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,cAAc,MAAM,CAAC,IAAI,2BAA2B,GAAG,KAAK;YAClE,8EAA8E;YAC9E,+EAA+E,CAClF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,WAAW,CAAC,QAAgB,EAAE,MAAc,UAAU,EAAE;IACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,SAAS,CAAC,MAAc,OAAO,EAAE;IAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAU,EAAE,uBAAe,EAAE,sBAAc,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAAc,OAAO,EAAE;IACvD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,kBAAU,EAAE,wBAAgB,EAAE,sBAAc,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,UAAU,CAAC,UAAkB,EAAE,MAAc,SAAS,EAAE;IACtE,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,UAAU,CAAC,MAAc,OAAO,EAAE;IAChD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,MAAM,kBAAU,yBAAyB,GAAG,kCAAkC,CAC/E,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAe,CAAC;IAC9E,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uCAAuC,CAAC,CAAC;IAClE,CAAC;IACD,qFAAqF;IACrF,EAAE;IACF,uFAAuF;IACvF,yFAAyF;IACzF,wFAAwF;IACxF,wFAAwF;IACxF,yFAAyF;IACzF,yEAAyE;IACzE,EAAE;IACF,qFAAqF;IACrF,iFAAiF;IACjF,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,wEAAwE,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;IAC5C,kFAAkF;IAClF,qEAAqE;IACrE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC9B,IAAI,OAAO,MAAM,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAClE,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,wBAAwB,CAAC,WAAW,MAAM,EAAE,GAAG,IAAI,GAAG,0BAA0B;gBACrF,yEAAyE,CAC5E,CAAC;QACJ,CAAC;QACD,oFAAoF;QACpF,kEAAkE;QAClE,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;YAC1B,IACE,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ;gBAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;gBACxB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAC9B,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EACxB,CAAC;gBACD,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,wBAAwB,CAAC,OAAO,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU;oBACvE,sFAAsF;oBACtF,uDAAuD,CAC1D,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,8EAA8E;IAC9E,+EAA+E;IAC/E,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC5B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAClE,CAAC;YACD,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,0EAA0E;gBAC/E,+BAA+B,CAClC,CAAC;QACJ,CAAC;IACH,CAAC;IACD,mFAAmF;IACnF,kFAAkF;IAClF,+EAA+E;IAC/E,wCAAwC;IACxC,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAC5B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAClE,CAAC;YACD,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,0EAA0E;gBAC/E,6CAA6C,CAChD,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAClF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,qCAAqC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,wBAAwB;gBACvF,sFAAsF;gBACtF,yFAAyF;gBACzF,kFAAkF,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH;;;;;;;;GAQG;AACH,SAAgB,mBAAmB,CAAC,MAAc,OAAO,EAAE;IACzD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/C,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;IAC7C,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,SAAgB,UAAU,CAAC,MAAkB,EAAE,MAAc,OAAO,EAAE;IACpE,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CAAC,UAAkB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAC7E,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrE,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,KAAK,IAAI,CAAC,CAAC;IACpC,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,KAAK,IAAI,EAAE,CAAC;IACrC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,OAAO,GAAG,WAAW,EAAE,UAAkB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACxF,MAAM,QAAQ,GAAG,qCAAqC,OAAO,EAAE,CAAC;IAChE,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC;IACvD,OAAO,GAAG,QAAQ,4FAA4F,OAAO,EAAE,CAAC;AAC1H,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,aAAa,CAAC,GAAc;IAChD,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,8EAA8E;YAC9E,gFAAgF;YAChF,gFAAgF;YAChF,8EAA8E;YAC9E,gFAAgF;YAChF,iFAAiF;YACjF,MAAM,IAAI,KAAK,CACb,yBAAyB,GAAG,CAAC,GAAG,iBAAiB;gBAC/C,gFAAgF;gBAChF,+EAA+E;gBAC/E,GAAG,WAAW,EAAE,IAAI;gBACpB,gCAAgC,kBAAU,4CAA4C,CACzF,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7B,6EAA6E;QAC7E,oEAAoE;QACpE,IAAI,GAAyC,CAAC;QAC9C,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,mGAAmG;gBACjG,4DAA4D;gBAC5D,iEAAiE,CACpE,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,GAAG,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAC3B,IAAI,mBAAmB,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CACjE,CAAC;YACF,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC;YACnC,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACjE,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChE,MAAM,IAAI,KAAK,CACb,iCAAiC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI;gBACpG,yGAAyG,CAC5G,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,0BAA2B,GAAiB,CAAC,MAAM,iCAAiC,CAAC,CAAC;AACxG,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB;IAC/B,IAAI,CAAC;QACH,OAAO,UAAU,EAAE,CAAC,OAAO,IAAI,SAAS,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/history.d.ts CHANGED
@@ -125,6 +125,43 @@ export interface Trend {
125
125
  source?: 'map' | 'run' | 'mixed';
126
126
  }
127
127
  export declare function trendable(entries: HistoryEntry[], minCoverage?: number): Trend;
128
+ /**
129
+ * Above this share of a run's own mapped pages, a run stops being evidence about pages.
130
+ *
131
+ * Measured on a real 37-run history: **143 distinct pages out of 142 contracts had drifted
132
+ * at least once**, median 18 runs out of 32, so every page carried the factor and it ranked
133
+ * nothing — the same inert-factor failure `writeCalls` was removed for. The runs were
134
+ * bimodal: either ~every page drifted (124, 142) or almost none (1, 3, 5). A run of the
135
+ * first kind says the baseline was stale or `extract.js` changed what it captures; it does
136
+ * not say those 142 pages are volatile. Holding them out leaves 16 pages carrying the whole
137
+ * movement, which is a signal. It is the same rule `trendable` applies to a different axis,
138
+ * and the same obligation: say how many were held out, never drop them silently.
139
+ */
140
+ export declare const WIDE_RUN_SHARE = 0.5;
141
+ /**
142
+ * Which pages actually move, over the runs that can say anything about pages.
143
+ *
144
+ * Exported because `@ia-qa/qa-discovery` ranks its coverage gap with it — a page that
145
+ * changes every week and that no test visits is the best test candidate there is, and
146
+ * neither package can compute that alone. This function only *observes*; what counts as
147
+ * enough runs to rank on is the consumer's policy, which is why `measuredRuns` is returned
148
+ * rather than a threshold applied here.
149
+ */
150
+ export interface PageChurn {
151
+ /** Pages that drifted at least once, most runs first. */
152
+ pages: Array<{
153
+ name: string;
154
+ runs: number;
155
+ drift: number;
156
+ }>;
157
+ /** Runs the counts are computed over. Below ~3, "changed in N runs" separates nothing. */
158
+ measuredRuns: number;
159
+ /** Runs held out as describing the baseline rather than the app. */
160
+ excludedRuns: number;
161
+ /** Present only when something was held out — render it beside the counts. */
162
+ reason?: string;
163
+ }
164
+ export declare function pageChurn(entries: HistoryEntry[]): PageChurn;
128
165
  export interface HistorySummary {
129
166
  runs: number;
130
167
  first?: string;
@@ -140,6 +177,8 @@ export interface HistorySummary {
140
177
  runs: number;
141
178
  drift: number;
142
179
  }>;
180
+ /** What `hotspots` was computed over, and what it had to leave out to mean anything. */
181
+ churn: PageChurn;
143
182
  /** Rewrites the tool applied across the whole history. */
144
183
  healed: number;
145
184
  trend: Trend;
package/dist/history.js CHANGED
@@ -33,11 +33,12 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.HISTORY_LIMIT = exports.HISTORY_FILENAME = void 0;
36
+ exports.WIDE_RUN_SHARE = exports.HISTORY_LIMIT = exports.HISTORY_FILENAME = void 0;
37
37
  exports.historyPath = historyPath;
38
38
  exports.appendHistory = appendHistory;
39
39
  exports.readHistory = readHistory;
40
40
  exports.trendable = trendable;
41
+ exports.pageChurn = pageChurn;
41
42
  exports.summarize = summarize;
42
43
  exports.gitStamp = gitStamp;
43
44
  const fs = __importStar(require("fs"));
@@ -173,6 +174,55 @@ function trendable(entries, minCoverage = 0.5) {
173
174
  reason: parts.length > 0 ? `Left out of the trend: ${parts.join('; ')}.` : undefined,
174
175
  };
175
176
  }
177
+ /**
178
+ * Above this share of a run's own mapped pages, a run stops being evidence about pages.
179
+ *
180
+ * Measured on a real 37-run history: **143 distinct pages out of 142 contracts had drifted
181
+ * at least once**, median 18 runs out of 32, so every page carried the factor and it ranked
182
+ * nothing — the same inert-factor failure `writeCalls` was removed for. The runs were
183
+ * bimodal: either ~every page drifted (124, 142) or almost none (1, 3, 5). A run of the
184
+ * first kind says the baseline was stale or `extract.js` changed what it captures; it does
185
+ * not say those 142 pages are volatile. Holding them out leaves 16 pages carrying the whole
186
+ * movement, which is a signal. It is the same rule `trendable` applies to a different axis,
187
+ * and the same obligation: say how many were held out, never drop them silently.
188
+ */
189
+ exports.WIDE_RUN_SHARE = 0.5;
190
+ function pageChurn(entries) {
191
+ const withPages = entries.filter((e) => (e.pages?.length ?? 0) > 0);
192
+ const usable = [];
193
+ let excludedRuns = 0;
194
+ for (const e of withPages) {
195
+ const mapped = e.coverage?.total;
196
+ // No coverage recorded (an entry written before the field existed) means the run cannot
197
+ // be judged wide or narrow. Keeping it is the honest default: inventing a denominator
198
+ // would decide the question with a number nobody measured.
199
+ if (mapped && e.pages.length > mapped * exports.WIDE_RUN_SHARE) {
200
+ excludedRuns += 1;
201
+ continue;
202
+ }
203
+ usable.push(e);
204
+ }
205
+ const stats = new Map();
206
+ for (const e of usable) {
207
+ for (const p of e.pages ?? []) {
208
+ const cur = stats.get(p.name) ?? { runs: 0, drift: 0 };
209
+ cur.runs += 1;
210
+ cur.drift += p.drift;
211
+ stats.set(p.name, cur);
212
+ }
213
+ }
214
+ return {
215
+ pages: [...stats.entries()]
216
+ .map(([name, v]) => ({ name, ...v }))
217
+ .sort((a, b) => b.runs - a.runs || b.drift - a.drift || a.name.localeCompare(b.name)),
218
+ measuredRuns: usable.length,
219
+ excludedRuns,
220
+ reason: excludedRuns > 0
221
+ ? `${excludedRuns} run${excludedRuns === 1 ? '' : 's'} left out: more than half the mapped pages ` +
222
+ `drifted at once, which describes a stale baseline or a changed capture, not the pages.`
223
+ : undefined,
224
+ };
225
+ }
176
226
  function summarize(entries) {
177
227
  const trend = trendable(entries);
178
228
  const s = trend.series;
@@ -181,19 +231,12 @@ function summarize(entries) {
181
231
  const coverage = withCov.length === 0
182
232
  ? 1
183
233
  : withCov.reduce((n, e) => n + e.coverage.measured / Math.max(1, e.coverage.total), 0) / withCov.length;
184
- const pageStats = new Map();
185
- for (const e of s) {
186
- for (const p of e.pages ?? []) {
187
- const cur = pageStats.get(p.name) ?? { runs: 0, drift: 0 };
188
- cur.runs += 1;
189
- cur.drift += p.drift;
190
- pageStats.set(p.name, cur);
191
- }
192
- }
193
- const hotspots = [...pageStats.entries()]
194
- .map(([name, v]) => ({ name, ...v }))
195
- .sort((a, b) => b.drift - a.drift || b.runs - a.runs)
196
- .slice(0, 5);
234
+ // Ranked by how many runs a page moved in, not by how many elements moved: a large page
235
+ // in one stale-baseline run out-scores a small page that changes every week, and the
236
+ // second is the one worth a test. `pageChurn` holds those runs out — without it, measured
237
+ // on a real history, every page carried the factor and the ranking meant nothing.
238
+ const churn = pageChurn(s);
239
+ const hotspots = churn.pages.slice(0, 5);
197
240
  return {
198
241
  runs: entries.length,
199
242
  first: entries[0]?.ts,
@@ -202,6 +245,7 @@ function summarize(entries) {
202
245
  driftRate: s.length === 0 ? 0 : notPass / s.length,
203
246
  coverage,
204
247
  hotspots,
248
+ churn,
205
249
  healed: entries.reduce((n, e) => n + (e.applied?.replacements ?? 0), 0),
206
250
  trend,
207
251
  };
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../src/history.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  export { aiClick, aiFill, llmResolverStub, createAiResolver } from './playwright/healer';
2
2
  export type { HealerOptions } from './playwright/healer';
3
- export { aiResolve, prefilter, buildPrompt, parseModelJson } from './ai/resolver';
3
+ export { egressHost, PROVIDER_HOST, aiResolve, prefilter, buildPrompt, parseModelJson } from './ai/resolver';
4
4
  export type { AiResolveOptions, AiResolveResult, AiResolution, AiProvider } from './ai/resolver';
5
5
  export { AI_PROVIDERS, findProvider, defaultKeyEnv, renderModelList } from './ai/models';
6
+ export { COMPATIBLE_EXAMPLES } from './ai/models';
6
7
  export type { AiModelInfo, AiProviderInfo } from './ai/models';
7
8
  export { extractInteractiveElements, loadMapping, saveMapping } from './aom';
8
9
  export type { MappedElement, PageMapping } from './aom';
@@ -30,7 +31,8 @@ export { launchBrowser } from './launcher';
30
31
  export type { BrowserChoice, LaunchedBrowser } from './launcher';
31
32
  export type { MapUrlOptions, MapUrlResult } from './mapUrl';
32
33
  export { computeRewrites, applyRewrites, collectFiles, replaceQuoted } from './fixEngine';
33
- export { loadConfig, resolveSecret, layoutDir, layoutPath, LAYOUT_DIRNAME, setBaseDir, mappingDir, baselineDir } from './config';
34
+ export { loadConfig, resolveSecret, looksLikeSecret, maskSecret, layoutDir, layoutPath, LAYOUT_DIRNAME, setBaseDir, mappingDir, baselineDir } from './config';
35
+ export { configuredTestPaths } from './config';
34
36
  export { runMap, LoginWallError } from './cli/map';
35
37
  export type { MapResult, MapFailure, MapPageStat } from './cli/map';
36
38
  export { runBaseline } from './cli/baseline';
@@ -39,6 +41,8 @@ export type { DirReport, DirDiffCollection } from './cli/diff';
39
41
  export { checkProject } from './cli/check';
40
42
  export type { CheckOutcome, CheckSuccess, CheckRefusal } from './cli/check';
41
43
  export { checkVerdict, checkHeadline, checkCounts } from './checks';
44
+ export { readHistory, pageChurn, WIDE_RUN_SHARE, historyPath, HISTORY_FILENAME } from './history';
45
+ export type { HistoryEntry, PageChurn } from './history';
42
46
  export { runFix } from './cli/fix';
43
47
  export type { FixResult, FileEdit } from './fixEngine';
44
48
  export { auditProject } from './cli/audit';
@@ -56,3 +60,5 @@ export { extractLayout, stripLayoutFromPages, minPagesForLayout } from './layout
56
60
  export type { LayoutMapping } from './layout';
57
61
  export { buildOverview, renderOverview, renderNavigation, renderNavigationSvg, layoutGraph, navigationGraph, writeOverview, overviewPath, navigationPath, navigationSvgPath, OVERVIEW_FILENAME, NAVIGATION_FILENAME, NAVIGATION_SVG_FILENAME, } from './overview';
58
62
  export type { AppOverview, OverviewPage, NavEdge, ShellLink, PlacedNode, NavigationGraph, HubFan } from './overview';
63
+ export { createSkillVerb } from "./cli/skill";
64
+ export type { SkillVerb, SkillVerbSpec } from "./cli/skill";