mjolnir-qa 4.0.0 → 6.0.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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mjolnir-qa",
3
- "version": "4.0.0",
4
- "publishedStable": "4.0.0",
3
+ "version": "6.0.0",
4
+ "publishedStable": "6.0.0",
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": {
@@ -26,15 +26,17 @@
26
26
  "sentry:release": "node scripts/sentry-release.mjs",
27
27
  "dev": "tsx src/cli.ts",
28
28
  "mcp": "node dist/mcp/stdio.mjs",
29
- "test": "vitest run",
29
+ "test": "npm run skip:budget:init && vitest run --reporter=default --reporter=./scripts/vitest-skip-budget-reporter.mjs",
30
30
  "test:integration": "vitest run tests/integrations",
31
+ "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",
32
+ "test:slow": "vitest run tests/audit tests/cli tests/commands tests/contract tests/e2e tests/integrations",
31
33
  "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",
33
- "test:release": "vitest run tests/release tests/commands/release-trust-arms.spec.ts tests/commands/release-trust-branch.spec.ts",
34
+ "frontier:contracts": "vitest run tests/contract/",
35
+ "test:release": "vitest run tests/release tests/commands/release-trust-arms.spec.ts",
34
36
  "bench:scan": "tsx scripts/bench-scan.ts .mjolnir --files 300",
35
37
  "test:stress": "vitest run --config vitest.stress.config.ts && node tests/stress/soak.mjs && node tests/stress/concurrent.mjs",
36
38
  "test:coverage": "vitest run --coverage",
37
- "test:coverage:ci": "vitest run --coverage --maxWorkers=4 --testTimeout=120000 --hookTimeout=120000",
39
+ "test:coverage:ci": "npm run skip:budget:init && vitest run --coverage --maxWorkers=4 --testTimeout=120000 --hookTimeout=120000 --reporter=default --reporter=./scripts/vitest-skip-budget-reporter.mjs",
38
40
  "coverage:ratchet": "node scripts/check-coverage-ratchet.mjs",
39
41
  "audit:ci": "npm audit --audit-level=moderate && npm audit --workspaces --audit-level=moderate",
40
42
  "enterprise:threat-model": "node scripts/enterprise/validate-threat-model.mjs --model enterprise/threat-model.json --data-flow enterprise/data-flows.json --strict",
@@ -46,68 +48,92 @@
46
48
  "claims:revalidate": "node scripts/revalidate-claims.mjs",
47
49
  "script:paths": "node scripts/check-script-paths.mjs",
48
50
  "lockfile:platforms": "node scripts/check-lockfile-platforms.mjs",
51
+ "claims:prose": "tsx scripts/v6/check-claims-prose.ts",
52
+ "claims:prose:strict": "tsx scripts/v6/check-claims-prose.ts --strict",
53
+ "claim:budget": "tsx scripts/v6/check-claim-budget.ts",
54
+ "claim:budget:init": "tsx scripts/v6/check-claim-budget.ts --init",
55
+ "docs:ecosystem": "tsx scripts/v6/ecosystem-census.ts",
56
+ "ecosystem:census": "tsx scripts/v6/check-ecosystem.ts census",
57
+ "ecosystem:gaps": "tsx scripts/v6/check-ecosystem.ts gaps",
58
+ "docs:v6-inventory": "tsx scripts/v6/generate-inventory.ts",
59
+ "docs:capability": "tsx scripts/generate-capability-matrix.ts",
60
+ "docs:registry": "tsx scripts/v6/generate-capability.ts",
61
+ "registry:check": "tsx scripts/v6/check-capability-registry.ts",
62
+ "rules:quality:check": "tsx scripts/v6/check-rule-quality.ts",
63
+ "workflow:scripts": "node scripts/check-workflow-scripts.mjs",
64
+ "gates:check": "node scripts/check-gate-tiers.mjs",
65
+ "gates:commands": "node scripts/check-gate-commands.mjs",
66
+ "exemptions:ceilings": "node scripts/check-exemption-ceilings.mjs",
67
+ "ledger:check": "tsx scripts/version-capability-ledger.ts --check",
68
+ "ledger:write": "tsx scripts/version-capability-ledger.ts",
69
+ "config:consumers": "node scripts/check-config-consumers.mjs",
70
+ "scripts:reachable": "node scripts/check-script-reachability.mjs",
71
+ "entry-points:check": "node scripts/check-entry-points.mjs",
72
+ "qa-ir:parity": "tsx scripts/v6/check-qa-ir-parity.ts",
49
73
  "candidate:manifest:check": "node scripts/check-candidate-manifest.mjs",
50
74
  "candidate:manifest:update": "node scripts/update-candidate-manifest.mjs --write",
51
75
  "candidate:readiness": "node scripts/check-candidate-readiness.mjs",
52
76
  "candidate:decision:engineering": "node scripts/check-candidate-decision.mjs --stage engineering",
53
77
  "candidate:decision:release": "node scripts/check-candidate-decision.mjs --stage release",
54
78
  "coverage:exemptions": "node scripts/check-coverage-exemption-ledger.mjs",
79
+ "check-unimported-modules": "node scripts/check-unimported-modules.mjs",
55
80
  "test:watch": "vitest",
56
81
  "lint": "eslint . --max-warnings=0 && prettier --check .",
57
82
  "format": "prettier --write .",
58
83
  "typecheck": "tsc --noEmit && tsc --noEmit -p tsconfig.test.json && tsx scripts/typecheck-fixtures.ts",
59
- "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 && npx vitest run tests/contract/",
60
- "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 && npx vitest run tests/contract/",
61
- "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",
84
+ "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/",
85
+ "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",
86
+ "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/",
87
+ "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",
88
+ "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",
89
+ "certify:ci": "npm run certify:claims && npm run certify:integrity && npm run test:coverage:ci && npm run skip:budget && npx vitest run tests/contract/",
90
+ "docs:provenance-drift": "tsx scripts/check-provenance-artifacts.ts",
91
+ "docs:core-readiness": "tsx scripts/core-readiness.ts",
92
+ "check-fixture-quad": "tsx scripts/v6/check-fixture-quad.ts",
93
+ "holdout:split": "tsx scripts/v6/check-holdout-split.ts",
94
+ "rules:promotion:check": "tsx scripts/v6/check-promotion-throughput.mjs",
95
+ "docs:provenance-drift:fix": "npm run docs:registry && npm run docs:v6-inventory",
96
+ "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",
97
+ "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",
62
98
  "verify:isolation": "node scripts/verify-remediation-isolation.mjs",
63
99
  "golden:update": "tsx tests/golden/gen.ts",
64
100
  "detector-hashes:update": "tsx scripts/generate-detector-hashes.ts",
65
- "corpus:regression": "tsx tests/corpus/audit.ts",
66
- "corpus:regression:update": "tsx tests/corpus/audit.ts --update",
67
- "corpus:regression:refresh-provenance": "tsx tests/corpus/audit.ts --refresh-provenance",
101
+ "check-detector-hashes": "tsx scripts/check-detector-hashes.ts",
102
+ "corpus:audit": "tsx tests/corpus/audit.ts",
103
+ "corpus:apply-verdicts": "tsx scripts/lib/apply-verdicts.ts",
104
+ "corpus:verdict-context": "node scripts/verdict-context.mjs",
68
105
  "corpus:sample": "tsx scripts/corpus-sample.ts",
69
- "fp-audit:generate": "tsx scripts/generate-fp-audit-table.ts",
70
- "docs:rules": "tsx scripts/generate-rule-docs.ts",
106
+ "generate-fp-audit-table": "tsx scripts/generate-fp-audit-table.ts",
107
+ "generate-rule-docs": "tsx scripts/generate-rule-docs.ts",
71
108
  "docs:counts": "tsx scripts/generate-counts.ts",
72
109
  "docs:depth-adjudication": "tsx scripts/generate-depth-adjudication.ts",
73
110
  "false-green:index": "tsx scripts/generate-false-green-index.ts",
74
111
  "docs:capabilities-playwright": "tsx scripts/generate-playwright-capabilities.ts",
75
112
  "docs:blast-radius": "tsx scripts/generate-blast-radius.ts",
76
113
  "docs:quarantine-ledger": "tsx scripts/generate-quarantine-ledger.ts",
77
- "docs:capability": "tsx scripts/generate-capability-matrix.ts",
114
+ "docs:external-evidence": "tsx scripts/retired-external-evidence.ts",
78
115
  "docs:machine-contract": "tsx scripts/generate-machine-contract-doc.ts",
79
116
  "docs:hero": "tsx scripts/generate-readme-hero.ts",
80
117
  "docs:gauge": "tsx scripts/generate-readme-score-gauge.ts",
81
118
  "docs:readme-brand": "tsx scripts/generate-readme-brand.ts",
82
119
  "docs:formats": "tsx scripts/generate-site-formats.ts",
83
120
  "docs:forensics-samples": "tsx scripts/generate-forensics-samples.ts",
84
- "site:doctor": "npm --prefix site run doctor",
121
+ "doctor": "node dist/cli.mjs doctor && npm --prefix site run doctor",
85
122
  "site:audit": "node site/scripts/audit-live.mjs",
86
123
  "site:lighthouse": "node site/scripts/lighthouse-run.mjs",
87
124
  "docs:demo": "tsx scripts/generate-readme-demo.ts",
88
125
  "docs:video:capture": "tsx scripts/video/write-scripts.ts",
89
126
  "docs:video:glyphs": "tsx scripts/video/check-glyphs.ts",
90
- "docs:video:render": "tsx scripts/video/render.ts",
127
+ "docs:video:render": "tsx scripts/video/render.ts --publish",
91
128
  "docs:video": "npm run docs:video:capture && npm run docs:video:render",
92
- "docs:translations": "node scripts/check-readme-translations.mjs",
93
- "docs:translations:sync": "node scripts/sync-readme-release-status.mjs",
94
- "docs:translations:check": "node scripts/check-readme-translations.mjs --strict",
95
129
  "rules:census": "tsx scripts/print-rule-census.ts",
96
130
  "docs:roadmap:check": "tsx scripts/roadmap/check.ts",
97
131
  "docs:roadmap:backlinks": "tsx scripts/roadmap/check-backlinks.ts",
98
132
  "release:decision": "tsx scripts/release-decision.ts",
99
- "m26:audit": "tsx scripts/check-m26-ledgers.ts --stage readiness",
100
- "m26:integrity": "tsx scripts/check-m26-ledgers.ts --stage integrity",
101
- "m26:readiness": "npm run m26:audit && npm run candidate:readiness",
102
- "m26:github:sync": "node scripts/sync-m26-github.mjs",
103
- "m26:gaps:revalidate": "tsx scripts/revalidate-gaps.mjs",
104
- "changelog:check": "tsx scripts/check-changelog.ts",
105
- "reporter:version-check": "tsx scripts/check-reporter-version.ts",
106
- "version:surface:check": "tsx scripts/check-version-surface.ts",
107
133
  "version:surface:sync": "tsx scripts/sync-version-surface.ts",
108
- "version:check": "npm run version:surface:check && npm run reporter:version-check && npm run changelog:check",
134
+ "check-version": "node scripts/check-version.mjs",
109
135
  "release:verify": "tsx scripts/release-verify.ts",
110
- "self-scan": "node dist/cli.mjs .",
136
+ "self-scan": "node dist/cli.mjs src",
111
137
  "ci:standard": "node scripts/check-ci-standard.mjs",
112
138
  "ci-local:parity": "node scripts/check-ci-local-parity.mjs",
113
139
  "test:property": "node scripts/check-property-runs.mjs && vitest run --config vitest.property.config.ts",
@@ -115,16 +141,34 @@
115
141
  "prepare": "husky",
116
142
  "prepublishOnly": "npm run build",
117
143
  "docs:architecture": "tsx scripts/generate-readme-architecture.ts",
144
+ "docs:how-it-works": "tsx scripts/readme-how-it-works.ts",
118
145
  "brand:tokens": "tsx scripts/generate-brand-tokens.ts",
119
146
  "brand:doctor": "node scripts/brand-doctor.mjs",
147
+ "brand:pr-status": "tsx scripts/generate-pr-status-assets.ts",
120
148
  "brand:doctor:selftest": "node scripts/brand-doctor-selftest.mjs",
121
149
  "brand:fonts": "tsx scripts/vendor-fonts.ts",
122
150
  "brand:fonts:check": "tsx scripts/vendor-fonts.ts --check",
123
151
  "brand:marks": "tsx scripts/generate-brand-marks.ts",
124
152
  "brand:marks:update": "node scripts/update-mark-hashes.mjs",
125
- "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",
153
+ "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",
126
154
  "docs:refresh": "node scripts/refresh-generated.mjs",
127
- "docs:refresh:check": "node scripts/refresh-generated.mjs --check"
155
+ "docs:refresh:check": "node scripts/refresh-generated.mjs --check",
156
+ "docs:staleness": "node scripts/check-generated-clean.mjs",
157
+ "skip:budget": "node scripts/check-skip-budget.mjs",
158
+ "skip:budget:init": "node scripts/skip-budget-init.mjs",
159
+ "verify-build-determinism": "node scripts/verify-build-determinism.mjs",
160
+ "check-cli-contract": "node scripts/check-cli-contract.mjs",
161
+ "generate-carve-manifest": "node scripts/v6/carve-manifest.mjs",
162
+ "check-carve-manifest": "node scripts/v6/carve-manifest.mjs --check",
163
+ "fix": "node dist/cli.mjs fix",
164
+ "generate-concepts": "tsx scripts/generate-concepts.ts --write",
165
+ "check-concepts": "tsx scripts/generate-concepts.ts",
166
+ "check-certification-surface": "node scripts/check-certification-surface.mjs",
167
+ "docs:certification-matrix": "tsx scripts/generate-certification-matrix.ts",
168
+ "docs:certification-matrix:check": "tsx scripts/generate-certification-matrix.ts --check",
169
+ "docs:certification-gaps": "tsx scripts/generate-certification-gaps.ts",
170
+ "docs:certification-gaps:check": "tsx scripts/generate-certification-gaps.ts --check",
171
+ "conformity": "tsx scripts/check-conformity.ts"
128
172
  },
129
173
  "keywords": [
130
174
  "qa",