@vyuhlabs/dxkit 2.21.2 → 2.23.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 (114) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/dist/analyzers/correctness/run.d.ts +79 -0
  3. package/dist/analyzers/correctness/run.d.ts.map +1 -0
  4. package/dist/analyzers/correctness/run.js +173 -0
  5. package/dist/analyzers/correctness/run.js.map +1 -0
  6. package/dist/analyzers/correctness/surface-run.d.ts +73 -0
  7. package/dist/analyzers/correctness/surface-run.d.ts.map +1 -0
  8. package/dist/analyzers/correctness/surface-run.js +142 -0
  9. package/dist/analyzers/correctness/surface-run.js.map +1 -0
  10. package/dist/analyzers/correctness/surface.d.ts +69 -0
  11. package/dist/analyzers/correctness/surface.d.ts.map +1 -0
  12. package/dist/analyzers/correctness/surface.js +281 -0
  13. package/dist/analyzers/correctness/surface.js.map +1 -0
  14. package/dist/analyzers/flow/config.d.ts +10 -0
  15. package/dist/analyzers/flow/config.d.ts.map +1 -1
  16. package/dist/analyzers/flow/config.js +29 -0
  17. package/dist/analyzers/flow/config.js.map +1 -1
  18. package/dist/analyzers/flow/contract.d.ts +12 -0
  19. package/dist/analyzers/flow/contract.d.ts.map +1 -1
  20. package/dist/analyzers/flow/contract.js +20 -0
  21. package/dist/analyzers/flow/contract.js.map +1 -1
  22. package/dist/analyzers/flow/diagnose.d.ts +62 -0
  23. package/dist/analyzers/flow/diagnose.d.ts.map +1 -0
  24. package/dist/analyzers/flow/diagnose.js +120 -0
  25. package/dist/analyzers/flow/diagnose.js.map +1 -0
  26. package/dist/analyzers/flow/publish.d.ts +47 -0
  27. package/dist/analyzers/flow/publish.d.ts.map +1 -0
  28. package/dist/analyzers/flow/publish.js +146 -0
  29. package/dist/analyzers/flow/publish.js.map +1 -0
  30. package/dist/analyzers/flow/setup.d.ts +71 -0
  31. package/dist/analyzers/flow/setup.d.ts.map +1 -0
  32. package/dist/analyzers/flow/setup.js +136 -0
  33. package/dist/analyzers/flow/setup.js.map +1 -0
  34. package/dist/cli.d.ts.map +1 -1
  35. package/dist/cli.js +129 -6
  36. package/dist/cli.js.map +1 -1
  37. package/dist/doctor.d.ts +7 -0
  38. package/dist/doctor.d.ts.map +1 -1
  39. package/dist/doctor.js +38 -1
  40. package/dist/doctor.js.map +1 -1
  41. package/dist/flow-cli.d.ts +10 -0
  42. package/dist/flow-cli.d.ts.map +1 -1
  43. package/dist/flow-cli.js +46 -0
  44. package/dist/flow-cli.js.map +1 -1
  45. package/dist/generator.d.ts.map +1 -1
  46. package/dist/generator.js +6 -0
  47. package/dist/generator.js.map +1 -1
  48. package/dist/languages/capabilities/correctness.d.ts +54 -0
  49. package/dist/languages/capabilities/correctness.d.ts.map +1 -0
  50. package/dist/languages/capabilities/correctness.js +20 -0
  51. package/dist/languages/capabilities/correctness.js.map +1 -0
  52. package/dist/languages/csharp.d.ts.map +1 -1
  53. package/dist/languages/csharp.js +84 -0
  54. package/dist/languages/csharp.js.map +1 -1
  55. package/dist/languages/go.d.ts.map +1 -1
  56. package/dist/languages/go.js +51 -0
  57. package/dist/languages/go.js.map +1 -1
  58. package/dist/languages/index.d.ts +11 -0
  59. package/dist/languages/index.d.ts.map +1 -1
  60. package/dist/languages/index.js +12 -0
  61. package/dist/languages/index.js.map +1 -1
  62. package/dist/languages/java.d.ts.map +1 -1
  63. package/dist/languages/java.js +12 -0
  64. package/dist/languages/java.js.map +1 -1
  65. package/dist/languages/jvm-build.d.ts +54 -0
  66. package/dist/languages/jvm-build.d.ts.map +1 -0
  67. package/dist/languages/jvm-build.js +245 -0
  68. package/dist/languages/jvm-build.js.map +1 -0
  69. package/dist/languages/kotlin.d.ts.map +1 -1
  70. package/dist/languages/kotlin.js +13 -0
  71. package/dist/languages/kotlin.js.map +1 -1
  72. package/dist/languages/python.d.ts.map +1 -1
  73. package/dist/languages/python.js +78 -0
  74. package/dist/languages/python.js.map +1 -1
  75. package/dist/languages/ruby.d.ts.map +1 -1
  76. package/dist/languages/ruby.js +64 -0
  77. package/dist/languages/ruby.js.map +1 -1
  78. package/dist/languages/rust.d.ts.map +1 -1
  79. package/dist/languages/rust.js +110 -0
  80. package/dist/languages/rust.js.map +1 -1
  81. package/dist/languages/types.d.ts +20 -0
  82. package/dist/languages/types.d.ts.map +1 -1
  83. package/dist/languages/typescript.d.ts.map +1 -1
  84. package/dist/languages/typescript.js +109 -0
  85. package/dist/languages/typescript.js.map +1 -1
  86. package/dist/loop/floor-gate.d.ts +54 -0
  87. package/dist/loop/floor-gate.d.ts.map +1 -0
  88. package/dist/loop/floor-gate.js +157 -0
  89. package/dist/loop/floor-gate.js.map +1 -0
  90. package/dist/loop/floor-state.d.ts +66 -0
  91. package/dist/loop/floor-state.d.ts.map +1 -0
  92. package/dist/loop/floor-state.js +138 -0
  93. package/dist/loop/floor-state.js.map +1 -0
  94. package/dist/loop/stop-gate.d.ts +2 -1
  95. package/dist/loop/stop-gate.d.ts.map +1 -1
  96. package/dist/loop/stop-gate.js +44 -6
  97. package/dist/loop/stop-gate.js.map +1 -1
  98. package/dist/prompts.d.ts +15 -0
  99. package/dist/prompts.d.ts.map +1 -1
  100. package/dist/prompts.js +66 -0
  101. package/dist/prompts.js.map +1 -1
  102. package/dist/workspace.d.ts +52 -0
  103. package/dist/workspace.d.ts.map +1 -0
  104. package/dist/workspace.js +130 -0
  105. package/dist/workspace.js.map +1 -0
  106. package/package.json +1 -1
  107. package/templates/.claude/skills/dxkit-config/SKILL.md +14 -0
  108. package/templates/.claude/skills/dxkit-fix/SKILL.md +2 -0
  109. package/templates/.claude/skills/dxkit-flow/SKILL.md +83 -0
  110. package/templates/.claude/skills/dxkit-hooks/SKILL.md +1 -1
  111. package/templates/.claude/skills/dxkit-init/SKILL.md +5 -0
  112. package/templates/.claude/skills/dxkit-onboard/SKILL.md +2 -0
  113. package/templates/.githooks/pre-push +10 -0
  114. package/templates/.github/workflows/dxkit-guardrails.yml +17 -0
@@ -755,6 +755,114 @@ const tsCoverageProvider = {
755
755
  return runTsTestsWithCoverage(cwd);
756
756
  },
757
757
  };
758
+ /**
759
+ * Is a project-local CLI (`tsc`, `vitest`, `jest`) actually installed?
760
+ *
761
+ * The correctness floor gates every command on the local `node_modules/.bin`
762
+ * shim EXISTING, not merely on the package appearing in `package.json`. A dep
763
+ * that is declared but not installed (no `npm install` yet) returns false, so
764
+ * the floor SKIPS the check — fail-open. Emitting `npx --no-install tsc` for a
765
+ * missing binary would instead exit non-zero and fail-CLOSED, blocking a
766
+ * developer who simply hasn't installed dependencies locally. CI, where deps
767
+ * are installed, is the backstop for that case. The `.cmd` variant is npm's
768
+ * Windows shim.
769
+ */
770
+ function hasLocalBin(cwd, bin) {
771
+ return ((0, runner_1.fileExists)(cwd, path.join('node_modules', '.bin', bin)) ||
772
+ (0, runner_1.fileExists)(cwd, path.join('node_modules', '.bin', `${bin}.cmd`)));
773
+ }
774
+ /** The installed TS/JS test runner, vitest preferred then jest, or null. */
775
+ function tsTestRunner(cwd) {
776
+ if (hasLocalBin(cwd, 'vitest'))
777
+ return 'vitest';
778
+ if (hasLocalBin(cwd, 'jest'))
779
+ return 'jest';
780
+ return null;
781
+ }
782
+ /**
783
+ * The project's own typecheck npm script, if it declares one — the two
784
+ * dominant conventions. Preferred over a bare `tsc` because it carries the
785
+ * project's exact flags and TypeScript project-references (`tsc -b`), the same
786
+ * command the project's CI runs. Mirrors how the coverage provider prefers a
787
+ * declared `test:coverage` script over inferring the runner.
788
+ */
789
+ function tsTypecheckScript(cwd) {
790
+ try {
791
+ const pkg = JSON.parse(fs.readFileSync(path.join(cwd, 'package.json'), 'utf-8'));
792
+ const scripts = pkg.scripts ?? {};
793
+ for (const name of ['typecheck', 'type-check']) {
794
+ if (typeof scripts[name] === 'string')
795
+ return name;
796
+ }
797
+ return null;
798
+ }
799
+ catch {
800
+ return null;
801
+ }
802
+ }
803
+ /**
804
+ * The TS/JS correctness floor. `npx --no-install <tool>` is the portable
805
+ * invocation — npx resolves the project-local `.bin` shim cross-platform (a
806
+ * bare `tsc` is not on PATH, and a raw `.bin/tsc` symlink is not Windows-safe),
807
+ * and `--no-install` guarantees it never reaches the network.
808
+ */
809
+ const tsCorrectnessProvider = {
810
+ syntaxCheck(ctx) {
811
+ // Prefer the project's own typecheck script — it carries their exact
812
+ // compiler flags and project-references, the same command their CI runs.
813
+ const script = tsTypecheckScript(ctx.cwd);
814
+ if (script !== null) {
815
+ return { label: 'typecheck', bin: 'npm', args: ['run', script] };
816
+ }
817
+ // Otherwise, only a project that opts into TypeScript (has a tsconfig) with
818
+ // the compiler installed gets a typecheck floor. A pure-JS repo has no tsc
819
+ // stage — its syntax errors surface when the test runner loads the file.
820
+ // `--skipLibCheck` keeps errors INSIDE third-party / generated `.d.ts`
821
+ // files (which the developer cannot fix and which are not about their
822
+ // change) from spuriously blocking; it never suppresses an error in the
823
+ // developer's own source. A liveness floor asks "does my code compile",
824
+ // not "is every dependency's type declaration internally consistent".
825
+ if (!(0, runner_1.fileExists)(ctx.cwd, 'tsconfig.json'))
826
+ return null;
827
+ if (!hasLocalBin(ctx.cwd, 'tsc'))
828
+ return null;
829
+ return {
830
+ label: 'typecheck',
831
+ bin: 'npx',
832
+ args: ['--no-install', 'tsc', '--noEmit', '--skipLibCheck'],
833
+ };
834
+ },
835
+ affectedTests(ctx) {
836
+ const runner = tsTestRunner(ctx.cwd);
837
+ if (runner === null)
838
+ return null; // no vitest/jest installed → nothing to run
839
+ // On the fast (affected) surface run only the tests the changed source
840
+ // files reach — native impact-selection both runners support. Fall back to
841
+ // the full suite at `full` scope, or when the diff was undeterminable
842
+ // (empty changedFiles → treat as full, per the contract). A non-empty diff
843
+ // that touched no TS/JS file (docs-only) skips — nothing to run.
844
+ const undeterminable = ctx.changedFiles.length === 0;
845
+ const changed = ctx.changedFiles.filter((f) => TS_JS_EXT.some((e) => f.endsWith(e)));
846
+ if (ctx.scope === 'affected' && !undeterminable && changed.length === 0)
847
+ return null;
848
+ const affected = ctx.scope === 'affected' && changed.length > 0;
849
+ // `--passWithNoTests` keeps "no related test" a PASS, not a failure — a
850
+ // source change with no covering test is a coverage concern (the finding
851
+ // gate's job), not a liveness failure.
852
+ if (runner === 'vitest') {
853
+ const args = affected
854
+ ? ['--no-install', 'vitest', 'related', '--run', '--passWithNoTests', ...changed]
855
+ : ['--no-install', 'vitest', 'run', '--passWithNoTests'];
856
+ return { label: 'affected-tests', bin: 'npx', args };
857
+ }
858
+ // jest — `--findRelatedTests` consumes every following positional as its
859
+ // file list, so it stays last with the changed files as its arguments.
860
+ const args = affected
861
+ ? ['--no-install', 'jest', '--passWithNoTests', '--findRelatedTests', ...changed]
862
+ : ['--no-install', 'jest', '--passWithNoTests'];
863
+ return { label: 'affected-tests', bin: 'npx', args };
864
+ },
865
+ };
758
866
  /**
759
867
  * Enumerate TS/JS source files under cwd and pre-compute the pack's
760
868
  * per-file imports (raw specifiers) and resolved edges. Uses the
@@ -1168,6 +1276,7 @@ exports.typescript = {
1168
1276
  // CodeQL's `javascript` extractor covers both JS and TS in one DB,
1169
1277
  // no build needed. Snyk Code supports JS/TS.
1170
1278
  deepSast: { codeqlLanguage: 'javascript', snykCode: true },
1279
+ correctness: tsCorrectnessProvider,
1171
1280
  capabilities: {
1172
1281
  depVulns: tsDepVulnsProvider,
1173
1282
  lint: tsLintProvider,
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/languages/typescript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../src/languages/typescript.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * The loop's correctness-floor integration — how a Stop-gate runs the liveness
3
+ * floor and diffs it against the loop's entry snapshot. Split out of
4
+ * `stop-gate.ts` so that file stays focused on the guardrail/ledger flow (and
5
+ * under the large-file threshold).
6
+ *
7
+ * The gate blocks only on failures that are NET-NEW versus the entry snapshot
8
+ * captured at loop activation, so a pre-existing compile error / failing test
9
+ * never blocks (that would punish the agent for debt it did not introduce). The
10
+ * pre-push and CI surfaces have their own runner (`analyzers/correctness/
11
+ * surface-run.ts`); this module is the loop-stop surface alone.
12
+ */
13
+ import { type CorrectnessCheckResult, type CorrectnessFloorResult } from '../analyzers/correctness/run';
14
+ import { type CheckStatus } from './ledger';
15
+ /**
16
+ * The correctness-floor outcome for one Stop: the full run plus the failures
17
+ * that are net-new vs the loop's entry snapshot. `runFloor` (injected into
18
+ * `computeStopGate`) returns this, or null when no active pack provides a
19
+ * correctness floor. The gate blocks only on `netNew` — a pre-existing failure
20
+ * recorded in the entry snapshot never blocks.
21
+ */
22
+ export interface FloorGateOutcome {
23
+ readonly result: CorrectnessFloorResult;
24
+ readonly netNew: readonly CorrectnessCheckResult[];
25
+ }
26
+ /** Derive the ledger's typecheck / tests status from a floor run. A failing
27
+ * check dominates; else a check that ran is `pass`; else `not_configured`. */
28
+ export declare function floorLedgerStatuses(result: CorrectnessFloorResult): {
29
+ typecheck_status: CheckStatus;
30
+ tests_status: CheckStatus;
31
+ };
32
+ /**
33
+ * The repair message shown to the model when the correctness floor blocks.
34
+ * Lists each net-new failing check with the captured output tail so the model
35
+ * can fix it, and is explicit that the fix is the code, not the snapshot.
36
+ */
37
+ export declare function buildFloorRepairMessage(netNew: readonly CorrectnessCheckResult[]): string;
38
+ /**
39
+ * The production correctness-floor gate for one Stop: resolve the active packs,
40
+ * scope to the files changed vs the loop base, run the AFFECTED floor, and diff
41
+ * it against the loop's entry snapshot. Returns null when no active pack
42
+ * provides a floor (nothing to run) or when nothing actually executed. Best-
43
+ * effort — any error returns null so the floor can never break the gate; the
44
+ * finding guardrail still runs regardless.
45
+ */
46
+ export declare function buildFloorGate(repoDir: string): FloorGateOutcome | null;
47
+ /**
48
+ * Capture the loop's entry snapshot — the FULL floor on the current (pristine)
49
+ * tree. Called at loop activation, before the agent has changed anything, so
50
+ * the recorded failing set is genuinely pre-existing. Returns the run for
51
+ * reporting, or null when no active pack provides a floor. Best-effort write.
52
+ */
53
+ export declare function captureFloorSnapshot(repoDir: string): CorrectnessFloorResult | null;
54
+ //# sourceMappingURL=floor-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floor-gate.d.ts","sourceRoot":"","sources":["../../src/loop/floor-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC5B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACpD;AAED;+EAC+E;AAC/E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG;IACnE,gBAAgB,EAAE,WAAW,CAAC;IAC9B,YAAY,EAAE,WAAW,CAAC;CAC3B,CAWA;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,sBAAsB,EAAE,GAAG,MAAM,CAmBzF;AAqCD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CA6BvE;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CAWnF"}
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ /**
3
+ * The loop's correctness-floor integration — how a Stop-gate runs the liveness
4
+ * floor and diffs it against the loop's entry snapshot. Split out of
5
+ * `stop-gate.ts` so that file stays focused on the guardrail/ledger flow (and
6
+ * under the large-file threshold).
7
+ *
8
+ * The gate blocks only on failures that are NET-NEW versus the entry snapshot
9
+ * captured at loop activation, so a pre-existing compile error / failing test
10
+ * never blocks (that would punish the agent for debt it did not introduce). The
11
+ * pre-push and CI surfaces have their own runner (`analyzers/correctness/
12
+ * surface-run.ts`); this module is the loop-stop surface alone.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.floorLedgerStatuses = floorLedgerStatuses;
16
+ exports.buildFloorRepairMessage = buildFloorRepairMessage;
17
+ exports.buildFloorGate = buildFloorGate;
18
+ exports.captureFloorSnapshot = captureFloorSnapshot;
19
+ const child_process_1 = require("child_process");
20
+ const languages_1 = require("../languages");
21
+ const changed_files_1 = require("../baseline/changed-files");
22
+ const run_1 = require("../analyzers/correctness/run");
23
+ const surface_1 = require("../analyzers/correctness/surface");
24
+ const floor_state_1 = require("./floor-state");
25
+ /** Derive the ledger's typecheck / tests status from a floor run. A failing
26
+ * check dominates; else a check that ran is `pass`; else `not_configured`. */
27
+ function floorLedgerStatuses(result) {
28
+ const statusFor = (match) => {
29
+ const relevant = result.checks.filter((c) => match(c.label));
30
+ if (relevant.some((c) => c.status === 'fail'))
31
+ return 'fail';
32
+ if (relevant.some((c) => c.status === 'pass'))
33
+ return 'pass';
34
+ return 'not_configured';
35
+ };
36
+ return {
37
+ typecheck_status: statusFor((l) => /typecheck|compile|build|syntax/.test(l)),
38
+ tests_status: statusFor((l) => /test/.test(l)),
39
+ };
40
+ }
41
+ /**
42
+ * The repair message shown to the model when the correctness floor blocks.
43
+ * Lists each net-new failing check with the captured output tail so the model
44
+ * can fix it, and is explicit that the fix is the code, not the snapshot.
45
+ */
46
+ function buildFloorRepairMessage(netNew) {
47
+ const lines = [];
48
+ lines.push(`dxkit blocked completion because this change introduces ${netNew.length} net-new ` +
49
+ `correctness failure${netNew.length === 1 ? '' : 's'} (code that does not compile or ` +
50
+ `whose tests fail).`);
51
+ lines.push('');
52
+ lines.push('Do not refresh the floor snapshot.');
53
+ lines.push('Fix the failing check(s) below, then try to stop again.');
54
+ lines.push('');
55
+ netNew.forEach((c, i) => {
56
+ lines.push(`${i + 1}. ${c.pack} ${c.label} (${c.bin})`);
57
+ if (c.output) {
58
+ const tail = c.output.split('\n').slice(-12).join('\n');
59
+ lines.push(tail.replace(/^/gm, ' '));
60
+ }
61
+ });
62
+ return lines.join('\n');
63
+ }
64
+ /** Per-check wall-clock budget for the floor on the fast surface (ms).
65
+ * DXKIT_FLOOR_TIMEOUT_MS overrides; default 120s. A non-positive value
66
+ * disables the timeout (unbounded, e.g. to match CI locally). */
67
+ function floorTimeoutMs() {
68
+ const raw = process.env.DXKIT_FLOOR_TIMEOUT_MS;
69
+ if (raw !== undefined) {
70
+ const n = Number(raw);
71
+ if (Number.isFinite(n))
72
+ return n;
73
+ }
74
+ return 120_000;
75
+ }
76
+ /** Best-effort git stdout for a fixed arg vector; '' on any failure. */
77
+ function gitOut(repoDir, args) {
78
+ try {
79
+ return (0, child_process_1.execFileSync)('git', args, {
80
+ cwd: repoDir,
81
+ encoding: 'utf8',
82
+ stdio: ['ignore', 'pipe', 'ignore'],
83
+ }).trim();
84
+ }
85
+ catch {
86
+ return '';
87
+ }
88
+ }
89
+ /** The comparison base for the floor's affected scope — the merge-base with
90
+ * `origin/main` (the guardrail's default base), falling back to the ref tip,
91
+ * then '' (→ full scope). */
92
+ function resolveFloorBase(repoDir) {
93
+ return (gitOut(repoDir, ['merge-base', 'HEAD', 'origin/main']) ||
94
+ gitOut(repoDir, ['rev-parse', 'origin/main']));
95
+ }
96
+ /**
97
+ * The production correctness-floor gate for one Stop: resolve the active packs,
98
+ * scope to the files changed vs the loop base, run the AFFECTED floor, and diff
99
+ * it against the loop's entry snapshot. Returns null when no active pack
100
+ * provides a floor (nothing to run) or when nothing actually executed. Best-
101
+ * effort — any error returns null so the floor can never break the gate; the
102
+ * finding guardrail still runs regardless.
103
+ */
104
+ function buildFloorGate(repoDir) {
105
+ try {
106
+ // The loop Stop-gate is default-on, but an explicit flag / DXKIT_FLOOR_LOOP /
107
+ // policy can disable the floor here — resolve through the one canonical
108
+ // surface resolver so this default never drifts from the other surfaces.
109
+ if (!(0, surface_1.resolveCorrectnessSurface)({ surface: 'loop-stop', cwd: repoDir }).enabled)
110
+ return null;
111
+ const packs = (0, languages_1.detectActiveLanguages)(repoDir).filter((p) => p.correctness);
112
+ if (packs.length === 0)
113
+ return null;
114
+ const base = resolveFloorBase(repoDir);
115
+ // Empty changedFiles (no base, or diff undeterminable) → the packs treat
116
+ // the scope as full, per the CorrectnessContext contract.
117
+ const changed = base ? ((0, changed_files_1.computeChangedFiles)(repoDir, base) ?? []) : [];
118
+ const result = (0, run_1.runCorrectnessFloor)({
119
+ cwd: repoDir,
120
+ changedFiles: changed,
121
+ scope: 'affected',
122
+ // Bound each check on the fast surface: a change to a widely-imported
123
+ // "hub" file can make `related` select most of the suite, and a Stop hook
124
+ // must not hang for minutes. A command that exceeds the budget is a
125
+ // fail-OPEN skip (CI is the backstop), never a block. Tune with
126
+ // DXKIT_FLOOR_TIMEOUT_MS; default 120s per check.
127
+ timeoutMs: floorTimeoutMs(),
128
+ packs,
129
+ });
130
+ if (!result.ran)
131
+ return null; // every check skipped (toolchain absent) → no-op
132
+ return { result, netNew: (0, floor_state_1.netNewFloorFailures)(result, (0, floor_state_1.readFloorBaseline)(repoDir)) };
133
+ }
134
+ catch {
135
+ return null; // fail-open: the floor must never break the gate
136
+ }
137
+ }
138
+ /**
139
+ * Capture the loop's entry snapshot — the FULL floor on the current (pristine)
140
+ * tree. Called at loop activation, before the agent has changed anything, so
141
+ * the recorded failing set is genuinely pre-existing. Returns the run for
142
+ * reporting, or null when no active pack provides a floor. Best-effort write.
143
+ */
144
+ function captureFloorSnapshot(repoDir) {
145
+ const packs = (0, languages_1.detectActiveLanguages)(repoDir).filter((p) => p.correctness);
146
+ if (packs.length === 0)
147
+ return null;
148
+ const result = (0, run_1.runCorrectnessFloor)({
149
+ cwd: repoDir,
150
+ changedFiles: [],
151
+ scope: 'full',
152
+ packs,
153
+ });
154
+ (0, floor_state_1.writeFloorBaseline)(repoDir, result, gitOut(repoDir, ['rev-parse', 'HEAD']) || null);
155
+ return result;
156
+ }
157
+ //# sourceMappingURL=floor-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floor-gate.js","sourceRoot":"","sources":["../../src/loop/floor-gate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * The correctness-floor state ledger for the loop Stop-gate.
3
+ *
4
+ * The floor is diff-scoped like the finding gate — a PRE-EXISTING compile
5
+ * error or failing test must not block the loop — but it is deliberately NOT a
6
+ * baseline artifact: no fingerprint, no identity scheme, no version to migrate.
7
+ * A failing test is a pass/fail signal, not a grandfathered finding.
8
+ *
9
+ * Instead we capture the ALREADY-BROKEN set ONCE, at loop activation, when the
10
+ * working tree is still the pristine base the agent has not yet touched, and
11
+ * store it in `.dxkit/loop/` (gitignored, transient). Each Stop re-runs the
12
+ * AFFECTED floor and blocks only on failures ABSENT from that entry snapshot
13
+ * (net-new). This is testmon's insight — persist last-known state rather than
14
+ * recompute it from a git ref — scoped to one loop, so a Stop never pays a
15
+ * `git worktree add` + `npm install` + full re-run (minutes) to learn what was
16
+ * already broken.
17
+ *
18
+ * Granularity: a check's identity is `pack:label` (e.g. `typescript:typecheck`,
19
+ * `typescript:affected-tests`). This is EXACT in the dominant case — a green
20
+ * base captures an empty failing set, so every failure at a later Stop is
21
+ * net-new and blocks. It degrades gracefully when the base is ALREADY red in a
22
+ * check: additional net-new failures piled onto that same already-red check are
23
+ * not distinguished from the pre-existing one (the check stays reported, not
24
+ * silently cleared). Per-test attribution is a future refinement; check-level
25
+ * is the honest v1 because you do not normally start a loop on a red branch —
26
+ * the snapshot exists for the exception, and there it is conservative about the
27
+ * pre-existing failure rather than about the new one.
28
+ */
29
+ import type { CorrectnessCheckResult, CorrectnessFloorResult } from '../analyzers/correctness/run';
30
+ /** File under `.dxkit/loop/` holding the entry snapshot. */
31
+ export declare const FLOOR_BASELINE_FILE = "floor-baseline.json";
32
+ /** One check's outcome as recorded in the entry snapshot. Only `pass` / `fail`
33
+ * are stored — a skipped check (tool unavailable / nothing to run) carries no
34
+ * liveness signal and is omitted so it can never mask a later real failure. */
35
+ export interface FloorCheckState {
36
+ readonly pack: string;
37
+ readonly label: string;
38
+ readonly status: 'pass' | 'fail';
39
+ }
40
+ /** The entry snapshot: what the floor looked like on the pristine base. */
41
+ export interface FloorBaseline {
42
+ /** HEAD at capture time, for staleness detection / auditing. Null when the
43
+ * repo had no commit (the floor still works; the field is informational). */
44
+ readonly capturedAtCommit: string | null;
45
+ readonly checks: readonly FloorCheckState[];
46
+ }
47
+ /** Stable per-check identity used to diff a Stop against the entry snapshot. */
48
+ export declare function checkKey(pack: string, label: string): string;
49
+ /**
50
+ * Persist the entry snapshot from a floor run on the pristine base. Best-effort
51
+ * — a write failure leaves no snapshot, which the diff below treats as "assume
52
+ * the base was green" (every later failure is then net-new, the safe default).
53
+ */
54
+ export declare function writeFloorBaseline(cwd: string, result: CorrectnessFloorResult, capturedAtCommit: string | null): void;
55
+ /** Read the entry snapshot; null when absent or malformed (→ green base). */
56
+ export declare function readFloorBaseline(cwd: string): FloorBaseline | null;
57
+ /** Delete the entry snapshot (loop teardown). Best-effort. */
58
+ export declare function clearFloorBaseline(cwd: string): void;
59
+ /**
60
+ * The net-new failures at this Stop: checks failing now that were NOT already
61
+ * failing in the entry snapshot. A null/absent baseline is treated as a green
62
+ * base — every current failure is net-new — so a missing snapshot fails toward
63
+ * blocking (broken code), never toward a silent pass.
64
+ */
65
+ export declare function netNewFloorFailures(current: CorrectnessFloorResult, baseline: FloorBaseline | null): CorrectnessCheckResult[];
66
+ //# sourceMappingURL=floor-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floor-state.d.ts","sourceRoot":"","sources":["../../src/loop/floor-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAKH,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEnG,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD;;gFAEgF;AAChF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC;AAED,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B;kFAC8E;IAC9E,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;CAC7C;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAaD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,sBAAsB,EAC9B,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAC9B,IAAI,CASN;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CASnE;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAMpD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,sBAAsB,EAC/B,QAAQ,EAAE,aAAa,GAAG,IAAI,GAC7B,sBAAsB,EAAE,CAS1B"}