@fairfox/polly 0.85.1 → 0.86.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 (120) hide show
  1. package/dist/cli/polly.js.map +1 -1
  2. package/dist/gallery/gallery.css +1 -1
  3. package/dist/gallery/gallery.js +2 -27
  4. package/dist/scripts/build-extension.js.map +1 -1
  5. package/dist/src/actions/index.js +34 -32
  6. package/dist/src/actions/index.js.map +2 -2
  7. package/dist/src/background/index.js +24 -22
  8. package/dist/src/background/index.js.map +2 -2
  9. package/dist/src/background/message-router.js +21 -19
  10. package/dist/src/background/message-router.js.map +2 -2
  11. package/dist/src/client/index.js +9 -7
  12. package/dist/src/client/index.js.map +3 -3
  13. package/dist/src/client/wrapper.d.ts +3 -3
  14. package/dist/src/elysia/index.d.ts +1 -1
  15. package/dist/src/elysia/index.js +25 -23
  16. package/dist/src/elysia/index.js.map +2 -2
  17. package/dist/src/elysia/types.d.ts +11 -2
  18. package/dist/src/index.js +68 -64
  19. package/dist/src/index.js.map +3 -3
  20. package/dist/src/mesh-node.js +6 -6
  21. package/dist/src/mesh-node.js.map +1 -1
  22. package/dist/src/mesh.js +92 -90
  23. package/dist/src/mesh.js.map +2 -2
  24. package/dist/src/peer.js +83 -52
  25. package/dist/src/peer.js.map +3 -3
  26. package/dist/src/polly-ui/index.css +1 -1
  27. package/dist/src/polly-ui/index.js +37 -35
  28. package/dist/src/polly-ui/index.js.map +2 -2
  29. package/dist/src/polly-ui/markdown.js +233 -96
  30. package/dist/src/polly-ui/markdown.js.map +4 -4
  31. package/dist/src/polly-ui/styles.css +1 -1
  32. package/dist/src/shared/adapters/index.js +30 -28
  33. package/dist/src/shared/adapters/index.js.map +2 -2
  34. package/dist/src/shared/lib/context-helpers.js +23 -21
  35. package/dist/src/shared/lib/context-helpers.js.map +2 -2
  36. package/dist/src/shared/lib/errors.js +16 -14
  37. package/dist/src/shared/lib/errors.js.map +2 -2
  38. package/dist/src/shared/lib/guards.js +11 -9
  39. package/dist/src/shared/lib/guards.js.map +2 -2
  40. package/dist/src/shared/lib/message-bus.js +24 -22
  41. package/dist/src/shared/lib/message-bus.js.map +2 -2
  42. package/dist/src/shared/lib/peer-relay-adapter.d.ts +6 -0
  43. package/dist/src/shared/lib/resource.js +19 -15
  44. package/dist/src/shared/lib/resource.js.map +3 -3
  45. package/dist/src/shared/lib/state.js +26 -22
  46. package/dist/src/shared/lib/state.js.map +3 -3
  47. package/dist/src/shared/lib/test-helpers.js +11 -9
  48. package/dist/src/shared/lib/test-helpers.js.map +2 -2
  49. package/dist/src/shared/state/app-state.js +22 -18
  50. package/dist/src/shared/state/app-state.js.map +3 -3
  51. package/dist/src/shared/types/messages.js +11 -9
  52. package/dist/src/shared/types/messages.js.map +2 -2
  53. package/dist/tools/bdd/src/cli.js +44 -1
  54. package/dist/tools/bdd/src/cli.js.map +4 -4
  55. package/dist/tools/bdd/src/index.js +54 -11
  56. package/dist/tools/bdd/src/index.js.map +4 -4
  57. package/dist/tools/gallery/src/cli.js +1 -1
  58. package/dist/tools/gallery/src/cli.js.map +2 -2
  59. package/dist/tools/init/src/cli.js +1 -1
  60. package/dist/tools/init/src/cli.js.map +2 -2
  61. package/dist/tools/mutate/src/cli.js +1 -1
  62. package/dist/tools/mutate/src/cli.js.map +2 -2
  63. package/dist/tools/mutate/src/index.js +8 -8
  64. package/dist/tools/mutate/src/index.js.map +2 -2
  65. package/dist/tools/quality/src/cli.js +3 -2
  66. package/dist/tools/quality/src/cli.js.map +3 -3
  67. package/dist/tools/quality/src/index.js +37 -36
  68. package/dist/tools/quality/src/index.js.map +3 -3
  69. package/dist/tools/test/src/adapters/index.js +19 -17
  70. package/dist/tools/test/src/adapters/index.js.map +2 -2
  71. package/dist/tools/test/src/browser/index.js +15 -13
  72. package/dist/tools/test/src/browser/index.js.map +2 -2
  73. package/dist/tools/test/src/browser/run.js +12 -3
  74. package/dist/tools/test/src/browser/run.js.map +5 -4
  75. package/dist/tools/test/src/contrast/index.js +14 -12
  76. package/dist/tools/test/src/contrast/index.js.map +2 -2
  77. package/dist/tools/test/src/coverage-policy/cli.js +5 -5
  78. package/dist/tools/test/src/coverage-policy/cli.js.map +2 -2
  79. package/dist/tools/test/src/coverage-policy/index.js +12 -12
  80. package/dist/tools/test/src/coverage-policy/index.js.map +1 -1
  81. package/dist/tools/test/src/e2e-mesh/index.js +88 -50
  82. package/dist/tools/test/src/e2e-mesh/index.js.map +6 -5
  83. package/dist/tools/test/src/e2e-mesh/with-relay.d.ts +1 -1
  84. package/dist/tools/test/src/e2e-relay/index.js +3 -3
  85. package/dist/tools/test/src/e2e-relay/index.js.map +2 -2
  86. package/dist/tools/test/src/e2e-shared/ephemeral-port.d.ts +73 -0
  87. package/dist/tools/test/src/e2e-shared/index.d.ts +1 -0
  88. package/dist/tools/test/src/index.d.ts +1 -0
  89. package/dist/tools/test/src/index.js +68 -24
  90. package/dist/tools/test/src/index.js.map +4 -3
  91. package/dist/tools/test/src/test-utils.js +14 -12
  92. package/dist/tools/test/src/test-utils.js.map +2 -2
  93. package/dist/tools/test/src/tiers/budget.d.ts +32 -0
  94. package/dist/tools/test/src/tiers/cli.js +35 -5
  95. package/dist/tools/test/src/tiers/cli.js.map +6 -5
  96. package/dist/tools/test/src/tiers/index.d.ts +1 -0
  97. package/dist/tools/test/src/tiers/reporter.d.ts +0 -5
  98. package/dist/tools/test/src/tiers/types.d.ts +9 -0
  99. package/dist/tools/test/src/tiers/worker.js +1 -1
  100. package/dist/tools/test/src/tiers/worker.js.map +1 -1
  101. package/dist/tools/test/src/visual/index.js +121 -119
  102. package/dist/tools/test/src/visual/index.js.map +2 -2
  103. package/dist/tools/verify/specs/README.md +18 -0
  104. package/dist/tools/verify/specs/tla/MeshState.cfg +1 -1
  105. package/dist/tools/verify/specs/tla/MeshState.tla +7 -0
  106. package/dist/tools/verify/specs/tla/MessageRouter.cfg +4 -2
  107. package/dist/tools/verify/specs/tla/MessageRouter.tla +45 -10
  108. package/dist/tools/verify/specs/tla/PeerState.cfg +1 -1
  109. package/dist/tools/verify/specs/tla/PeerState.tla +7 -0
  110. package/dist/tools/verify/specs/tla/README.md +1 -1
  111. package/dist/tools/verify/src/cli.js +258 -202
  112. package/dist/tools/verify/src/cli.js.map +12 -11
  113. package/dist/tools/verify/src/config.d.ts +25 -0
  114. package/dist/tools/verify/src/config.js +18 -16
  115. package/dist/tools/verify/src/config.js.map +3 -3
  116. package/dist/tools/verify/src/stryker/index.js +6 -6
  117. package/dist/tools/verify/src/stryker/index.js.map +1 -1
  118. package/dist/tools/visualize/src/cli.js +439 -47
  119. package/dist/tools/visualize/src/cli.js.map +7 -5
  120. package/package.json +2 -2
@@ -5,7 +5,7 @@
5
5
  "#!/usr/bin/env bun\n// CLI for project initialization\n\nimport { existsSync } from \"node:fs\";\nimport {\n getAvailableTypes,\n getTemplateDir,\n type ProjectType,\n scaffoldFromTemplate,\n validateProjectName,\n} from \"./template-utils.ts\";\n\nfunction isAvailableType(value: string, available: ProjectType[]): value is ProjectType {\n const names: readonly string[] = available;\n return names.includes(value);\n}\n\nasync function main() {\n const args = process.argv.slice(2);\n const cwd = process.cwd();\n\n // Parse arguments\n const projectName = args[0] || \"my-project\";\n const typeArg = args.find((arg) => arg.startsWith(\"--type=\"))?.split(\"=\")[1] || \"pwa\";\n\n // Validate the requested type against the templates that actually ship,\n // before creating any directory. Asking for a type with no template used\n // to fail deep in the copy with a raw \"Template directory not found\" after\n // the project dir had already been made.\n const available = getAvailableTypes(import.meta.dir);\n if (!isAvailableType(typeArg, available)) {\n console.log(\n `\\x1b[31m✗ Unknown or unavailable project type '${typeArg}'. Available: ${available.join(\", \")}\\x1b[0m\\n`\n );\n process.exit(1);\n }\n const projectType = typeArg;\n\n // Validate project name\n const validation = validateProjectName(projectName);\n if (!validation.valid) {\n console.log(`\\x1b[31m✗ ${validation.error}\\x1b[0m\\n`);\n process.exit(1);\n }\n\n const projectPath = `${cwd}/${projectName}`;\n\n // Check if directory already exists\n if (existsSync(projectPath)) {\n console.log(`\\x1b[31m✗ Directory '${projectName}' already exists\\x1b[0m\\n`);\n process.exit(1);\n }\n\n // Get template directory\n const templateDir = getTemplateDir(projectType, import.meta.dir);\n\n // Scaffold project\n await scaffoldFromTemplate({\n projectName,\n projectPath,\n projectType,\n templateDir,\n });\n}\n\nmain();\n",
6
6
  "/**\n * Template utilities for project initialization\n */\n\nimport { cpSync, existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from \"node:fs\";\nimport { join } from \"node:path\";\n\nexport type ProjectType = \"extension\" | \"pwa\" | \"websocket\" | \"generic\";\n\nexport interface TemplateOptions {\n projectName: string;\n projectPath: string;\n projectType: ProjectType;\n templateDir: string;\n}\n\n/**\n * Process template file and replace placeholders\n */\nexport function processTemplate(content: string, projectName: string): string {\n return content\n .replace(/\\{\\{PROJECT_NAME\\}\\}/g, projectName)\n .replace(/\\{\\{PROJECT_NAME_UPPER\\}\\}/g, projectName.toUpperCase())\n .replace(/\\{\\{PROJECT_NAME_CAMEL\\}\\}/g, toCamelCase(projectName));\n}\n\n/**\n * Convert string to camelCase\n */\nfunction toCamelCase(str: string): string {\n return str\n .replace(/[-_](.)/g, (_, char) => char.toUpperCase())\n .replace(/^(.)/, (char) => char.toLowerCase());\n}\n\n/**\n * Copy template directory to project\n */\nexport async function scaffoldFromTemplate(options: TemplateOptions): Promise<void> {\n const { projectName, projectPath, templateDir } = options;\n\n // Create project directory\n mkdirSync(projectPath, { recursive: true });\n\n // Copy all template files\n copyTemplateFiles(templateDir, projectPath, projectName);\n}\n\n/**\n * Recursively copy template files and process them\n */\nfunction copyTemplateFiles(\n sourceDir: string,\n targetDir: string,\n projectName: string,\n relativePath = \"\"\n): void {\n if (!existsSync(sourceDir)) {\n throw new Error(`Template directory not found: ${sourceDir}`);\n }\n\n const entries = readdirSync(sourceDir, { withFileTypes: true });\n\n for (const entry of entries) {\n const sourcePath = join(sourceDir, entry.name);\n const targetPath = join(targetDir, relativePath, entry.name.replace(\".template\", \"\"));\n\n if (entry.isDirectory()) {\n // Create directory and recurse\n mkdirSync(targetPath, { recursive: true });\n copyTemplateFiles(sourcePath, targetDir, projectName, join(relativePath, entry.name));\n } else if (entry.name.endsWith(\".template\")) {\n // Process template file\n const content = readFileSync(sourcePath, \"utf-8\");\n const processed = processTemplate(content, projectName);\n writeFileSync(targetPath, processed, \"utf-8\");\n } else {\n // Copy binary files as-is\n cpSync(sourcePath, targetPath);\n }\n }\n}\n\n/** Every project type the scaffolder knows how to name. A type is only\n * *available* once a matching template directory ships next to this\n * module — see {@link getAvailableTypes}. */\nconst ALL_PROJECT_TYPES: ProjectType[] = [\"extension\", \"pwa\", \"websocket\", \"generic\"];\n\n/**\n * Get the project types that can actually be scaffolded — the subset of\n * {@link ALL_PROJECT_TYPES} that has a template directory on disk. Derived\n * from the filesystem so the list cannot drift from reality: advertising a\n * type whose template was never written is exactly the gap that left\n * `polly init` (default `extension`) pointing at a missing directory.\n */\nexport function getAvailableTypes(baseDir: string = import.meta.dir): ProjectType[] {\n const templatesRoot = join(baseDir, \"..\", \"templates\");\n let present: string[];\n try {\n present = readdirSync(templatesRoot, { withFileTypes: true })\n .filter((entry) => entry.isDirectory())\n .map((entry) => entry.name);\n } catch {\n return [];\n }\n return ALL_PROJECT_TYPES.filter((type) => present.includes(type));\n}\n\n/**\n * Get template directory for project type\n */\nexport function getTemplateDir(projectType: ProjectType, baseDir: string): string {\n return join(baseDir, \"..\", \"templates\", projectType);\n}\n\n/**\n * Validate project name\n */\nexport function validateProjectName(name: string): {\n valid: boolean;\n error?: string;\n} {\n if (!name || name.trim().length === 0) {\n return { valid: false, error: \"Project name cannot be empty\" };\n }\n\n if (!/^[a-z0-9-_]+$/i.test(name)) {\n return {\n valid: false,\n error: \"Project name can only contain letters, numbers, hyphens, and underscores\",\n };\n }\n\n if (name.startsWith(\"-\") || name.startsWith(\"_\")) {\n return {\n valid: false,\n error: \"Project name cannot start with a hyphen or underscore\",\n };\n }\n\n return { valid: true };\n}\n"
7
7
  ],
8
- "mappings": "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",
9
- "debugId": "0981B588805418F764756E2164756E21",
8
+ "mappings": "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",
9
+ "debugId": "3529FD3406078F8B64756E2164756E21",
10
10
  "names": []
11
11
  }
@@ -747,4 +747,4 @@ main().then((code) => process.exit(code)).catch((err) => {
747
747
  process.exit(1);
748
748
  });
749
749
 
750
- //# debugId=63F5B93A394460DD64756E2164756E21
750
+ //# debugId=6EB7966DB8ADD5CC64756E2164756E21
@@ -13,7 +13,7 @@
13
13
  "/**\n * Verification artefact for the kill-matrix contract.\n *\n * The whole useless-test analysis rests on one fact: the patched bun runner\n * emits a COMPLETE kill matrix — every test that detects a mutant appears in\n * killedBy, not just the first. That depends on a pinned pair: (Bun version,\n * plugin version + our patch). A Bun upgrade that changes JUnit output, or a\n * patch that stops applying, would silently collapse killedBy to one id each —\n * a green board with the redundancy signal quietly dead (the classic trap).\n *\n * `verifyMatrix` runs the full contract and returns the result; `isMatrixComplete`\n * is the side-effect-free gate the report path consults to decide whether the\n * redundancy/subsumption sections are trustworthy. Run the CLI form after any\n * bump of Bun or the plugin:\n *\n * polly mutate verify # uses the existing report\n * polly mutate verify --run # runs stryker first\n */\nimport { loadMutationReport, type MutationReport } from \"./ingest.ts\";\n\nconst DEFAULT_REPORT = \"reports/mutation/mutation.json\";\n\nexport interface MatrixCheck {\n ok: boolean;\n checks: { name: string; ok: boolean; detail: string }[];\n}\n\n/**\n * Side-effect-free gate: is the kill matrix trustworthy for redundancy /\n * subsumption analysis? True only when\n * (a) some killed mutant has >1 killer — proof the no-bail patched runner\n * recorded EVERY killer, not just the first (verifyMatrix check #4), and\n * (b) coverage was collected — not every mutant is NoCoverage, which would\n * mean the coverage dump broke (verifyMatrix check #5).\n * Without both, REDUNDANCY/SUBSUMED would be computed off a partial matrix and\n * lie, so the report path falls back to score + gaps + theatre only.\n */\nexport function isMatrixComplete(report: MutationReport): boolean {\n const mutants = Object.values(report.files).flatMap((f) => f.mutants);\n if (mutants.length === 0) return false;\n const killed = mutants.filter((m) => m.status === \"Killed\");\n const multiKiller = killed.some((m) => (m.killedBy ?? []).length > 1);\n const noCov = mutants.filter((m) => m.status === \"NoCoverage\").length;\n const coverageCollected = noCov < mutants.length;\n return multiKiller && coverageCollected;\n}\n\n/**\n * Run the full kill-matrix contract (all five checks), optionally running a\n * fresh Stryker pass first. Returns the result rather than exiting, so callers\n * decide what to do with it; the `import.meta.main` wrapper prints and sets the\n * exit code.\n */\nexport async function verifyMatrix(\n opts: { reportPath?: string; run?: boolean; strykerConfig?: string } = {}\n): Promise<MatrixCheck> {\n const reportPath = opts.reportPath ?? DEFAULT_REPORT;\n\n if (opts.run) {\n console.log(\"Running mutation pass (this can take many minutes for a large mutate set)...\");\n const cmd = [\n \"bunx\",\n \"stryker\",\n \"run\",\n ...(opts.strykerConfig ? [\"--configFile\", opts.strykerConfig] : []),\n ];\n const proc = Bun.spawn(cmd, { stdout: \"inherit\", stderr: \"inherit\" });\n const code = await proc.exited;\n if (code !== 0) {\n return { ok: false, checks: [{ name: \"stryker run\", ok: false, detail: `exited ${code}` }] };\n }\n }\n\n if (!(await Bun.file(reportPath).exists())) {\n return {\n ok: false,\n checks: [\n {\n name: \"report exists\",\n ok: false,\n detail: `no report at ${reportPath}. Run with --run, or 'bun run mutation' first.`,\n },\n ],\n };\n }\n\n const report = await loadMutationReport(reportPath);\n const checks: { name: string; ok: boolean; detail: string }[] = [];\n const add = (name: string, ok: boolean, detail: string) => checks.push({ name, ok, detail });\n\n // 1. schema present\n add(\"schema version present\", !!report.schemaVersion, `schemaVersion=${report.schemaVersion}`);\n\n // 2. testFiles keyed by real paths, not the \"\" bucket (file-level identity intact)\n const tfKeys = Object.keys(report.testFiles ?? {});\n const realPaths = tfKeys.filter((k) => k && k !== \"(unknown)\");\n add(\n \"testFiles keyed by real paths\",\n realPaths.length > 0 && !tfKeys.includes(\"\"),\n `${realPaths.length} file(s): ${realPaths.slice(0, 2).join(\", \")}${realPaths.length > 2 ? \"…\" : \"\"}`\n );\n\n // 3. test ids resolve\n const testIds = new Set(\n Object.values(report.testFiles ?? {}).flatMap((tf) => tf.tests.map((t) => t.id))\n );\n const mutants = Object.values(report.files).flatMap((f) => f.mutants);\n const killed = mutants.filter((m) => m.status === \"Killed\");\n const danglingKb = killed.filter((m) => (m.killedBy ?? []).some((id) => !testIds.has(id)));\n add(\n \"every killedBy id resolves to a test\",\n danglingKb.length === 0,\n `${danglingKb.length} dangling`\n );\n\n // 4. THE contract: a complete matrix means some killed mutant has >1 killer.\n // If bail silently re-engaged, every killedBy would have length 1.\n const withKb = killed.filter((m) => (m.killedBy ?? []).length > 0);\n const multi = killed.filter((m) => (m.killedBy ?? []).length > 1);\n add(\n \"killed mutants carry killedBy\",\n killed.length > 0 && withKb.length === killed.length,\n `${withKb.length}/${killed.length}`\n );\n add(\n \"matrix is complete (no-bail): >1 killer exists\",\n multi.length > 0,\n `${multi.length} mutant(s) killed by >1 test — collapses to 0 if bail re-engages`\n );\n\n // 5. coverage extraction works: if the afterAll dump fails, the coverage map is\n // empty and Stryker marks EVERY mutant NoCoverage (theatre/gap split dies).\n const noCov = mutants.filter((m) => m.status === \"NoCoverage\").length;\n add(\n \"coverage collected (not all NoCoverage)\",\n noCov < mutants.length,\n `${noCov}/${mutants.length} NoCoverage — all-NoCoverage means the coverage dump broke`\n );\n\n return { ok: checks.every((c) => c.ok), checks };\n}\n\nif (import.meta.main) {\n const result = await verifyMatrix({ run: process.argv.includes(\"--run\") });\n console.log(\"\\nKill-matrix contract:\");\n for (const c of result.checks) {\n console.log(` ${c.ok ? \"✓\" : \"✗\"} ${c.name} (${c.detail})`);\n }\n if (!result.ok) {\n console.log(\n \"\\n✗ Contract broken. The pinned pair has drifted — re-check Bun version and that the patch applies (bun install).\"\n );\n process.exit(1);\n }\n console.log(\"\\n✓ Kill-matrix contract holds.\");\n}\n",
14
14
  "#!/usr/bin/env bun\n/**\n * `polly mutate` — run Stryker mutation testing and surface useless/redundant\n * tests (the inverse reading of the kill matrix). Thin dispatcher over the\n * reusable functions in this directory.\n */\nimport { parseMutateArgs } from \"./args.ts\";\nimport { resolveMutateConfig } from \"./config.ts\";\nimport { decide, status } from \"./decisions.ts\";\nimport { buildDb, loadMutationReport } from \"./ingest.ts\";\nimport { initConfig } from \"./init.ts\";\nimport { presetAdvisory, reportFromFile, runStryker } from \"./run.ts\";\nimport { verifyMatrix } from \"./verify-matrix.ts\";\n\nconst HELP = `polly mutate — mutation testing + useless-test detection\n\nMutation testing breaks your code one edit at a time and checks whether a test\nfails; a surviving mutant is a line no test pins down — a truer signal than line\ncoverage, which only proves a line ran. Read the same kill matrix the other way\nand it also finds dead weight: redundant tests (every kill caught elsewhere) and\ntheatre (code a test ran but never actually checked). How the matrix is built:\ntools/mutate/README.md.\n\nUsage:\n polly mutate init [--force] Scaffold a stryker.conf.json for this project\n polly mutate [run] Run Stryker, then print the useless-test report\n polly mutate report Print the report from an existing mutation.json\n polly mutate decisions Review verdicts: needs-review / stale / settled\n polly mutate decisions decide <file> <keep|prune|rewrite|investigate> \"<rationale>\"\n polly mutate verify [--run] Assert the kill-matrix contract (exit 1 on drift)\n polly mutate help Show this help\n\nFlags:\n --config <path> Stryker config (default: auto-discovered)\n --report <path> mutation report JSON (default: reports/mutation/mutation.json)\n --decisions <path> verdict log (default: .polly/test-debt/decisions.jsonl)\n --db <path> intermediate SQLite (default: in-memory)\n --no-report 'run' only — skip the analysis\n -h, --help\n\nThe redundancy/subsumption sections need a COMPLETE kill matrix (the no-bail\npatched Bun runner). Without it the report degrades to score + gaps + theatre;\n'polly mutate verify' diagnoses the matrix.`;\n\nasync function openDb(\n reportPath: string,\n dbPath: string\n): Promise<ReturnType<typeof buildDb> | null> {\n if (!(await Bun.file(reportPath).exists())) {\n console.log(\n `no mutation report at ${reportPath}. Run 'polly mutate run' first, or pass --report <path>.`\n );\n return null;\n }\n return buildDb(await loadMutationReport(reportPath), dbPath);\n}\n\n// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: a flat verb dispatcher — the branches are the command surface.\nasync function main(): Promise<number> {\n const args = parseMutateArgs(process.argv.slice(2));\n if (args.help) {\n console.log(HELP);\n return 0;\n }\n\n const cwd = process.cwd();\n const cfg = await resolveMutateConfig(cwd, args);\n\n switch (args.verb) {\n case \"init\": {\n const result = await initConfig(cwd, { force: args.force });\n if (!result.created) {\n console.log(\n `stryker.conf.json already exists at ${result.configPath}. Re-run with --force to overwrite.`\n );\n return 1;\n }\n console.log(`✓ wrote ${result.configPath}`);\n console.log(` plugin: ${result.pluginRef}`);\n console.log(` mutate: ${result.mutate.join(\", \")}`);\n console.log(` testFiles: ${result.testGlob}`);\n for (const w of result.warnings) console.log(` ⚠ ${w}`);\n console.log(\"\\nNext: polly mutate run\");\n return 0;\n }\n\n case \"run\": {\n const tip = await presetAdvisory(cfg);\n if (tip) console.log(`${tip}\\n`);\n const code = await runStryker(cfg);\n if (code !== 0) return code;\n if (args.noReport) return 0;\n console.log(`\\n${await reportFromFile(cfg)}`);\n return 0;\n }\n\n case \"report\": {\n console.log(await reportFromFile(cfg));\n return 0;\n }\n\n case \"decisions\": {\n const db = await openDb(cfg.reportPath, cfg.dbPath);\n if (!db) return 1;\n try {\n if (args.rest[0] === \"decide\") {\n const [, file, verdict, ...r] = args.rest;\n if (!file || !verdict) {\n console.log(\n 'usage: polly mutate decisions decide <file> <keep|prune|rewrite|investigate> \"<rationale>\"'\n );\n return 1;\n }\n await decide(file, verdict, r.join(\" \").replace(/^\"|\"$/g, \"\"), db, cfg.decisionsPath);\n } else {\n console.log(await status(db, cfg.decisionsPath));\n }\n } finally {\n db.close();\n }\n return 0;\n }\n\n case \"verify\": {\n const result = await verifyMatrix({\n reportPath: cfg.reportPath,\n run: args.run,\n strykerConfig: cfg.strykerConfigPath ?? undefined,\n });\n console.log(\"\\nKill-matrix contract:\");\n for (const c of result.checks) console.log(` ${c.ok ? \"✓\" : \"✗\"} ${c.name} (${c.detail})`);\n if (!result.ok) {\n console.log(\n \"\\n✗ Contract broken. The pinned pair has drifted — re-check Bun version and that the patch applies (bun install).\"\n );\n return 1;\n }\n console.log(\"\\n✓ Kill-matrix contract holds.\");\n return 0;\n }\n\n default:\n console.log(`Unknown subcommand: ${args.verb}\\n`);\n console.log(HELP);\n return 1;\n }\n}\n\nmain()\n .then((code) => process.exit(code))\n .catch((err) => {\n console.log(`\\n❌ ${err instanceof Error ? err.message : String(err)}`);\n process.exit(1);\n });\n"
15
15
  ],
16
- "mappings": "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",
17
- "debugId": "63F5B93A394460DD64756E2164756E21",
16
+ "mappings": "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",
17
+ "debugId": "6EB7966DB8ADD5CC64756E2164756E21",
18
18
  "names": []
19
19
  }
@@ -458,14 +458,14 @@ async function verifyMatrix(opts = {}) {
458
458
  }
459
459
  if (false) {}
460
460
  export {
461
- verifyMatrix,
462
- status,
463
- report,
464
- isMatrixComplete,
465
- initConfig,
466
- fileSignals,
461
+ buildDb,
467
462
  decide,
468
- buildDb
463
+ fileSignals,
464
+ initConfig,
465
+ isMatrixComplete,
466
+ report,
467
+ status,
468
+ verifyMatrix
469
469
  };
470
470
 
471
- //# debugId=95360A3BF8FB234364756E2164756E21
471
+ //# debugId=174BFC15F0DEEF0964756E2164756E21
@@ -8,7 +8,7 @@
8
8
  "/**\n * Test-debt report: derive the three signals from the kill matrix.\n *\n * gaps survived mutants — code no test pins (the Stryker direction)\n * redundancy tests/files whose every kill is also caught elsewhere\n * theatre covered-but-survived — code a test runs but no test detects\n * (the Survived status under coverageAnalysis \"all\")\n *\n * Redundancy is reported at BOTH file and case level. Decisions are keyed at\n * file level (stable identity); case level is the drill-down.\n */\nimport type { Database } from \"bun:sqlite\";\nimport { buildDb, loadMutationReport, queryAll, queryGet } from \"./ingest.ts\";\n\ntype SubsumedCase = { file: string; name: string; total: number };\ntype LineCount = { line: number; mutator: string; n: number };\n\n/** Greedy set cover: smallest set of `units` whose kill-sets cover all killed mutants. */\n// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: a textbook greedy set-cover loop — clearer whole than split.\nfunction greedyCover(units: Map<string, Set<string>>, universe: Set<string>): string[] {\n const remaining = new Set(universe);\n const chosen: string[] = [];\n const pool = new Map([...units].map(([k, v]) => [k, new Set(v)]));\n while (remaining.size > 0) {\n let best: string | null = null;\n let bestGain = 0;\n for (const [unit, set] of pool) {\n let gain = 0;\n for (const m of set) if (remaining.has(m)) gain++;\n if (gain > bestGain) {\n bestGain = gain;\n best = unit;\n }\n }\n if (best === null || bestGain === 0) break; // remaining mutants killed by nobody (shouldn't happen for killed set)\n chosen.push(best);\n for (const m of pool.get(best) ?? []) remaining.delete(m);\n pool.delete(best);\n }\n return chosen;\n}\n\n// biome-ignore lint/complexity/noExcessiveCognitiveComplexity: one report builder emitting all sections in order — splitting would scatter the shared db/out.\nexport function report(db: Database, opts: { matrixComplete?: boolean } = {}): string {\n // Defaults to true so `report(db)` is byte-identical to before (the parity\n // guard depends on this). When false — the kill matrix is partial (an\n // unpatched/bail runner) — the redundancy/subsumption sections would lie, so\n // they are suppressed and a warning shown; score/gaps/theatre still hold.\n const matrixComplete = opts.matrixComplete ?? true;\n const out: string[] = [];\n const p = (s = \"\") => out.push(s);\n\n // --- summary ---\n const tot = queryGet<{\n n: number;\n killed: number;\n survived: number;\n timeout: number;\n nocov: number;\n }>(\n db,\n \"SELECT count(*) n, sum(status='Killed') killed, sum(status='Survived') survived, sum(status='Timeout') timeout, sum(status='NoCoverage') nocov FROM mutants\"\n ) ?? { n: 0, killed: 0, survived: 0, timeout: 0, nocov: 0 };\n const nTests = queryGet<{ n: number }>(db, \"SELECT count(*) n FROM tests\")?.n ?? 0;\n const detected = tot.killed + tot.timeout;\n const score = ((detected / (tot.n - tot.nocov || 1)) * 100).toFixed(1);\n p(\n `MUTATION score ${score}% ${tot.killed} killed · ${tot.timeout} timeout · ${tot.survived} survived · ${tot.nocov} no-coverage (${tot.n} mutants, ${nTests} tests)`\n );\n\n if (matrixComplete) {\n // --- kill-multiplicity: how much slack is in the matrix ---\n const mult = queryAll<{ bucket: string; n: number }>(\n db,\n `\n\t\t\tSELECT CASE WHEN c=1 THEN '1' WHEN c=2 THEN '2' WHEN c BETWEEN 3 AND 5 THEN '3-5' ELSE '6+' END bucket, count(*) n\n\t\t\tFROM (SELECT mutant_id, count(*) c FROM kills GROUP BY mutant_id)\n\t\t\tGROUP BY bucket ORDER BY min(c)`\n );\n p(`\\nKILL MULTIPLICITY (killers per killed mutant — higher = more redundancy slack)`);\n for (const r of mult) p(` killed by ${String(r.bucket).padStart(3)} test(s): ${r.n}`);\n\n // --- redundancy ratio via greedy cover (case + file) ---\n const universe = new Set(\n queryAll<{ mutant_id: string }>(db, \"SELECT DISTINCT mutant_id FROM kills\").map(\n (r) => r.mutant_id\n )\n );\n const byTest = new Map<string, Set<string>>();\n for (const r of queryAll<{ test_id: string; mutant_id: string }>(\n db,\n \"SELECT test_id, mutant_id FROM kills\"\n )) {\n const set = byTest.get(r.test_id) ?? new Set<string>();\n byTest.set(r.test_id, set);\n set.add(r.mutant_id);\n }\n const byFile = new Map<string, Set<string>>();\n for (const r of queryAll<{ file: string; mid: string }>(\n db,\n \"SELECT t.file file, k.mutant_id mid FROM kills k JOIN tests t ON t.id=k.test_id\"\n )) {\n const set = byFile.get(r.file) ?? new Set<string>();\n byFile.set(r.file, set);\n set.add(r.mid);\n }\n const caseCover = greedyCover(byTest, universe);\n const fileCover = greedyCover(byFile, universe);\n p(`\\nREDUNDANCY RATIO (tests that kill something ÷ minimal covering set)`);\n p(\n ` case level: ${byTest.size} killing tests → ${caseCover.length} needed (${(byTest.size / Math.max(1, caseCover.length)).toFixed(2)}×, ~${byTest.size - caseCover.length} prunable)`\n );\n p(\n ` file level: ${byFile.size} killing files → ${fileCover.length} needed (${(byFile.size / Math.max(1, fileCover.length)).toFixed(2)}×, ~${byFile.size - fileCover.length} prunable)`\n );\n\n // --- fully subsumed FILES (every mutant they kill is killed elsewhere too) ---\n const subsumedFiles = queryAll<{ file: string; kills: number }>(\n db,\n `\n\t\t\tWITH file_kill AS (SELECT DISTINCT t.file file, k.mutant_id mid FROM kills k JOIN tests t ON t.id=k.test_id),\n\t\t\t owner AS (SELECT mid, count(DISTINCT file) nf, min(file) only_file FROM file_kill GROUP BY mid)\n\t\t\tSELECT fk.file, count(DISTINCT fk.mid) kills,\n\t\t\t sum(CASE WHEN o.nf=1 THEN 1 ELSE 0 END) unique_kills\n\t\t\tFROM file_kill fk JOIN owner o ON o.mid=fk.mid\n\t\t\tGROUP BY fk.file HAVING unique_kills=0 ORDER BY kills DESC`\n );\n p(`\\nSUBSUMED FILES (file-level identity — safe-to-review deletion candidates)`);\n if (subsumedFiles.length === 0)\n p(` none — every test file kills at least one mutant no other file catches`);\n for (const r of subsumedFiles) p(` ${r.file} (${r.kills} kills, 0 unique)`);\n\n // --- fully subsumed CASES (drill-down) ---\n const subsumedCases = queryAll<SubsumedCase>(\n db,\n `\n\t\t\tWITH mk AS (SELECT mutant_id, count(*) c FROM kills GROUP BY mutant_id),\n\t\t\t tk AS (SELECT test_id, count(*) total, sum(CASE WHEN mk.c=1 THEN 1 ELSE 0 END) uniq\n\t\t\t FROM kills JOIN mk USING(mutant_id) GROUP BY test_id)\n\t\t\tSELECT t.file, t.name, tk.total FROM tk JOIN tests t ON t.id=tk.test_id\n\t\t\tWHERE tk.total>0 AND tk.uniq=0 ORDER BY t.file, tk.total DESC`\n );\n const byFileCases = new Map<string, SubsumedCase[]>();\n for (const r of subsumedCases) {\n const rows = byFileCases.get(r.file) ?? [];\n byFileCases.set(r.file, rows);\n rows.push(r);\n }\n p(\n `\\nSUBSUMED CASES (${subsumedCases.length} individual tests whose every kill is caught elsewhere)`\n );\n for (const [file, rows] of byFileCases) {\n p(` ${file}`);\n for (const r of rows) p(` “${r.name}” (${r.total} kills, 0 unique)`);\n }\n } else {\n p(`\\n⚠ KILL MATRIX INCOMPLETE — redundancy/subsumption analysis suppressed.`);\n p(` Every mutant has at most one recorded killer, so \"which tests are redundant\"`);\n p(` cannot be derived. This needs the no-bail patched Bun runner (not shipped with`);\n p(\n ` @fairfox/polly). Run 'polly mutate verify' to diagnose. Score/gaps/theatre below still hold.`\n );\n }\n\n // Under coverageAnalysis \"all\", Stryker classifies a non-killed mutant as\n // NoCoverage (no test runs it — a true gap) or Survived (a test runs it but\n // nothing detects the mutation — theatre). That status split IS the\n // gap/theatre distinction; it requires coverage to be on (see README).\n const srcFile = queryGet<{ file: string }>(db, \"SELECT file FROM mutants LIMIT 1\")?.file;\n\n // --- gaps: code no test even executes ---\n const gaps = queryAll<LineCount>(\n db,\n \"SELECT line, mutator, count(*) n FROM mutants WHERE status='NoCoverage' GROUP BY line, mutator ORDER BY line\"\n );\n const gapTotal = gaps.reduce((a, r) => a + r.n, 0);\n p(`\\nGAPS (NoCoverage — no test executes this code: ${gapTotal})`);\n if (gapTotal === 0) p(` none — every mutable location is reached by some test`);\n for (const r of gaps) p(` ${srcFile}:${r.line} ${r.mutator}${r.n > 1 ? ` ×${r.n}` : \"\"}`);\n\n // --- theatre: covered but survived ---\n const theatre = queryAll<LineCount>(\n db,\n \"SELECT line, mutator, count(*) n FROM mutants WHERE status='Survived' GROUP BY line, mutator ORDER BY line\"\n );\n const theatreTotal = theatre.reduce((a, r) => a + r.n, 0);\n p(`\\nTHEATRE (Survived — code is covered but no test detects the mutation: ${theatreTotal})`);\n if (theatreTotal === 0) p(` none`);\n for (const r of theatre) p(` ${srcFile}:${r.line} ${r.mutator}${r.n > 1 ? ` ×${r.n}` : \"\"}`);\n\n return out.join(\"\\n\");\n}\n\nif (import.meta.main) {\n const reportPath = process.argv[2] ?? \"reports/mutation/mutation.json\";\n const db = buildDb(await loadMutationReport(reportPath), \"reports/test-debt.sqlite\");\n console.log(report(db));\n db.close();\n}\n",
9
9
  "/**\n * Verification artefact for the kill-matrix contract.\n *\n * The whole useless-test analysis rests on one fact: the patched bun runner\n * emits a COMPLETE kill matrix — every test that detects a mutant appears in\n * killedBy, not just the first. That depends on a pinned pair: (Bun version,\n * plugin version + our patch). A Bun upgrade that changes JUnit output, or a\n * patch that stops applying, would silently collapse killedBy to one id each —\n * a green board with the redundancy signal quietly dead (the classic trap).\n *\n * `verifyMatrix` runs the full contract and returns the result; `isMatrixComplete`\n * is the side-effect-free gate the report path consults to decide whether the\n * redundancy/subsumption sections are trustworthy. Run the CLI form after any\n * bump of Bun or the plugin:\n *\n * polly mutate verify # uses the existing report\n * polly mutate verify --run # runs stryker first\n */\nimport { loadMutationReport, type MutationReport } from \"./ingest.ts\";\n\nconst DEFAULT_REPORT = \"reports/mutation/mutation.json\";\n\nexport interface MatrixCheck {\n ok: boolean;\n checks: { name: string; ok: boolean; detail: string }[];\n}\n\n/**\n * Side-effect-free gate: is the kill matrix trustworthy for redundancy /\n * subsumption analysis? True only when\n * (a) some killed mutant has >1 killer — proof the no-bail patched runner\n * recorded EVERY killer, not just the first (verifyMatrix check #4), and\n * (b) coverage was collected — not every mutant is NoCoverage, which would\n * mean the coverage dump broke (verifyMatrix check #5).\n * Without both, REDUNDANCY/SUBSUMED would be computed off a partial matrix and\n * lie, so the report path falls back to score + gaps + theatre only.\n */\nexport function isMatrixComplete(report: MutationReport): boolean {\n const mutants = Object.values(report.files).flatMap((f) => f.mutants);\n if (mutants.length === 0) return false;\n const killed = mutants.filter((m) => m.status === \"Killed\");\n const multiKiller = killed.some((m) => (m.killedBy ?? []).length > 1);\n const noCov = mutants.filter((m) => m.status === \"NoCoverage\").length;\n const coverageCollected = noCov < mutants.length;\n return multiKiller && coverageCollected;\n}\n\n/**\n * Run the full kill-matrix contract (all five checks), optionally running a\n * fresh Stryker pass first. Returns the result rather than exiting, so callers\n * decide what to do with it; the `import.meta.main` wrapper prints and sets the\n * exit code.\n */\nexport async function verifyMatrix(\n opts: { reportPath?: string; run?: boolean; strykerConfig?: string } = {}\n): Promise<MatrixCheck> {\n const reportPath = opts.reportPath ?? DEFAULT_REPORT;\n\n if (opts.run) {\n console.log(\"Running mutation pass (this can take many minutes for a large mutate set)...\");\n const cmd = [\n \"bunx\",\n \"stryker\",\n \"run\",\n ...(opts.strykerConfig ? [\"--configFile\", opts.strykerConfig] : []),\n ];\n const proc = Bun.spawn(cmd, { stdout: \"inherit\", stderr: \"inherit\" });\n const code = await proc.exited;\n if (code !== 0) {\n return { ok: false, checks: [{ name: \"stryker run\", ok: false, detail: `exited ${code}` }] };\n }\n }\n\n if (!(await Bun.file(reportPath).exists())) {\n return {\n ok: false,\n checks: [\n {\n name: \"report exists\",\n ok: false,\n detail: `no report at ${reportPath}. Run with --run, or 'bun run mutation' first.`,\n },\n ],\n };\n }\n\n const report = await loadMutationReport(reportPath);\n const checks: { name: string; ok: boolean; detail: string }[] = [];\n const add = (name: string, ok: boolean, detail: string) => checks.push({ name, ok, detail });\n\n // 1. schema present\n add(\"schema version present\", !!report.schemaVersion, `schemaVersion=${report.schemaVersion}`);\n\n // 2. testFiles keyed by real paths, not the \"\" bucket (file-level identity intact)\n const tfKeys = Object.keys(report.testFiles ?? {});\n const realPaths = tfKeys.filter((k) => k && k !== \"(unknown)\");\n add(\n \"testFiles keyed by real paths\",\n realPaths.length > 0 && !tfKeys.includes(\"\"),\n `${realPaths.length} file(s): ${realPaths.slice(0, 2).join(\", \")}${realPaths.length > 2 ? \"…\" : \"\"}`\n );\n\n // 3. test ids resolve\n const testIds = new Set(\n Object.values(report.testFiles ?? {}).flatMap((tf) => tf.tests.map((t) => t.id))\n );\n const mutants = Object.values(report.files).flatMap((f) => f.mutants);\n const killed = mutants.filter((m) => m.status === \"Killed\");\n const danglingKb = killed.filter((m) => (m.killedBy ?? []).some((id) => !testIds.has(id)));\n add(\n \"every killedBy id resolves to a test\",\n danglingKb.length === 0,\n `${danglingKb.length} dangling`\n );\n\n // 4. THE contract: a complete matrix means some killed mutant has >1 killer.\n // If bail silently re-engaged, every killedBy would have length 1.\n const withKb = killed.filter((m) => (m.killedBy ?? []).length > 0);\n const multi = killed.filter((m) => (m.killedBy ?? []).length > 1);\n add(\n \"killed mutants carry killedBy\",\n killed.length > 0 && withKb.length === killed.length,\n `${withKb.length}/${killed.length}`\n );\n add(\n \"matrix is complete (no-bail): >1 killer exists\",\n multi.length > 0,\n `${multi.length} mutant(s) killed by >1 test — collapses to 0 if bail re-engages`\n );\n\n // 5. coverage extraction works: if the afterAll dump fails, the coverage map is\n // empty and Stryker marks EVERY mutant NoCoverage (theatre/gap split dies).\n const noCov = mutants.filter((m) => m.status === \"NoCoverage\").length;\n add(\n \"coverage collected (not all NoCoverage)\",\n noCov < mutants.length,\n `${noCov}/${mutants.length} NoCoverage — all-NoCoverage means the coverage dump broke`\n );\n\n return { ok: checks.every((c) => c.ok), checks };\n}\n\nif (import.meta.main) {\n const result = await verifyMatrix({ run: process.argv.includes(\"--run\") });\n console.log(\"\\nKill-matrix contract:\");\n for (const c of result.checks) {\n console.log(` ${c.ok ? \"✓\" : \"✗\"} ${c.name} (${c.detail})`);\n }\n if (!result.ok) {\n console.log(\n \"\\n✗ Contract broken. The pinned pair has drifted — re-check Bun version and that the patch applies (bun install).\"\n );\n process.exit(1);\n }\n console.log(\"\\n✓ Kill-matrix contract holds.\");\n}\n"
10
10
  ],
11
- "mappings": "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",
12
- "debugId": "95360A3BF8FB234364756E2164756E21",
11
+ "mappings": "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",
12
+ "debugId": "174BFC15F0DEEF0964756E2164756E21",
13
13
  "names": []
14
14
  }
@@ -1168,7 +1168,8 @@ async function checkNoTautologyEnsures(options) {
1168
1168
  const excludeDirs = new Set(options.exclude ?? DEFAULT_EXCLUDE2);
1169
1169
  const excludeFiles = new Set([...options.excludeFiles ?? [], "no-tautology-ensures.ts"]);
1170
1170
  const primitives = options.primitives ?? DEFAULT_PRIMITIVES;
1171
- const callPattern = new RegExp(`\\b(${primitives.join("|")})\\s*\\(`, "g");
1171
+ const escaped = primitives.map((name) => name.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
1172
+ const callPattern = new RegExp(`\\b(${escaped.join("|")})\\s*\\(`, "g");
1172
1173
  const glob = new Glob4(options.filePatterns ?? "**/*.{ts,tsx}");
1173
1174
  const violations = [];
1174
1175
  for await (const file of glob.scan({ cwd: rootDir, absolute: true })) {
@@ -3339,4 +3340,4 @@ switch (subcommand) {
3339
3340
  }
3340
3341
  process.exit(exitCode);
3341
3342
 
3342
- //# debugId=6610E9614AC8E6B464756E2164756E21
3343
+ //# debugId=7ECBAD7760B567DF64756E2164756E21