mjolnir-qa 0.5.18 → 0.5.20

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/CHANGELOG.md CHANGED
@@ -9,6 +9,18 @@ Rule behavior changes (new rules, FP-rate changes against the corpus,
9
9
  severity changes) are first-class entries here — rule IDs are immutable
10
10
  once shipped, so this file is the record of what changed between versions.
11
11
 
12
+ ## [0.5.20] — 2026-09-07
13
+
14
+ ### Changes since 0.5.19
15
+
16
+ - Doctor status model + --json contract + certification CI gate (Phase 5, G2/G5/G6) (#55)
17
+
18
+ ## [0.5.19] — 2026-09-07
19
+
20
+ ### Changes since 0.5.18
21
+
22
+ - Detector revision integrity: manifest, doctor check, CI WARN base-diff (D8v2, G4) (#54)
23
+
12
24
  ## [0.5.18] — 2026-09-07
13
25
 
14
26
  ### Changes since 0.5.17
package/dist/cli.d.mts CHANGED
@@ -687,6 +687,26 @@ declare function isValidFindingRecord$1(f: unknown): f is Omit<Finding, "ruleId"
687
687
  */
688
688
  declare function runScan$1(args: CliArgs, hooks?: ScanHooks): Promise<ScanResult>;
689
689
  //#endregion
690
+ //#region src/cli-io.d.ts
691
+ /**
692
+ * Shared process IO sinks (certification-audit Phase 5, G6): the variadic
693
+ * console sinks and the internal-error reporter lived in cli.ts, which
694
+ * made every command module that wanted honest IO depend on the dispatch
695
+ * table (or duplicate it). Extracted so command modules (doctor-run et
696
+ * al.) and cli.ts share ONE implementation.
697
+ */
698
+ /** The variadic IO signature shared by all command handlers. */
699
+ type Output = (...parts: unknown[]) => void;
700
+ declare const out: Output;
701
+ declare const err: Output;
702
+ declare function internalErrorMessage(err: unknown, emit: (s: string) => void, debug: boolean): void;
703
+ //#endregion
704
+ //#region src/commands/doctor-run.d.ts
705
+ declare function runDoctorCommand(argv: string[], io?: {
706
+ out: Output;
707
+ err: Output;
708
+ }): number;
709
+ //#endregion
690
710
  //#region src/cli.d.ts
691
711
  declare const runScan: typeof runScan$1, buildUniversalRules: typeof buildUniversalRules$1, fallbackWorkspace: typeof fallbackWorkspace$1, pathMatchesGlob: typeof pathMatchesGlob$1, isValidFindingRecord: typeof isValidFindingRecord$1, discoverRuntimeReport: typeof discoverRuntimeReport$1, KNOWN_RULE_IDS: ReadonlySet<string>, OVERLAP_META_BY_RULE_ID: ReadonlyMap<string, OverlapMeta>, EVIDENCE_OVERRIDES: ReadonlyMap<string, string>, SUITE_INVALIDATING_RULE_IDS: ReadonlySet<string>;
692
712
  /**
@@ -699,7 +719,7 @@ declare const runScan: typeof runScan$1, buildUniversalRules: typeof buildUniver
699
719
  * `scripts/sync-sarif-version.cjs` on release and guarded by
700
720
  * `tests/version-consistency.spec.ts` locally.
701
721
  */
702
- declare const CLI_VERSION = "0.5.18";
722
+ declare const CLI_VERSION = "0.5.20";
703
723
  /** A usage-error detail: the offending token, when one exists. */
704
724
  interface UsageErrorDetail {
705
725
  /** The unknown flag or rejected value (e.g. `--nope`, `loud`). */
@@ -718,9 +738,6 @@ declare function nearestFlags(flag: string, max?: number): string[];
718
738
  * to stderr; findings/usage stay on their documented streams.
719
739
  */
720
740
  declare function usageErrorMessage(detail: UsageErrorDetail): string;
721
- type Output = (...parts: unknown[]) => void;
722
- declare const out: Output;
723
- declare const err: Output;
724
741
  /** Testable `ci install` handler. Returns the process exit code. */
725
742
  declare function runCiInstall(argv: string[], io?: {
726
743
  out: Output;
@@ -741,11 +758,6 @@ declare function runDoctorPlaywright(argv: string[], io?: {
741
758
  out: Output;
742
759
  err?: Output;
743
760
  }): Promise<number>;
744
- /** Testable `doctor` handler — self-audit of Mjölnir's own rule base. */
745
- declare function runDoctorCommand(argv: string[], io?: {
746
- out: Output;
747
- err: Output;
748
- }): number;
749
761
  /** Testable `rules` handler — rule catalog with Trust Metadata. */
750
762
  declare function runRulesCommand(argv: string[], io?: {
751
763
  out: Output;
@@ -852,15 +864,6 @@ declare function runHelpCommand(argv: string[], io?: {
852
864
  out: Output;
853
865
  err: Output;
854
866
  }): number;
855
- /**
856
- * Friendly exit-20 path (plan M2): the crash says it's Mjölnir's bug,
857
- * not the user's repo, carries the underlying message for a report, and
858
- * prints the stack ONLY when `debug` is set (uniform across
859
- * subcommands — they don't parse scan flags). Tests pin
860
- * /internal error/i. Exported so the --debug stack arm is directly
861
- * spec-coverable (spawning a real crash under --debug would be flaky).
862
- */
863
- declare function internalErrorMessage(err: unknown, emit: (s: string) => void, debug: boolean): void;
864
867
  declare function isEntryPoint(): boolean;
865
868
  //#endregion
866
- export { CLI_VERSION, type CliArgs, EVIDENCE_OVERRIDES, KNOWN_RULE_IDS, OVERLAP_META_BY_RULE_ID, Output, SUITE_INVALIDATING_RULE_IDS, type ScanHooks, UsageErrorDetail, buildUniversalRules, discoverRuntimeReport, err, exitForFindings, fallbackWorkspace, internalErrorMessage, isEntryPoint, isValidFindingRecord, levenshtein, main, nearestFlags, out, parseArgs, pathMatchesGlob, runBadgeCommand, runBaselineCommand, runCiInstall, runCreateRuleCommand, runDebtCommand, runDiffCommand, runDoctorCommand, runDoctorPlaywright, runExplainCommand, runFixCommand, runForensicsCommand, runHandoverCommand, runHelpCommand, runImpactCommand, runInitCommand, runPrCommentCommand, runPwReportCommand, runRulesCommand, runScan, runScanCommand, runStatsCommand, runSuppressions, runTriageCommand, usageErrorMessage };
869
+ export { CLI_VERSION, type CliArgs, EVIDENCE_OVERRIDES, KNOWN_RULE_IDS, OVERLAP_META_BY_RULE_ID, type Output, SUITE_INVALIDATING_RULE_IDS, type ScanHooks, UsageErrorDetail, buildUniversalRules, discoverRuntimeReport, err, exitForFindings, fallbackWorkspace, internalErrorMessage, isEntryPoint, isValidFindingRecord, levenshtein, main, nearestFlags, out, parseArgs, pathMatchesGlob, runBadgeCommand, runBaselineCommand, runCiInstall, runCreateRuleCommand, runDebtCommand, runDiffCommand, runDoctorCommand, runDoctorPlaywright, runExplainCommand, runFixCommand, runForensicsCommand, runHandoverCommand, runHelpCommand, runImpactCommand, runInitCommand, runPrCommentCommand, runPwReportCommand, runRulesCommand, runScan, runScanCommand, runStatsCommand, runSuppressions, runTriageCommand, usageErrorMessage };