mjolnir-qa 5.0.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mjolnir-qa",
3
- "version": "5.0.0",
4
- "publishedStable": "5.0.0",
3
+ "version": "6.0.1",
4
+ "publishedStable": "6.0.1",
5
5
  "description": "Mjölnir — the Verification Trust Engine for QA. Audits test suites and CI pipelines, reports a worthiness score and prioritized findings.",
6
6
  "type": "module",
7
7
  "engines": {
@@ -27,10 +27,8 @@
27
27
  "dev": "tsx src/cli.ts",
28
28
  "mcp": "node dist/mcp/stdio.mjs",
29
29
  "test": "npm run skip:budget:init && vitest run --reporter=default --reporter=./scripts/vitest-skip-budget-reporter.mjs",
30
- "test:integration": "vitest run tests/integrations",
31
- "test:mcp:parity": "vitest run tests/mcp/parity.spec.ts",
32
- "frontier:contracts": "vitest run tests/contract/boundary-law.spec.ts tests/contract/exit-matrix.spec.ts tests/contract/json-contract.spec.ts tests/contract/machine-contract.spec.ts tests/contract/schema-contract.spec.ts tests/contract/vitest-suite-boundaries.spec.ts tests/contract/certification.spec.ts tests/contract/evidence-voting.spec.ts tests/contract/presentation-trust.spec.ts tests/contract/release-trust-contract.spec.ts tests/contract/saved-report-trust.spec.ts tests/contract/trust-ladder-single-source.spec.ts tests/contract/mcp-workspace-boundary.spec.ts tests/contract/privacy-network-isolation.spec.ts tests/contract/census-drift.spec.ts tests/contract/m26-support-matrix.spec.ts tests/contract/quarantine-ledger.spec.ts tests/contract/docs-consistency.spec.ts tests/contract/framework-capability-envelope.spec.ts tests/contract/pack-audit.spec.ts tests/contract/readme-commands.spec.ts tests/contract/semantic-integrity.spec.ts tests/contract/version-surface.spec.ts tests/contract/no-bare-process-exec.spec.ts tests/contract/coverage-exemption-truth.spec.ts tests/contract/deterministic-ordering.spec.ts tests/contract/deterministic-clock.spec.ts tests/contract/cli-workspace-boundary.spec.ts tests/contract/skip-budget.spec.ts tests/contract/no-uncounted-degradation.spec.ts tests/contract/single-error-helper.spec.ts",
33
- "test:release": "vitest run tests/release tests/commands/release-trust-arms.spec.ts tests/commands/release-trust-branch.spec.ts",
30
+ "test:fast": "vitest run tests/adapters tests/adversarial tests/agent tests/anti-gaming tests/bench tests/benchmark tests/blast-radius tests/brand tests/certification tests/claims tests/config tests/corpus tests/discovery tests/engine tests/enterprise tests/false-green tests/forensics tests/frameworks tests/fuzz tests/lib tests/mcp tests/plugins tests/release tests/reporters tests/roadmap tests/rules tests/scope tests/scorer tests/store tests/trust tests/v6",
31
+ "test:slow": "vitest run tests/audit tests/cli tests/commands tests/contract tests/e2e tests/integrations",
34
32
  "bench:scan": "tsx scripts/bench-scan.ts .mjolnir --files 300",
35
33
  "test:stress": "vitest run --config vitest.stress.config.ts && node tests/stress/soak.mjs && node tests/stress/concurrent.mjs",
36
34
  "test:coverage": "vitest run --coverage",
@@ -42,7 +40,6 @@
42
40
  "report:honesty": "node scripts/check-report-honesty.mjs",
43
41
  "thresholds:parity": "node scripts/check-threshold-parity.mjs",
44
42
  "verbs:budget": "node scripts/check-verb-budget.mjs",
45
- "artifact:deterministic": "vitest run tests/contract/artifact-determinism.spec.ts",
46
43
  "claims:revalidate": "node scripts/revalidate-claims.mjs",
47
44
  "script:paths": "node scripts/check-script-paths.mjs",
48
45
  "lockfile:platforms": "node scripts/check-lockfile-platforms.mjs",
@@ -58,71 +55,78 @@
58
55
  "docs:registry": "tsx scripts/v6/generate-capability.ts",
59
56
  "registry:check": "tsx scripts/v6/check-capability-registry.ts",
60
57
  "rules:quality:check": "tsx scripts/v6/check-rule-quality.ts",
58
+ "workflow:scripts": "node scripts/check-workflow-scripts.mjs",
59
+ "gates:check": "node scripts/check-gate-tiers.mjs",
60
+ "gates:commands": "node scripts/check-gate-commands.mjs",
61
+ "exemptions:ceilings": "node scripts/check-exemption-ceilings.mjs",
62
+ "ledger:check": "tsx scripts/version-capability-ledger.ts --check",
63
+ "ledger:write": "tsx scripts/version-capability-ledger.ts",
64
+ "config:consumers": "node scripts/check-config-consumers.mjs",
65
+ "scripts:reachable": "node scripts/check-script-reachability.mjs",
66
+ "entry-points:check": "node scripts/check-entry-points.mjs",
61
67
  "qa-ir:parity": "tsx scripts/v6/check-qa-ir-parity.ts",
62
- "v6:archive:check": "tsx scripts/v6/reconcile-archive.ts",
63
- "issue-disposition:check": "tsx scripts/v6/check-issue-disposition.ts",
64
68
  "candidate:manifest:check": "node scripts/check-candidate-manifest.mjs",
65
69
  "candidate:manifest:update": "node scripts/update-candidate-manifest.mjs --write",
66
70
  "candidate:readiness": "node scripts/check-candidate-readiness.mjs",
67
71
  "candidate:decision:engineering": "node scripts/check-candidate-decision.mjs --stage engineering",
68
72
  "candidate:decision:release": "node scripts/check-candidate-decision.mjs --stage release",
69
73
  "coverage:exemptions": "node scripts/check-coverage-exemption-ledger.mjs",
74
+ "check-unimported-modules": "node scripts/check-unimported-modules.mjs",
70
75
  "test:watch": "vitest",
71
76
  "lint": "eslint . --max-warnings=0 && prettier --check .",
72
77
  "format": "prettier --write .",
73
78
  "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.test.json && tsx scripts/typecheck-fixtures.ts",
74
- "certify": "npm run build && npm run lint && npm run typecheck && npm run version:check && npm run enterprise:threat-model && npm run claims:check && npm run claims:revalidate && npm run report:honesty && npm run thresholds:parity && npm run script:paths && npm run lockfile:platforms && npm run verbs:budget && npm run m26:integrity && npm run coverage:exemptions && npm run candidate:manifest:check && npm run candidate:decision:engineering && npm run docs:translations && npm run test && npm run skip:budget && npx vitest run tests/contract/",
75
- "certify:ci": "npm run build && npm run lint && npm run typecheck && npm run version:check && npm run enterprise:threat-model && npm run claims:check && npm run claims:revalidate && npm run report:honesty && npm run thresholds:parity && npm run script:paths && npm run lockfile:platforms && npm run verbs:budget && npm run m26:integrity && npm run coverage:exemptions && npm run candidate:manifest:check && npm run candidate:decision:engineering && npm run docs:translations && npm run test:coverage:ci && npm run skip:budget && npx vitest run tests/contract/",
76
- "ci-local": "npm run certify:ci && npm run test:property && npm run test:fuzz && npm run coverage:ratchet && npm run audit:ci && npm run brand:doctor && npm run brand:doctor:selftest && npm run brand:fonts:check && npm run site:doctor && npm run ci-local:parity",
77
- "verify:isolation": "node scripts/verify-remediation-isolation.mjs",
79
+ "certify": "npm run check && npm run certify:claims && npm run test:coverage && npm run check-unimported-modules && npm run check-fixture-quad && npm run certify:integrity && npm run skip:budget && npx vitest run tests/contract/",
80
+ "check": "npm run build && npm run typecheck && npm run lint && npm run test:coverage:ci && npm run check-version && npm run gates:claim-integrity && npm run docs:regen && npm run self-scan && npm run doctor",
81
+ "certify:fast": "npm run build && npm run lint && npm run typecheck && npm run script:paths && npm run gates:check && npm run ledger:check && npm run gates:claim-integrity && npx vitest run tests/contract/",
82
+ "certify:claims": "npm run build && npm run lint && npm run typecheck && npm run check-version && npm run enterprise:threat-model && npm run claims:check && npm run claims:revalidate && npm run report:honesty && npm run thresholds:parity && npm run script:paths && npm run gates:check && npm run ledger:check && npm run gates:claim-integrity",
83
+ "certify:integrity": "npm run lockfile:platforms && npm run verbs:budget && npm run coverage:exemptions && npm run exemptions:ceilings && npm run candidate:manifest:check && npm run candidate:decision:engineering",
84
+ "certify:ci": "npm run certify:claims && npm run certify:integrity && npm run test:coverage:ci && npm run skip:budget && npx vitest run tests/contract/",
85
+ "docs:provenance-drift": "tsx scripts/check-provenance-artifacts.ts",
86
+ "docs:core-readiness": "tsx scripts/core-readiness.ts",
87
+ "check-fixture-quad": "tsx scripts/v6/check-fixture-quad.ts",
88
+ "holdout:split": "tsx scripts/v6/check-holdout-split.ts",
89
+ "rules:promotion:check": "tsx scripts/v6/check-promotion-throughput.mjs",
90
+ "docs:provenance-drift:fix": "npm run docs:registry && npm run docs:v6-inventory",
91
+ "gates:claim-integrity": "npm run workflow:scripts && npm run config:consumers && npm run scripts:reachable && npm run check-unimported-modules && npm run check-cli-contract && npm run check-carve-manifest && npm run check-certification-surface && npm run docs:certification-matrix:check && npm run docs:certification-gaps:check && npm run check-concepts && npm run qa-ir:parity && npm run check-fixture-quad && npm run holdout:split && npm run conformity && npm run check-detector-hashes && npm run rules:quality:check && npm run rules:promotion:check && npm run docs:provenance-drift && npm run docs:roadmap:backlinks && npm run entry-points:check",
92
+ "ci-local": "npm run certify:ci && npm run test:property && npm run test:fuzz && npm run coverage:ratchet && npm run audit:ci && npm run brand:doctor && npm run brand:doctor:selftest && npm run brand:fonts:check && npm run doctor && npm run ci-local:parity",
78
93
  "golden:update": "tsx tests/golden/gen.ts",
79
94
  "detector-hashes:update": "tsx scripts/generate-detector-hashes.ts",
80
- "corpus:regression": "tsx tests/corpus/audit.ts",
81
- "corpus:regression:update": "tsx tests/corpus/audit.ts --update",
82
- "corpus:regression:refresh-provenance": "tsx tests/corpus/audit.ts --refresh-provenance",
95
+ "check-detector-hashes": "tsx scripts/check-detector-hashes.ts",
96
+ "corpus:audit": "tsx tests/corpus/audit.ts",
97
+ "corpus:apply-verdicts": "tsx scripts/lib/apply-verdicts.ts",
98
+ "corpus:verdict-context": "node scripts/verdict-context.mjs",
83
99
  "corpus:sample": "tsx scripts/corpus-sample.ts",
84
- "fp-audit:generate": "tsx scripts/generate-fp-audit-table.ts",
85
- "docs:rules": "tsx scripts/generate-rule-docs.ts",
100
+ "generate-fp-audit-table": "tsx scripts/generate-fp-audit-table.ts",
101
+ "generate-rule-docs": "tsx scripts/generate-rule-docs.ts",
86
102
  "docs:counts": "tsx scripts/generate-counts.ts",
87
103
  "docs:depth-adjudication": "tsx scripts/generate-depth-adjudication.ts",
88
104
  "false-green:index": "tsx scripts/generate-false-green-index.ts",
89
105
  "docs:capabilities-playwright": "tsx scripts/generate-playwright-capabilities.ts",
90
106
  "docs:blast-radius": "tsx scripts/generate-blast-radius.ts",
91
107
  "docs:quarantine-ledger": "tsx scripts/generate-quarantine-ledger.ts",
92
- "docs:capability": "tsx scripts/generate-capability-matrix.ts",
93
108
  "docs:machine-contract": "tsx scripts/generate-machine-contract-doc.ts",
94
109
  "docs:hero": "tsx scripts/generate-readme-hero.ts",
95
110
  "docs:gauge": "tsx scripts/generate-readme-score-gauge.ts",
96
111
  "docs:readme-brand": "tsx scripts/generate-readme-brand.ts",
97
112
  "docs:formats": "tsx scripts/generate-site-formats.ts",
98
113
  "docs:forensics-samples": "tsx scripts/generate-forensics-samples.ts",
99
- "site:doctor": "npm --prefix site run doctor",
114
+ "doctor": "node dist/cli.mjs doctor && npm --prefix site run doctor",
100
115
  "site:audit": "node site/scripts/audit-live.mjs",
101
116
  "site:lighthouse": "node site/scripts/lighthouse-run.mjs",
102
117
  "docs:demo": "tsx scripts/generate-readme-demo.ts",
103
118
  "docs:video:capture": "tsx scripts/video/write-scripts.ts",
104
119
  "docs:video:glyphs": "tsx scripts/video/check-glyphs.ts",
105
- "docs:video:render": "tsx scripts/video/render.ts",
120
+ "docs:video:render": "tsx scripts/video/render.ts --publish",
106
121
  "docs:video": "npm run docs:video:capture && npm run docs:video:render",
107
- "docs:translations": "node scripts/check-readme-translations.mjs",
108
- "docs:translations:sync": "node scripts/sync-readme-release-status.mjs",
109
- "docs:translations:check": "node scripts/check-readme-translations.mjs --strict",
110
122
  "rules:census": "tsx scripts/print-rule-census.ts",
111
123
  "docs:roadmap:check": "tsx scripts/roadmap/check.ts",
112
124
  "docs:roadmap:backlinks": "tsx scripts/roadmap/check-backlinks.ts",
113
125
  "release:decision": "tsx scripts/release-decision.ts",
114
- "m26:audit": "tsx scripts/check-m26-ledgers.ts --stage readiness",
115
- "m26:integrity": "tsx scripts/check-m26-ledgers.ts --stage integrity",
116
- "m26:readiness": "npm run m26:audit && npm run candidate:readiness",
117
- "m26:github:sync": "node scripts/sync-m26-github.mjs",
118
- "m26:gaps:revalidate": "tsx scripts/revalidate-gaps.mjs",
119
- "changelog:check": "tsx scripts/check-changelog.ts",
120
- "reporter:version-check": "tsx scripts/check-reporter-version.ts",
121
- "version:surface:check": "tsx scripts/check-version-surface.ts",
122
126
  "version:surface:sync": "tsx scripts/sync-version-surface.ts",
123
- "version:check": "npm run version:surface:check && npm run reporter:version-check && npm run changelog:check",
127
+ "check-version": "node scripts/check-version.mjs",
124
128
  "release:verify": "tsx scripts/release-verify.ts",
125
- "self-scan": "node dist/cli.mjs .",
129
+ "self-scan": "node dist/cli.mjs src",
126
130
  "ci:standard": "node scripts/check-ci-standard.mjs",
127
131
  "ci-local:parity": "node scripts/check-ci-local-parity.mjs",
128
132
  "test:property": "node scripts/check-property-runs.mjs && vitest run --config vitest.property.config.ts",
@@ -130,18 +134,34 @@
130
134
  "prepare": "husky",
131
135
  "prepublishOnly": "npm run build",
132
136
  "docs:architecture": "tsx scripts/generate-readme-architecture.ts",
137
+ "docs:how-it-works": "tsx scripts/readme-how-it-works.ts",
133
138
  "brand:tokens": "tsx scripts/generate-brand-tokens.ts",
134
139
  "brand:doctor": "node scripts/brand-doctor.mjs",
140
+ "brand:pr-status": "tsx scripts/generate-pr-status-assets.ts",
135
141
  "brand:doctor:selftest": "node scripts/brand-doctor-selftest.mjs",
136
142
  "brand:fonts": "tsx scripts/vendor-fonts.ts",
137
143
  "brand:fonts:check": "tsx scripts/vendor-fonts.ts --check",
138
144
  "brand:marks": "tsx scripts/generate-brand-marks.ts",
139
145
  "brand:marks:update": "node scripts/update-mark-hashes.mjs",
140
- "docs:regen": "npm run docs:rules && npm run fp-audit:generate && npm run docs:capability && npm run docs:counts && npm run docs:depth-adjudication && npm run docs:machine-contract && npm run brand:tokens && npm run golden:update && npm run docs:hero && npm run docs:demo && npm run docs:readme-brand && npm run detector-hashes:update",
146
+ "docs:regen": "npm run generate-rule-docs && npm run generate-fp-audit-table && npm run docs:capability && npm run docs:counts && npm run docs:depth-adjudication && npm run docs:machine-contract && npm run docs:core-readiness && npm run brand:tokens && npm run golden:update && npm run docs:hero && npm run docs:architecture && npm run docs:how-it-works && npm run docs:demo && npm run docs:readme-brand && npm run detector-hashes:update",
141
147
  "docs:refresh": "node scripts/refresh-generated.mjs",
142
148
  "docs:refresh:check": "node scripts/refresh-generated.mjs --check",
149
+ "docs:staleness": "node scripts/check-generated-clean.mjs",
143
150
  "skip:budget": "node scripts/check-skip-budget.mjs",
144
- "skip:budget:init": "node scripts/skip-budget-init.mjs"
151
+ "skip:budget:init": "node scripts/skip-budget-init.mjs",
152
+ "verify-build-determinism": "node scripts/verify-build-determinism.mjs",
153
+ "check-cli-contract": "node scripts/check-cli-contract.mjs",
154
+ "generate-carve-manifest": "node scripts/v6/carve-manifest.mjs",
155
+ "check-carve-manifest": "node scripts/v6/carve-manifest.mjs --check",
156
+ "fix": "node dist/cli.mjs fix",
157
+ "generate-concepts": "tsx scripts/generate-concepts.ts --write",
158
+ "check-concepts": "tsx scripts/generate-concepts.ts",
159
+ "check-certification-surface": "node scripts/check-certification-surface.mjs",
160
+ "docs:certification-matrix": "tsx scripts/generate-certification-matrix.ts",
161
+ "docs:certification-matrix:check": "tsx scripts/generate-certification-matrix.ts --check",
162
+ "docs:certification-gaps": "tsx scripts/generate-certification-gaps.ts",
163
+ "docs:certification-gaps:check": "tsx scripts/generate-certification-gaps.ts --check",
164
+ "conformity": "tsx scripts/check-conformity.ts"
145
165
  },
146
166
  "keywords": [
147
167
  "qa",
@@ -180,28 +200,28 @@
180
200
  }
181
201
  },
182
202
  "devDependencies": {
183
- "@commitlint/cli": "^19.8.1",
184
- "@commitlint/config-conventional": "^19.8.1",
185
- "@eslint/js": "^10.0.1",
186
- "@playwright/test": "^1.50.0",
187
- "@sentry/node": "^11.0.0",
188
- "@types/node": "^26.4.0",
189
- "@vitest/coverage-istanbul": "^5.0.1",
190
- "axe-core": "^4.13.0",
191
- "eslint": "^10.9.1",
192
- "eslint-plugin-regexp": "^3.3.0",
193
- "eslint-plugin-security": "^4.0.1",
194
- "fast-check": "^4.9.0",
195
- "husky": "^9.1.7",
196
- "lighthouse": "^13.4.1",
197
- "lint-staged": "^17.3.0",
198
- "playwright-core": "^1.63.0",
199
- "prettier": "^3.3.0",
200
- "tsdown": "^0.23.0",
201
- "tsx": "^4.16.0",
202
- "typescript": "^6.0.3",
203
- "typescript-eslint": "^8.68.0",
204
- "vitest": "^5.0.1"
203
+ "@commitlint/cli": "21.2.4",
204
+ "@commitlint/config-conventional": "21.2.4",
205
+ "@eslint/js": "10.0.1",
206
+ "@playwright/test": "1.64.1",
207
+ "@sentry/node": "11.9.0",
208
+ "@types/node": "26.6.5",
209
+ "@vitest/coverage-istanbul": "5.0.5",
210
+ "axe-core": "4.14.0",
211
+ "eslint": "10.13.0",
212
+ "eslint-plugin-regexp": "3.3.1",
213
+ "eslint-plugin-security": "4.2.0",
214
+ "fast-check": "4.10.2",
215
+ "husky": "9.1.7",
216
+ "lighthouse": "13.6.0",
217
+ "lint-staged": "17.6.0",
218
+ "playwright-core": "1.64.1",
219
+ "prettier": "3.9.10",
220
+ "tsdown": "0.23.3",
221
+ "tsx": "4.23.15",
222
+ "typescript": "6.0.3",
223
+ "typescript-eslint": "8.72.1",
224
+ "vitest": "5.0.5"
205
225
  },
206
226
  "lint-staged": {
207
227
  "*.{ts,js,mjs}": [
@@ -211,8 +231,5 @@
211
231
  "*.{json,md,yml,yaml}": [
212
232
  "prettier --write"
213
233
  ]
214
- },
215
- "allowScripts": {
216
- "@vitest/coverage-istanbul@5.0.1": true
217
234
  }
218
235
  }