plumbbob 0.9.3 → 0.9.5
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/.claude-plugin/plugin.json +1 -1
- package/README.md +15 -13
- package/dist/cli-core.js +19 -2
- package/dist/lib/check.js +46 -13
- package/dist/lib/intent.js +1 -1
- package/dist/lib/latch.js +3 -3
- package/dist/lib/reentry.js +70 -0
- package/dist/verbs/agent.js +2 -2
- package/dist/verbs/doctor.js +4 -4
- package/dist/verbs/finish.js +1 -1
- package/dist/verbs/recover.js +297 -0
- package/dist/verbs/revert.js +2 -2
- package/dist/verbs/spike.js +8 -2
- package/hooks/post-edit.sh +4 -4
- package/hooks/pre-bash-commit.sh +3 -3
- package/node_modules/checkride/.claude-plugin/plugin.json +11 -0
- package/node_modules/checkride/CHANGELOG.md +1003 -0
- package/node_modules/checkride/LICENSE +201 -21
- package/node_modules/checkride/README.md +171 -30
- package/node_modules/checkride/dist/__tests__/fixtures/released-stanzas.d.ts +15 -0
- package/node_modules/checkride/dist/__tests__/fixtures/released-stanzas.d.ts.map +1 -0
- package/node_modules/checkride/dist/__tests__/fixtures/released-stanzas.js +17 -0
- package/node_modules/checkride/dist/__tests__/fixtures/released-stanzas.js.map +1 -0
- package/node_modules/checkride/dist/adapters.d.ts +18 -6
- package/node_modules/checkride/dist/adapters.d.ts.map +1 -1
- package/node_modules/checkride/dist/adapters.js +42 -23
- package/node_modules/checkride/dist/adapters.js.map +1 -1
- package/node_modules/checkride/dist/agent-setup/claude.d.ts +88 -0
- package/node_modules/checkride/dist/agent-setup/claude.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/claude.js +305 -0
- package/node_modules/checkride/dist/agent-setup/claude.js.map +1 -0
- package/node_modules/checkride/dist/agent-setup/command.d.ts +43 -0
- package/node_modules/checkride/dist/agent-setup/command.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/command.js +77 -0
- package/node_modules/checkride/dist/agent-setup/command.js.map +1 -0
- package/node_modules/checkride/dist/agent-setup/cursor.d.ts +61 -0
- package/node_modules/checkride/dist/agent-setup/cursor.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/cursor.js +189 -0
- package/node_modules/checkride/dist/agent-setup/cursor.js.map +1 -0
- package/node_modules/checkride/dist/agent-setup/files.d.ts +50 -0
- package/node_modules/checkride/dist/agent-setup/files.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/files.js +80 -0
- package/node_modules/checkride/dist/agent-setup/files.js.map +1 -0
- package/node_modules/checkride/dist/agent-setup/harness.d.ts +101 -0
- package/node_modules/checkride/dist/agent-setup/harness.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/harness.js +84 -0
- package/node_modules/checkride/dist/agent-setup/harness.js.map +1 -0
- package/node_modules/checkride/dist/agent-setup/hook.d.ts +45 -52
- package/node_modules/checkride/dist/agent-setup/hook.d.ts.map +1 -1
- package/node_modules/checkride/dist/agent-setup/hook.js +64 -95
- package/node_modules/checkride/dist/agent-setup/hook.js.map +1 -1
- package/node_modules/checkride/dist/agent-setup/index.d.ts +10 -4
- package/node_modules/checkride/dist/agent-setup/index.d.ts.map +1 -1
- package/node_modules/checkride/dist/agent-setup/index.js +9 -4
- package/node_modules/checkride/dist/agent-setup/index.js.map +1 -1
- package/node_modules/checkride/dist/agent-setup/scripts.d.ts +58 -0
- package/node_modules/checkride/dist/agent-setup/scripts.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/scripts.js +299 -0
- package/node_modules/checkride/dist/agent-setup/scripts.js.map +1 -0
- package/node_modules/checkride/dist/agent-setup/skills.d.ts +31 -0
- package/node_modules/checkride/dist/agent-setup/skills.d.ts.map +1 -0
- package/node_modules/checkride/dist/agent-setup/skills.js +56 -0
- package/node_modules/checkride/dist/agent-setup/skills.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/configured.d.ts +30 -0
- package/node_modules/checkride/dist/artifacts/configured.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/configured.js +45 -0
- package/node_modules/checkride/dist/artifacts/configured.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/format.d.ts +33 -0
- package/node_modules/checkride/dist/artifacts/format.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/format.js +56 -0
- package/node_modules/checkride/dist/artifacts/format.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/freshness.d.ts +32 -0
- package/node_modules/checkride/dist/artifacts/freshness.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/freshness.js +37 -0
- package/node_modules/checkride/dist/artifacts/freshness.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/index.d.ts +22 -0
- package/node_modules/checkride/dist/artifacts/index.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/index.js +19 -0
- package/node_modules/checkride/dist/artifacts/index.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/json.d.ts +31 -0
- package/node_modules/checkride/dist/artifacts/json.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/json.js +47 -0
- package/node_modules/checkride/dist/artifacts/json.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/raw.d.ts +60 -0
- package/node_modules/checkride/dist/artifacts/raw.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/raw.js +91 -0
- package/node_modules/checkride/dist/artifacts/raw.js.map +1 -0
- package/node_modules/checkride/dist/artifacts/summary.d.ts +69 -0
- package/node_modules/checkride/dist/artifacts/summary.d.ts.map +1 -0
- package/node_modules/checkride/dist/artifacts/summary.js +108 -0
- package/node_modules/checkride/dist/artifacts/summary.js.map +1 -0
- package/node_modules/checkride/dist/atomic.d.ts +16 -1
- package/node_modules/checkride/dist/atomic.d.ts.map +1 -1
- package/node_modules/checkride/dist/atomic.js +25 -3
- package/node_modules/checkride/dist/atomic.js.map +1 -1
- package/node_modules/checkride/dist/baseline/fallow.d.ts +9 -5
- package/node_modules/checkride/dist/baseline/fallow.d.ts.map +1 -1
- package/node_modules/checkride/dist/baseline/fallow.js +161 -58
- package/node_modules/checkride/dist/baseline/fallow.js.map +1 -1
- package/node_modules/checkride/dist/baseline/fingerprint.d.ts +7 -7
- package/node_modules/checkride/dist/baseline/fingerprint.d.ts.map +1 -1
- package/node_modules/checkride/dist/baseline/fingerprint.js +16 -19
- package/node_modules/checkride/dist/baseline/fingerprint.js.map +1 -1
- package/node_modules/checkride/dist/baseline/index.d.ts +4 -4
- package/node_modules/checkride/dist/baseline/index.d.ts.map +1 -1
- package/node_modules/checkride/dist/baseline/index.js +4 -4
- package/node_modules/checkride/dist/baseline/index.js.map +1 -1
- package/node_modules/checkride/dist/baseline/store.d.ts +12 -4
- package/node_modules/checkride/dist/baseline/store.d.ts.map +1 -1
- package/node_modules/checkride/dist/baseline/store.js +16 -9
- package/node_modules/checkride/dist/baseline/store.js.map +1 -1
- package/node_modules/checkride/dist/baseline-command.d.ts +5 -5
- package/node_modules/checkride/dist/baseline-command.js +7 -7
- package/node_modules/checkride/dist/baseline-command.js.map +1 -1
- package/node_modules/checkride/dist/cli.d.ts +17 -4
- package/node_modules/checkride/dist/cli.d.ts.map +1 -1
- package/node_modules/checkride/dist/cli.js +259 -18
- package/node_modules/checkride/dist/cli.js.map +1 -1
- package/node_modules/checkride/dist/config.d.ts +84 -8
- package/node_modules/checkride/dist/config.d.ts.map +1 -1
- package/node_modules/checkride/dist/config.js +122 -18
- package/node_modules/checkride/dist/config.js.map +1 -1
- package/node_modules/checkride/dist/digest/digest.d.ts +5 -5
- package/node_modules/checkride/dist/digest/digest.js +5 -5
- package/node_modules/checkride/dist/digest/index.d.ts +2 -2
- package/node_modules/checkride/dist/digest/index.js +2 -2
- package/node_modules/checkride/dist/doctor.d.ts +25 -6
- package/node_modules/checkride/dist/doctor.d.ts.map +1 -1
- package/node_modules/checkride/dist/doctor.js +193 -27
- package/node_modules/checkride/dist/doctor.js.map +1 -1
- package/node_modules/checkride/dist/gate.d.ts +135 -0
- package/node_modules/checkride/dist/gate.d.ts.map +1 -0
- package/node_modules/checkride/dist/gate.js +490 -0
- package/node_modules/checkride/dist/gate.js.map +1 -0
- package/node_modules/checkride/dist/init.d.ts +72 -12
- package/node_modules/checkride/dist/init.d.ts.map +1 -1
- package/node_modules/checkride/dist/init.js +324 -81
- package/node_modules/checkride/dist/init.js.map +1 -1
- package/node_modules/checkride/dist/json.d.ts +21 -0
- package/node_modules/checkride/dist/json.d.ts.map +1 -0
- package/node_modules/checkride/dist/json.js +21 -0
- package/node_modules/checkride/dist/json.js.map +1 -0
- package/node_modules/checkride/dist/links.d.ts +31 -5
- package/node_modules/checkride/dist/links.d.ts.map +1 -1
- package/node_modules/checkride/dist/links.js +141 -32
- package/node_modules/checkride/dist/links.js.map +1 -1
- package/node_modules/checkride/dist/node-pin.d.ts +129 -0
- package/node_modules/checkride/dist/node-pin.d.ts.map +1 -0
- package/node_modules/checkride/dist/node-pin.js +211 -0
- package/node_modules/checkride/dist/node-pin.js.map +1 -0
- package/node_modules/checkride/dist/orchestrator.d.ts +40 -10
- package/node_modules/checkride/dist/orchestrator.d.ts.map +1 -1
- package/node_modules/checkride/dist/orchestrator.js +196 -102
- package/node_modules/checkride/dist/orchestrator.js.map +1 -1
- package/node_modules/checkride/dist/pack.d.ts +8 -9
- package/node_modules/checkride/dist/pack.d.ts.map +1 -1
- package/node_modules/checkride/dist/pack.js +53 -17
- package/node_modules/checkride/dist/pack.js.map +1 -1
- package/node_modules/checkride/dist/pm/detect.d.ts +6 -1
- package/node_modules/checkride/dist/pm/detect.d.ts.map +1 -1
- package/node_modules/checkride/dist/pm/detect.js +6 -1
- package/node_modules/checkride/dist/pm/detect.js.map +1 -1
- package/node_modules/checkride/dist/pm/index.d.ts +6 -2
- package/node_modules/checkride/dist/pm/index.d.ts.map +1 -1
- package/node_modules/checkride/dist/pm/index.js +6 -2
- package/node_modules/checkride/dist/pm/index.js.map +1 -1
- package/node_modules/checkride/dist/pm/launch.d.ts +51 -0
- package/node_modules/checkride/dist/pm/launch.d.ts.map +1 -0
- package/node_modules/checkride/dist/pm/launch.js +92 -0
- package/node_modules/checkride/dist/pm/launch.js.map +1 -0
- package/node_modules/checkride/dist/pm/tools.d.ts +73 -0
- package/node_modules/checkride/dist/pm/tools.d.ts.map +1 -0
- package/node_modules/checkride/dist/pm/tools.js +124 -0
- package/node_modules/checkride/dist/pm/tools.js.map +1 -0
- package/node_modules/checkride/dist/pm/translate.d.ts +35 -9
- package/node_modules/checkride/dist/pm/translate.d.ts.map +1 -1
- package/node_modules/checkride/dist/pm/translate.js +78 -18
- package/node_modules/checkride/dist/pm/translate.js.map +1 -1
- package/node_modules/checkride/dist/proc.d.ts +30 -0
- package/node_modules/checkride/dist/proc.d.ts.map +1 -0
- package/node_modules/checkride/dist/proc.js +42 -0
- package/node_modules/checkride/dist/proc.js.map +1 -0
- package/node_modules/checkride/dist/qa/cli.d.ts +20 -0
- package/node_modules/checkride/dist/qa/cli.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/cli.js +24 -0
- package/node_modules/checkride/dist/qa/cli.js.map +1 -0
- package/node_modules/checkride/dist/qa/dead.d.ts +39 -0
- package/node_modules/checkride/dist/qa/dead.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/dead.js +88 -0
- package/node_modules/checkride/dist/qa/dead.js.map +1 -0
- package/node_modules/checkride/dist/qa/dupes.d.ts +45 -0
- package/node_modules/checkride/dist/qa/dupes.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/dupes.js +62 -0
- package/node_modules/checkride/dist/qa/dupes.js.map +1 -0
- package/node_modules/checkride/dist/qa/health.d.ts +85 -0
- package/node_modules/checkride/dist/qa/health.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/health.js +109 -0
- package/node_modules/checkride/dist/qa/health.js.map +1 -0
- package/node_modules/checkride/dist/qa/index.d.ts +23 -0
- package/node_modules/checkride/dist/qa/index.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/index.js +22 -0
- package/node_modules/checkride/dist/qa/index.js.map +1 -0
- package/node_modules/checkride/dist/qa/mutation.d.ts +80 -0
- package/node_modules/checkride/dist/qa/mutation.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/mutation.js +195 -0
- package/node_modules/checkride/dist/qa/mutation.js.map +1 -0
- package/node_modules/checkride/dist/qa/qa.d.ts +71 -0
- package/node_modules/checkride/dist/qa/qa.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/qa.js +158 -0
- package/node_modules/checkride/dist/qa/qa.js.map +1 -0
- package/node_modules/checkride/dist/qa/read.d.ts +40 -0
- package/node_modules/checkride/dist/qa/read.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/read.js +47 -0
- package/node_modules/checkride/dist/qa/read.js.map +1 -0
- package/node_modules/checkride/dist/qa/render.d.ts +26 -0
- package/node_modules/checkride/dist/qa/render.d.ts.map +1 -0
- package/node_modules/checkride/dist/qa/render.js +310 -0
- package/node_modules/checkride/dist/qa/render.js.map +1 -0
- package/node_modules/checkride/dist/security.d.ts +45 -0
- package/node_modules/checkride/dist/security.d.ts.map +1 -0
- package/node_modules/checkride/dist/security.js +86 -0
- package/node_modules/checkride/dist/security.js.map +1 -0
- package/node_modules/checkride/dist/smoke.d.ts +5 -5
- package/node_modules/checkride/dist/smoke.js +5 -5
- package/node_modules/checkride/dist/snippets.d.ts +26 -29
- package/node_modules/checkride/dist/snippets.d.ts.map +1 -1
- package/node_modules/checkride/dist/snippets.js +26 -30
- package/node_modules/checkride/dist/snippets.js.map +1 -1
- package/node_modules/checkride/dist/tool-json.d.ts +33 -0
- package/node_modules/checkride/dist/tool-json.d.ts.map +1 -0
- package/node_modules/checkride/dist/tool-json.js +58 -0
- package/node_modules/checkride/dist/tool-json.js.map +1 -0
- package/node_modules/checkride/dist/triage/cli.d.ts +21 -0
- package/node_modules/checkride/dist/triage/cli.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/cli.js +26 -0
- package/node_modules/checkride/dist/triage/cli.js.map +1 -0
- package/node_modules/checkride/dist/triage/doctor-fold.d.ts +51 -0
- package/node_modules/checkride/dist/triage/doctor-fold.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/doctor-fold.js +88 -0
- package/node_modules/checkride/dist/triage/doctor-fold.js.map +1 -0
- package/node_modules/checkride/dist/triage/env.d.ts +54 -0
- package/node_modules/checkride/dist/triage/env.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/env.js +81 -0
- package/node_modules/checkride/dist/triage/env.js.map +1 -0
- package/node_modules/checkride/dist/triage/gate.d.ts +61 -0
- package/node_modules/checkride/dist/triage/gate.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/gate.js +121 -0
- package/node_modules/checkride/dist/triage/gate.js.map +1 -0
- package/node_modules/checkride/dist/triage/index.d.ts +22 -0
- package/node_modules/checkride/dist/triage/index.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/index.js +20 -0
- package/node_modules/checkride/dist/triage/index.js.map +1 -0
- package/node_modules/checkride/dist/triage/render.d.ts +19 -0
- package/node_modules/checkride/dist/triage/render.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/render.js +419 -0
- package/node_modules/checkride/dist/triage/render.js.map +1 -0
- package/node_modules/checkride/dist/triage/triage.d.ts +83 -0
- package/node_modules/checkride/dist/triage/triage.d.ts.map +1 -0
- package/node_modules/checkride/dist/triage/triage.js +131 -0
- package/node_modules/checkride/dist/triage/triage.js.map +1 -0
- package/node_modules/checkride/package.json +17 -15
- package/node_modules/checkride/schema/checkride.config.schema.json +62 -5
- package/node_modules/checkride/schema/checkride.summary.schema.json +1 -1
- package/node_modules/checkride/skills/check/SKILL.md +257 -0
- package/node_modules/checkride/skills/qa/SKILL.md +231 -0
- package/node_modules/checkride/templates/shared/cspell.json +1 -0
- package/node_modules/checkride/templates/shared/oxlintrc.json +1 -1
- package/package.json +2 -2
- package/skills/build/SKILL.md +23 -19
- package/skills/finish/SKILL.md +3 -1
- package/skills/harvest/SKILL.md +2 -1
- package/skills/plan/SKILL.md +8 -7
- package/skills/recover/SKILL.md +28 -0
- package/skills/refine/SKILL.md +5 -4
- package/skills/spike/SKILL.md +1 -1
- package/skills/step/SKILL.md +4 -4
- package/skills/verify/SKILL.md +19 -14
- package/templates/intent.md +8 -7
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The check orchestrator.
|
|
3
3
|
*
|
|
4
4
|
* Resolves slots to adapters, selects which to run (flags), spawns each command
|
|
5
5
|
* (or runs a built-in), captures raw output to `.check/`, and writes the
|
|
@@ -18,11 +18,14 @@ import { loadConfig, resolveChecks } from './config.js';
|
|
|
18
18
|
import { writeDigest } from './digest/index.js';
|
|
19
19
|
import { checkLinks } from './links.js';
|
|
20
20
|
import { checkPack } from './pack.js';
|
|
21
|
-
import { detectPackageManager, isAvailableUnder, translateExec } from './pm/index.js';
|
|
21
|
+
import { detectPackageManager, execTool, execUsesGlobalCache, installCommand, isAvailableUnder, resolveSlotTool, translateExec, } from './pm/index.js';
|
|
22
|
+
import { KILL_GRACE_SECONDS, killGroup } from './proc.js';
|
|
23
|
+
import { checkSecurity } from './security.js';
|
|
22
24
|
import { checkSmoke } from './smoke.js';
|
|
23
25
|
import { checkSnippets } from './snippets.js';
|
|
26
|
+
import { parseToolJson } from './tool-json.js';
|
|
24
27
|
/**
|
|
25
|
-
*
|
|
28
|
+
* Only/skip/opt-in selection by slot name.
|
|
26
29
|
* An opt-in slot runs when `--all`/`--include` names it, or when it was
|
|
27
30
|
* explicitly configured in `checks` (`r.explicit`) — naming a slot is opting in.
|
|
28
31
|
*/
|
|
@@ -42,17 +45,30 @@ export function selectChecks(resolved, flags) {
|
|
|
42
45
|
});
|
|
43
46
|
}
|
|
44
47
|
/**
|
|
45
|
-
* Reject
|
|
46
|
-
* `--only lints`
|
|
48
|
+
* Reject bad slot selections in `--only`/`--skip`/`--include`. A typo like
|
|
49
|
+
* `--only lints` would otherwise slip through `selectChecks` as a filter that matched
|
|
47
50
|
* nothing, silently disabling the gate — the worst kind of vacuous green in a
|
|
48
51
|
* definition-of-done check. It is a usage error instead (thrown here, surfaced
|
|
49
52
|
* as exit 2 at the CLI). The valid set is every resolved slot: the catalogue
|
|
50
53
|
* slots plus any config custom-check names.
|
|
54
|
+
*
|
|
55
|
+
* A *present but empty* list is rejected for the same reason. `[]` is truthy,
|
|
56
|
+
* so `selectChecks` reads it as "match nothing" rather than "no filter", and an
|
|
57
|
+
* empty `only` selects zero checks. The CLI already rejects `--only ,` when it
|
|
58
|
+
* parses (see `parseList`); this covers the programmatic API, where a caller can
|
|
59
|
+
* hand `runChecks` an array it computed. `selectChecks` itself is left alone —
|
|
60
|
+
* it is exported public surface, and the error belongs before it runs.
|
|
51
61
|
*/
|
|
52
62
|
function validateSelection(resolved, flags) {
|
|
53
63
|
const valid = new Set(resolved.map((r) => r.slot));
|
|
54
64
|
for (const flag of ['only', 'skip', 'include']) {
|
|
55
|
-
const
|
|
65
|
+
const names = flags[flag];
|
|
66
|
+
if (names === undefined || names === null)
|
|
67
|
+
continue;
|
|
68
|
+
if (names.length === 0) {
|
|
69
|
+
throw new Error(`--${flag} was given an empty list, which selects nothing. Valid slots: ${[...valid].join(', ')}.`);
|
|
70
|
+
}
|
|
71
|
+
const unknown = names.filter((name) => !valid.has(name));
|
|
56
72
|
if (unknown.length === 0)
|
|
57
73
|
continue;
|
|
58
74
|
const named = unknown.map((n) => `'${n}'`).join(', ');
|
|
@@ -76,33 +92,18 @@ export function runtimeArgs(adapter, changed) {
|
|
|
76
92
|
export const DEFAULT_TIMEOUT_SECONDS = 600;
|
|
77
93
|
/**
|
|
78
94
|
* Default pool width for a wave (equal-`order` group): `min(4, max(1, cores −
|
|
79
|
-
*
|
|
95
|
+
* reserve))`. Heavy checks (test, mutation, build) parallelize internally, so
|
|
80
96
|
* oversubscribing every core is worse than a conservative cap; one reserved
|
|
81
|
-
* core keeps the machine responsive.
|
|
97
|
+
* core keeps the machine responsive — for the human at it. A hosted CI runner
|
|
98
|
+
* has no such human, and a standard GitHub-hosted runner reports 2 CPUs, so
|
|
99
|
+
* reserving one there collapsed the pool to 1 and wave scheduling silently
|
|
100
|
+
* degenerated to fully sequential — on exactly the machine class the docs say
|
|
101
|
+
* to gate on. Every CI provider sets `CI`, so no core is reserved there.
|
|
102
|
+
* Override with `--concurrency`; `--bail` stays fail-fast sequential.
|
|
82
103
|
*/
|
|
83
|
-
function defaultConcurrency() {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
/** Grace between SIGTERM and SIGKILL when a timed-out check won't die politely. */
|
|
87
|
-
const KILL_GRACE_SECONDS = 5;
|
|
88
|
-
/**
|
|
89
|
-
* Signal a spawned check's whole process group. The check is spawned
|
|
90
|
-
* `detached`, so it leads its own group and a negated-pid `kill` reaches every
|
|
91
|
-
* descendant — a wrapper's grandchildren included — not just the direct child.
|
|
92
|
-
* That is the difference between a timed-out `sh -c 'slow-tool …'` leaving its
|
|
93
|
-
* real worker orphaned and alive versus taking the whole tree down. ESRCH is
|
|
94
|
-
* swallowed: the group racing to exit on its own before we signal is success,
|
|
95
|
-
* not an error (and `pid` is absent only when the spawn itself failed).
|
|
96
|
-
*/
|
|
97
|
-
function killGroup(pid, signal) {
|
|
98
|
-
if (pid === undefined)
|
|
99
|
-
return;
|
|
100
|
-
try {
|
|
101
|
-
process.kill(-pid, signal);
|
|
102
|
-
}
|
|
103
|
-
catch {
|
|
104
|
-
// Group already gone (raced with a clean exit) — nothing left to kill.
|
|
105
|
-
}
|
|
104
|
+
export function defaultConcurrency(env = process.env, cores = cpus().length) {
|
|
105
|
+
const reserve = env['CI'] ? 0 : 1;
|
|
106
|
+
return Math.min(4, Math.max(1, cores - reserve));
|
|
106
107
|
}
|
|
107
108
|
/**
|
|
108
109
|
* Process groups of checks currently in flight: pid → a promise that settles
|
|
@@ -221,51 +222,118 @@ function spawnCheck(command, args, cwd, timeoutSec) {
|
|
|
221
222
|
});
|
|
222
223
|
});
|
|
223
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* Dispatch a built-in check, or `null` when the adapter spawns a real tool.
|
|
227
|
+
* Every built-in that runs a subprocess goes through `spawnCheck`, so its
|
|
228
|
+
* child registers in `liveChecks` and inherits the timeout + reaping like any
|
|
229
|
+
* other check. `security` alone runs the adapter's own args — its
|
|
230
|
+
* `--audit-level` doubles as the threshold the evaluator enforces, since
|
|
231
|
+
* pnpm's JSON-mode exit code ignores the level. The snippets pair shares one
|
|
232
|
+
* execution path, differing only in mode.
|
|
233
|
+
*/
|
|
234
|
+
function runBuiltin(adapter, ctx, timeout) {
|
|
235
|
+
const base = { cwd: ctx.cwd, spawn: spawnCheck, timeoutSec: timeout };
|
|
236
|
+
switch (adapter.builtin) {
|
|
237
|
+
case 'pack':
|
|
238
|
+
return checkPack({ ...base, pm: ctx.pm });
|
|
239
|
+
case 'smoke':
|
|
240
|
+
return checkSmoke(base);
|
|
241
|
+
case 'security':
|
|
242
|
+
return checkSecurity({ ...base, command: adapter.command, args: runtimeArgs(adapter, ctx.changed) });
|
|
243
|
+
case 'snippets':
|
|
244
|
+
return checkSnippets({ ...base, mode: 'src', pm: ctx.pm });
|
|
245
|
+
case 'snippets-dist':
|
|
246
|
+
return checkSnippets({ ...base, mode: 'dist', pm: ctx.pm });
|
|
247
|
+
default:
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Refuse a slot whose tool this repo never declared, rather than letting the
|
|
253
|
+
* launcher's per-user cache decide the verdict.
|
|
254
|
+
*
|
|
255
|
+
* `--no-install` stops `npx`/`bunx` fetching a missing tool, but both still run
|
|
256
|
+
* a copy cached from some earlier, unrelated invocation — so the same commit
|
|
257
|
+
* passes on a machine that happens to hold one and fails on a clean checkout,
|
|
258
|
+
* which is the CI runner. A gate whose result depends on that is not reporting
|
|
259
|
+
* on the code. Resolving the binary in the local tree first moves the failure
|
|
260
|
+
* to every machine equally, and to the one place it is cheap to fix.
|
|
261
|
+
*
|
|
262
|
+
* Scoped to the launchers that *have* such a cache ({@link
|
|
263
|
+
* execUsesGlobalCache}): `pnpm exec` and `yarn` resolve from the project tree
|
|
264
|
+
* already, and pre-flighting Yarn PnP — which has no `node_modules/.bin` — would
|
|
265
|
+
* report every tool missing. `null` means the check may spawn.
|
|
266
|
+
*/
|
|
267
|
+
export function missingToolOutcome(slot, adapter, args, ctx) {
|
|
268
|
+
if (!execUsesGlobalCache(ctx.pm))
|
|
269
|
+
return null;
|
|
270
|
+
const tool = execTool(adapter.command, args);
|
|
271
|
+
if (!tool || resolveSlotTool(ctx.cwd, tool))
|
|
272
|
+
return null;
|
|
273
|
+
const stderr = [
|
|
274
|
+
`checkride: the \`${slot}\` slot needs \`${tool}\`, which is not installed in this project.`,
|
|
275
|
+
'',
|
|
276
|
+
` looked for: node_modules/.bin/${tool} (from ${ctx.cwd} up to the repo root)`,
|
|
277
|
+
'',
|
|
278
|
+
'checkride never fetches a tool mid-run, and a launcher cache can still supply',
|
|
279
|
+
"one this repo never declared — so a tool that isn't a dependency here would",
|
|
280
|
+
'pass on your machine and fail on a clean checkout. Declare it instead:',
|
|
281
|
+
'',
|
|
282
|
+
` ${installCommand(ctx.pm, tool)}`,
|
|
283
|
+
'',
|
|
284
|
+
].join('\n');
|
|
285
|
+
// Exit 1, not -1. Nothing spawned, so there is no real status to report — but
|
|
286
|
+
// -1 is reserved for a spawn failure or timeout, which `triage` discounts as
|
|
287
|
+
// "a harness problem, not a finding" (see `docs/plugin.md`). An undeclared
|
|
288
|
+
// tool is the opposite: the finding the run exists to surface, and the one
|
|
289
|
+
// the reader has to act on. Reporting it as -1 would tell them to ignore it.
|
|
290
|
+
return { ok: false, exit_code: 1, stdout: '', stderr };
|
|
291
|
+
}
|
|
224
292
|
const defaultRunner = (resolved, ctx) => {
|
|
225
293
|
const adapter = resolved.adapter;
|
|
226
294
|
if (!adapter)
|
|
227
295
|
return Promise.resolve({ ok: true, exit_code: 0, stdout: '', stderr: '' });
|
|
228
|
-
if (adapter.builtin === 'links')
|
|
229
|
-
return checkLinks(ctx.cwd);
|
|
230
|
-
const timeout = adapter.timeout ?? ctx.timeout ?? DEFAULT_TIMEOUT_SECONDS;
|
|
231
|
-
// The pack built-in spawns its own subprocess (the PM's pack dry-run) through
|
|
232
|
-
// `spawnCheck`, so its child registers in `liveChecks` and inherits the
|
|
233
|
-
// timeout + reaping like every other check (D16/C6).
|
|
234
|
-
if (adapter.builtin === 'pack')
|
|
235
|
-
return checkPack({ cwd: ctx.cwd, pm: ctx.pm, spawn: spawnCheck, timeoutSec: timeout });
|
|
236
|
-
// The smoke built-in spawns a `node` probe of the built package through
|
|
237
|
-
// `spawnCheck`, so that child registers in `liveChecks` and inherits the
|
|
238
|
-
// timeout + reaping like every other check (D9/D16/C6).
|
|
239
|
-
if (adapter.builtin === 'smoke')
|
|
240
|
-
return checkSmoke({ cwd: ctx.cwd, spawn: spawnCheck, timeoutSec: timeout });
|
|
241
|
-
// The snippets built-ins spawn `<pm> exec tsc` through `spawnCheck` (D16/C6);
|
|
242
|
-
// the two adapters share one execution path, differing only in mode (D12).
|
|
243
|
-
if (adapter.builtin === 'snippets') {
|
|
244
|
-
return checkSnippets({ cwd: ctx.cwd, mode: 'src', pm: ctx.pm, spawn: spawnCheck, timeoutSec: timeout });
|
|
245
|
-
}
|
|
246
|
-
if (adapter.builtin === 'snippets-dist') {
|
|
247
|
-
return checkSnippets({ cwd: ctx.cwd, mode: 'dist', pm: ctx.pm, spawn: spawnCheck, timeoutSec: timeout });
|
|
296
|
+
if (adapter.builtin === 'links') {
|
|
297
|
+
return checkLinks(ctx.cwd, { exclude: adapter.exclude, allowlist: adapter.allowlist });
|
|
248
298
|
}
|
|
249
|
-
const
|
|
299
|
+
const timeout = adapter.timeout ?? ctx.timeout ?? DEFAULT_TIMEOUT_SECONDS;
|
|
300
|
+
const builtin = runBuiltin(adapter, ctx, timeout);
|
|
301
|
+
if (builtin)
|
|
302
|
+
return builtin;
|
|
303
|
+
const declared = runtimeArgs(adapter, ctx.changed);
|
|
304
|
+
const missing = missingToolOutcome(resolved.slot, adapter, declared, ctx);
|
|
305
|
+
if (missing)
|
|
306
|
+
return Promise.resolve(missing);
|
|
307
|
+
const { command, args } = translateExec(adapter.command, declared, ctx.pm);
|
|
250
308
|
return spawnCheck(command, args, ctx.cwd, timeout);
|
|
251
309
|
};
|
|
252
|
-
/**
|
|
310
|
+
/**
|
|
311
|
+
* Persist raw output atomically: JSON to `.check/<outputFile>`, else
|
|
312
|
+
* stdout/stderr text.
|
|
313
|
+
*
|
|
314
|
+
* Returns the JSON file it wrote, or `null` when it fell through to text — the
|
|
315
|
+
* summary's `output_file` is that return value, never the adapter's
|
|
316
|
+
* *declaration*. A slot that declares an `outputFile` does not always produce
|
|
317
|
+
* one (the tool printed a warning first, crashed, or emitted plain text this
|
|
318
|
+
* run), and naming a file that was never written sends every consumer to an
|
|
319
|
+
* ENOENT while the real bytes sit in `<slot>.stdout.txt` beside it.
|
|
320
|
+
*/
|
|
253
321
|
async function persistOutput(cwd, adapter, outcome) {
|
|
254
322
|
const dir = join(cwd, '.check');
|
|
255
323
|
if (adapter.outputFile && outcome.stdout.trim()) {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
// Not JSON after all; fall through to raw text.
|
|
324
|
+
// Tolerates a launcher preamble ahead of the JSON; writes the tool's own
|
|
325
|
+
// bytes from the first JSON character on, so the artifact actually parses.
|
|
326
|
+
const parsed = parseToolJson(outcome.stdout);
|
|
327
|
+
if (parsed) {
|
|
328
|
+
await writeFileAtomic(join(dir, adapter.outputFile), parsed.text);
|
|
329
|
+
return adapter.outputFile;
|
|
263
330
|
}
|
|
264
331
|
}
|
|
265
332
|
if (outcome.stdout.trim())
|
|
266
333
|
await writeFileAtomic(join(dir, `${adapter.slot}.stdout.txt`), outcome.stdout);
|
|
267
334
|
if (outcome.stderr.trim())
|
|
268
335
|
await writeFileAtomic(join(dir, `${adapter.slot}.stderr.txt`), outcome.stderr);
|
|
336
|
+
return null;
|
|
269
337
|
}
|
|
270
338
|
/**
|
|
271
339
|
* Remove a slot's prior `.check/` artifacts before it re-runs, so a later clean
|
|
@@ -290,9 +358,18 @@ async function clearSlotOutputs(cwd, adapter) {
|
|
|
290
358
|
function writeLine(out, line) {
|
|
291
359
|
out.write(`${line}\n`);
|
|
292
360
|
}
|
|
293
|
-
|
|
361
|
+
/**
|
|
362
|
+
* Width of the slot-name column, measured from the names this run will print
|
|
363
|
+
* (never below the historical 8). A fixed 8 was sized for catalogue slots, and
|
|
364
|
+
* a config custom check — `typecheck-tests` is 15 — pushed the duration and
|
|
365
|
+
* description columns right on its row alone.
|
|
366
|
+
*/
|
|
367
|
+
function nameWidth(selected) {
|
|
368
|
+
return selected.reduce((n, r) => Math.max(n, r.slot.length), 8);
|
|
369
|
+
}
|
|
370
|
+
function formatStatusLine(check, width) {
|
|
294
371
|
const mark = check.ok ? '✔' : '✘';
|
|
295
|
-
const name = check.name.padEnd(
|
|
372
|
+
const name = check.name.padEnd(width);
|
|
296
373
|
const duration = `${check.duration_ms}ms`.padStart(8);
|
|
297
374
|
return ` ${mark} ${name} ${duration} ${check.description}`;
|
|
298
375
|
}
|
|
@@ -306,14 +383,16 @@ function skippedEntry(resolved) {
|
|
|
306
383
|
reason: resolved.skip ?? 'skipped',
|
|
307
384
|
exit_code: null,
|
|
308
385
|
duration_ms: 0,
|
|
309
|
-
|
|
386
|
+
// A skipped check ran nothing and wrote nothing; naming its adapter's
|
|
387
|
+
// declared output file would point at whatever an earlier run left there.
|
|
388
|
+
output_file: null,
|
|
310
389
|
};
|
|
311
390
|
}
|
|
312
391
|
/**
|
|
313
|
-
* `total_duration_ms` is the wall-clock span of the whole execution phase
|
|
392
|
+
* `total_duration_ms` is the wall-clock span of the whole execution phase,
|
|
314
393
|
* not the sum of per-check durations — under concurrency those diverge, and
|
|
315
|
-
* wall-clock is what the field honestly means. It equals the
|
|
316
|
-
* execution is sequential (one check in flight at a time).
|
|
394
|
+
* wall-clock is what the field honestly means. It equals the per-check sum
|
|
395
|
+
* whenever execution is sequential (one check in flight at a time).
|
|
317
396
|
*/
|
|
318
397
|
function buildSummary(checks, totalDurationMs) {
|
|
319
398
|
return {
|
|
@@ -335,8 +414,8 @@ function enableHint(slot, adapters) {
|
|
|
335
414
|
}
|
|
336
415
|
/**
|
|
337
416
|
* The first-party vacuous-green signal: "green because nothing ran" must be
|
|
338
|
-
* unmissable, not something only a consumer that hand-
|
|
339
|
-
*
|
|
417
|
+
* unmissable, not something only a consumer that hand-rolls its own check can
|
|
418
|
+
* distinguish from "green because everything passed".
|
|
340
419
|
* Names why each slot sat out and what would enable it.
|
|
341
420
|
*/
|
|
342
421
|
function warnVacuous(stderr, checks, adapters) {
|
|
@@ -354,9 +433,8 @@ function warnVacuous(stderr, checks, adapters) {
|
|
|
354
433
|
}
|
|
355
434
|
/**
|
|
356
435
|
* Apply the defaults every command shares: cwd, the slot/adapter catalogues, the
|
|
357
|
-
* config (loaded from `cwd` unless injected), and the two streams
|
|
358
|
-
* `runChecks`/`runFix`/`runDoctor` resolve this identical block one way
|
|
359
|
-
* copy-pasted across all three).
|
|
436
|
+
* config (loaded from `cwd` unless injected), and the two streams, so
|
|
437
|
+
* `runChecks`/`runFix`/`runDoctor` resolve this identical block one way.
|
|
360
438
|
*/
|
|
361
439
|
export function resolveCommonOptions(options) {
|
|
362
440
|
const cwd = options.cwd ?? process.cwd();
|
|
@@ -369,11 +447,16 @@ export function resolveCommonOptions(options) {
|
|
|
369
447
|
stderr: options.stderr ?? process.stderr,
|
|
370
448
|
};
|
|
371
449
|
}
|
|
372
|
-
/**
|
|
450
|
+
/**
|
|
451
|
+
* Apply every run default: the common options plus runner, flags, PM, and
|
|
452
|
+
* baseline. `nameWidth` is a placeholder here — the selection it measures is
|
|
453
|
+
* not known until after `selectChecks`, so `runChecks` narrows it then.
|
|
454
|
+
*/
|
|
373
455
|
function resolveRunContext(options) {
|
|
374
456
|
const common = resolveCommonOptions(options);
|
|
375
457
|
return {
|
|
376
458
|
...common,
|
|
459
|
+
nameWidth: 8,
|
|
377
460
|
runner: options.runner ?? defaultRunner,
|
|
378
461
|
json: options.json ?? false,
|
|
379
462
|
bail: options.bail ?? false,
|
|
@@ -403,15 +486,15 @@ function maskOutcome(adapter, outcome, baseline, slot) {
|
|
|
403
486
|
return { ok: outcome.ok, baselined: 0, newKeys: [], reason: null, observed: null };
|
|
404
487
|
}
|
|
405
488
|
/** Build (and print) the skipped-entry row for a slot that won't run this pass. */
|
|
406
|
-
function handleSkip(r, unavailable,
|
|
407
|
-
const entry = skippedEntry(unavailable ? { ...r, skip: `'${r.adapter?.command} ${r.adapter?.args[0]}' is unavailable under ${pm}` } : r);
|
|
408
|
-
if (!json)
|
|
409
|
-
writeLine(stderr, ` ○ ${entry.name.padEnd(
|
|
489
|
+
function handleSkip(r, unavailable, ctx) {
|
|
490
|
+
const entry = skippedEntry(unavailable ? { ...r, skip: `'${r.adapter?.command} ${r.adapter?.args[0]}' is unavailable under ${ctx.pm}` } : r);
|
|
491
|
+
if (!ctx.json)
|
|
492
|
+
writeLine(ctx.stderr, ` ○ ${entry.name.padEnd(ctx.nameWidth)} skip ${entry.reason ?? ''}`);
|
|
410
493
|
return entry;
|
|
411
494
|
}
|
|
412
495
|
/** Print one check's status line, its baselined count, and any new (non-grandfathered) findings. */
|
|
413
|
-
function reportCheckResult(stderr, entry, mask) {
|
|
414
|
-
writeLine(stderr, formatStatusLine(entry));
|
|
496
|
+
function reportCheckResult(stderr, entry, mask, width) {
|
|
497
|
+
writeLine(stderr, formatStatusLine(entry, width));
|
|
415
498
|
if (mask.baselined > 0)
|
|
416
499
|
writeLine(stderr, ` ${mask.baselined} baselined (grandfathered)`);
|
|
417
500
|
if (!entry.ok && mask.reason)
|
|
@@ -433,7 +516,7 @@ async function runOneCheck(r, adapter, ctx) {
|
|
|
433
516
|
const start = performance.now();
|
|
434
517
|
const outcome = await ctx.runner(r, { cwd: ctx.cwd, changed: ctx.changed, pm: ctx.pm, ...(ctx.timeout !== undefined ? { timeout: ctx.timeout } : {}) });
|
|
435
518
|
const duration_ms = Math.round(performance.now() - start);
|
|
436
|
-
await persistOutput(ctx.cwd, adapter, outcome);
|
|
519
|
+
const outputFile = await persistOutput(ctx.cwd, adapter, outcome);
|
|
437
520
|
// Masking is always on (even under a partial run); only the ratchet is gated.
|
|
438
521
|
// The raw `.check/<slot>.json` is persisted untouched — masking changes the
|
|
439
522
|
// pass/fail verdict, never the authoritative output.
|
|
@@ -445,7 +528,7 @@ async function runOneCheck(r, adapter, ctx) {
|
|
|
445
528
|
ok: mask.ok,
|
|
446
529
|
exit_code: outcome.exit_code,
|
|
447
530
|
duration_ms,
|
|
448
|
-
output_file:
|
|
531
|
+
output_file: outputFile,
|
|
449
532
|
...(mask.baselined > 0 ? { baselined: mask.baselined } : {}),
|
|
450
533
|
};
|
|
451
534
|
return { entry, run: { slot: r.slot, adapter, outcome }, mask };
|
|
@@ -455,18 +538,18 @@ async function runOneCheck(r, adapter, ctx) {
|
|
|
455
538
|
* shared by the sequential (`--bail`) and wave paths. A skipped/unavailable slot
|
|
456
539
|
* records a skip row and runs nothing; an active one runs, prints its status
|
|
457
540
|
* line, and reports its fingerprint for the ratchet. It mutates no shared state,
|
|
458
|
-
* so N of these can be in flight at once
|
|
541
|
+
* so N of these can be in flight at once.
|
|
459
542
|
*/
|
|
460
543
|
async function runSelectedCheck(r, ctx) {
|
|
461
544
|
// Skip when unresolved, or when the adapter can't run under this PM — e.g.
|
|
462
|
-
// `pnpm audit` (the `security` slot) is unavailable off pnpm
|
|
545
|
+
// `pnpm audit` (the `security` slot) is unavailable off pnpm.
|
|
463
546
|
const unavailable = Boolean(r.adapter && !isAvailableUnder(r.adapter.command, r.adapter.args, ctx.pm));
|
|
464
547
|
if (r.skip || !r.adapter || unavailable) {
|
|
465
|
-
return { entry: handleSkip(r, unavailable, ctx
|
|
548
|
+
return { entry: handleSkip(r, unavailable, ctx), run: null, observed: null };
|
|
466
549
|
}
|
|
467
550
|
const { entry, run, mask } = await runOneCheck(r, r.adapter, ctx);
|
|
468
551
|
if (!ctx.json)
|
|
469
|
-
reportCheckResult(ctx.stderr, entry, mask);
|
|
552
|
+
reportCheckResult(ctx.stderr, entry, mask, ctx.nameWidth);
|
|
470
553
|
return { entry, run, observed: mask.observed !== null ? { slot: r.slot, fp: mask.observed } : null };
|
|
471
554
|
}
|
|
472
555
|
/** Fold one result into the report accumulators, in call order. */
|
|
@@ -482,9 +565,9 @@ function emptyExecution(brokeEarly = false) {
|
|
|
482
565
|
return { checks: [], runs: [], observed: new Map(), brokeEarly };
|
|
483
566
|
}
|
|
484
567
|
/**
|
|
485
|
-
* Scheduling coordinates for a check on
|
|
486
|
-
* numeric line 1, singles 2, lasts 3) and its position on the numeric line
|
|
487
|
-
* (`'any'`/`'middle'` sit at 0 —
|
|
568
|
+
* Scheduling coordinates for a check on the order line: the group `rank` (firsts 0,
|
|
569
|
+
* the numeric line 1, singles 2, lasts 3) and its position on the numeric line
|
|
570
|
+
* (`'any'`/`'middle'` sit at 0 — the conservative placement). This must agree
|
|
488
571
|
* with `config.ts`'s group sort, which already put `selected` in exactly this
|
|
489
572
|
* sequence; here it only re-derives the wave *boundaries* the sort collapsed.
|
|
490
573
|
*/
|
|
@@ -547,16 +630,16 @@ async function runPool(items, width, worker) {
|
|
|
547
630
|
await Promise.all(workers);
|
|
548
631
|
}
|
|
549
632
|
/**
|
|
550
|
-
* `--bail`: the flat sequential path
|
|
551
|
-
*
|
|
633
|
+
* `--bail`: the flat sequential path. Checks run one at a time in group order
|
|
634
|
+
* and the run stops at the first *executed* failure — fail-fast is
|
|
552
635
|
* incompatible with already-launched concurrent work, so `--concurrency` is moot
|
|
553
636
|
* here (the caller notes it if one was passed). For the default set (all `'any'`)
|
|
554
|
-
* this is exactly
|
|
637
|
+
* this is exactly the cheapest-first order.
|
|
555
638
|
*/
|
|
556
639
|
async function executeBail(selected, ctx) {
|
|
557
640
|
const acc = emptyExecution();
|
|
558
641
|
for (const r of selected) {
|
|
559
|
-
// oxlint-disable-next-line no-await-in-loop -- --bail is fail-fast: checks run one at a time so the run can stop at the first failure
|
|
642
|
+
// oxlint-disable-next-line no-await-in-loop -- --bail is fail-fast: checks run one at a time so the run can stop at the first failure.
|
|
560
643
|
const res = await runSelectedCheck(r, ctx);
|
|
561
644
|
collect(res, acc);
|
|
562
645
|
if (res.run && !res.entry.ok)
|
|
@@ -565,17 +648,17 @@ async function executeBail(selected, ctx) {
|
|
|
565
648
|
return acc;
|
|
566
649
|
}
|
|
567
650
|
/**
|
|
568
|
-
* The wave scheduler
|
|
651
|
+
* The wave scheduler: run each wave's members concurrently through the pool,
|
|
569
652
|
* with a barrier between waves. Results are placed by their `selected` index and
|
|
570
653
|
* assembled in that order afterwards, so the report is deterministic regardless
|
|
571
|
-
* of which check finishes first
|
|
654
|
+
* of which check finishes first. Every selected check runs — there is no
|
|
572
655
|
* early stop off the `--bail` path.
|
|
573
656
|
*/
|
|
574
657
|
async function executeWaves(selected, ctx) {
|
|
575
658
|
const indexed = selected.map((r, i) => ({ r, i }));
|
|
576
659
|
const results = Array.from({ length: selected.length });
|
|
577
660
|
for (const wave of partitionWaves(indexed)) {
|
|
578
|
-
// oxlint-disable-next-line no-await-in-loop -- the between-values barrier
|
|
661
|
+
// oxlint-disable-next-line no-await-in-loop -- the between-values barrier: a wave runs to completion before the next distinct order value begins.
|
|
579
662
|
await runPool(wave, ctx.concurrency, async ({ r, i }) => { results[i] = await runSelectedCheck(r, ctx); });
|
|
580
663
|
}
|
|
581
664
|
const acc = emptyExecution();
|
|
@@ -595,7 +678,7 @@ function executeChecks(selected, ctx) {
|
|
|
595
678
|
/**
|
|
596
679
|
* Whether this run saw less than the full pipeline — an `--only`/`--skip`/
|
|
597
680
|
* `--changed` filter or an early `--bail` break. The ratchet is gated off for
|
|
598
|
-
* these: an unobserved diagnostic must not be mistaken for a fixed one
|
|
681
|
+
* these: an unobserved diagnostic must not be mistaken for a fixed one.
|
|
599
682
|
*/
|
|
600
683
|
function isPartialRun(options, changed, brokeEarly) {
|
|
601
684
|
return (options.only ?? null) !== null || (options.skip?.length ?? 0) > 0 || changed || brokeEarly;
|
|
@@ -641,20 +724,30 @@ function computeExitCode(summary, strict, json, stderr) {
|
|
|
641
724
|
}
|
|
642
725
|
/** Run the selected checks against `cwd`, persist output, write the summary. */
|
|
643
726
|
export async function runChecks(options) {
|
|
644
|
-
|
|
645
|
-
|
|
727
|
+
// Clear the interrupt latch. On the CLI path this is a no-op — the process
|
|
728
|
+
// re-raises the signal and dies — but `runChecks` is exported, and a
|
|
729
|
+
// long-lived programmatic consumer that took one SIGINT would otherwise have
|
|
730
|
+
// every later run silently spawn nothing (`spawnCheck` starts nothing while
|
|
731
|
+
// latched). A new call necessarily follows the previous one's return, so
|
|
732
|
+
// there is no in-flight run for this to un-latch.
|
|
733
|
+
interrupted = false;
|
|
734
|
+
const base = resolveRunContext(options);
|
|
735
|
+
const resolved = resolveChecks({ slots: base.slots, adapters: base.adapters, config: base.config, cwd: base.cwd });
|
|
646
736
|
// A usage error before any side effect: no `.check/` dir, no run, exit 2.
|
|
647
737
|
validateSelection(resolved, options);
|
|
648
|
-
await mkdir(join(
|
|
738
|
+
await mkdir(join(base.cwd, '.check'), { recursive: true });
|
|
649
739
|
const selected = selectChecks(resolved, options);
|
|
740
|
+
// The status-line column is sized once the selection is known, so a long
|
|
741
|
+
// custom-check name widens the column instead of overflowing it.
|
|
742
|
+
const ctx = { ...base, nameWidth: nameWidth(selected) };
|
|
650
743
|
if (!ctx.json)
|
|
651
744
|
writeLine(ctx.stderr, `\nRunning ${selected.length} check(s)...\n`);
|
|
652
|
-
// `--bail` is fail-fast sequential
|
|
745
|
+
// `--bail` is fail-fast sequential; a `--concurrency > 1` passed alongside
|
|
653
746
|
// is safe but moot, so say so once — not a usage error, the run just goes slow.
|
|
654
747
|
if (ctx.bail && (options.concurrency ?? 0) > 1 && !ctx.json) {
|
|
655
748
|
writeLine(ctx.stderr, '--concurrency ignored under --bail (fail-fast runs sequentially).');
|
|
656
749
|
}
|
|
657
|
-
// `total_duration_ms` is wall-clock of the execution phase
|
|
750
|
+
// `total_duration_ms` is wall-clock of the execution phase, so measure
|
|
658
751
|
// around it rather than summing per-check durations (which diverge under
|
|
659
752
|
// concurrency). The report array is assembled in `selected` order, not
|
|
660
753
|
// completion order, so it stays byte-reproducible regardless of interleaving.
|
|
@@ -666,7 +759,7 @@ export async function runChecks(options) {
|
|
|
666
759
|
await writeFileAtomic(join(ctx.cwd, '.check', 'summary.json'), `${JSON.stringify(summary, null, 2)}\n`);
|
|
667
760
|
// `--digest`: write (or, on green, clear) the token-bounded failure excerpt.
|
|
668
761
|
// A file beside summary.json, never a stdout stream, so the machine-output
|
|
669
|
-
// split holds
|
|
762
|
+
// split holds. Raw `.check/<slot>.json` files are already persisted and
|
|
670
763
|
// untouched — the digest only reads them.
|
|
671
764
|
const digestWritten = (options.digest ?? false) ? await writeDigest(ctx.cwd, runs, checks) : false;
|
|
672
765
|
if (ctx.json) {
|
|
@@ -712,12 +805,13 @@ export async function runFix(options) {
|
|
|
712
805
|
return { ok: true, exitCode: 0, ran: [] };
|
|
713
806
|
}
|
|
714
807
|
const ran = [];
|
|
808
|
+
const width = nameWidth(fixable);
|
|
715
809
|
let ok = true;
|
|
716
810
|
for (const r of fixable) {
|
|
717
811
|
const adapter = r.adapter;
|
|
718
812
|
if (!adapter)
|
|
719
813
|
continue;
|
|
720
|
-
writeLine(stderr, ` ▸ fix ${r.slot.padEnd(
|
|
814
|
+
writeLine(stderr, ` ▸ fix ${r.slot.padEnd(width)} (${adapter.name})`);
|
|
721
815
|
// oxlint-disable-next-line no-await-in-loop -- fixers mutate the working tree; running them sequentially prevents two (e.g. oxlint --fix and prettier --write) racing on the same files.
|
|
722
816
|
const outcome = await fixRunner(adapter, { cwd, pm });
|
|
723
817
|
ran.push(adapter.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../src/orchestrator.ts"],"names":[],"mappings":"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"}
|