@on-par/factory-cli 0.9.18-next.9 → 0.9.18

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 (108) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/detect-checks.d.ts +2 -0
  3. package/dist/cli/detect-checks.d.ts.map +1 -1
  4. package/dist/cli/detect-checks.js +13 -2
  5. package/dist/cli/detect-checks.js.map +1 -1
  6. package/dist/cli/doctor-clock-skew.d.ts +20 -0
  7. package/dist/cli/doctor-clock-skew.d.ts.map +1 -0
  8. package/dist/cli/doctor-clock-skew.js +37 -0
  9. package/dist/cli/doctor-clock-skew.js.map +1 -0
  10. package/dist/cli/doctor-health.d.ts +1 -1
  11. package/dist/cli/doctor-health.d.ts.map +1 -1
  12. package/dist/cli/doctor-health.js +7 -5
  13. package/dist/cli/doctor-health.js.map +1 -1
  14. package/dist/cli/doctor-queue-reconcile.d.ts +1 -1
  15. package/dist/cli/doctor-queue-reconcile.d.ts.map +1 -1
  16. package/dist/cli/doctor-queue-reconcile.js +7 -2
  17. package/dist/cli/doctor-queue-reconcile.js.map +1 -1
  18. package/dist/cli/doctor-verify.d.ts +3 -1
  19. package/dist/cli/doctor-verify.d.ts.map +1 -1
  20. package/dist/cli/doctor-verify.js +13 -8
  21. package/dist/cli/doctor-verify.js.map +1 -1
  22. package/dist/cli/doctor-worktree-reconcile.d.ts +8 -0
  23. package/dist/cli/doctor-worktree-reconcile.d.ts.map +1 -0
  24. package/dist/cli/doctor-worktree-reconcile.js +21 -0
  25. package/dist/cli/doctor-worktree-reconcile.js.map +1 -0
  26. package/dist/cli/doctor.d.ts.map +1 -1
  27. package/dist/cli/doctor.js +15 -18
  28. package/dist/cli/doctor.js.map +1 -1
  29. package/dist/cli/index.d.ts +2 -2
  30. package/dist/cli/index.d.ts.map +1 -1
  31. package/dist/cli/index.js +2 -1
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/cli/json-contract.d.ts +1 -0
  34. package/dist/cli/json-contract.d.ts.map +1 -1
  35. package/dist/cli/json-contract.js +1 -0
  36. package/dist/cli/json-contract.js.map +1 -1
  37. package/dist/cli/land-behind.d.ts +8 -0
  38. package/dist/cli/land-behind.d.ts.map +1 -0
  39. package/dist/cli/land-behind.js +21 -0
  40. package/dist/cli/land-behind.js.map +1 -0
  41. package/dist/cli/land-pr.d.ts +6 -0
  42. package/dist/cli/land-pr.d.ts.map +1 -1
  43. package/dist/cli/land-pr.js +105 -50
  44. package/dist/cli/land-pr.js.map +1 -1
  45. package/dist/cli/land.d.ts +3 -0
  46. package/dist/cli/land.d.ts.map +1 -1
  47. package/dist/cli/land.js +11 -11
  48. package/dist/cli/land.js.map +1 -1
  49. package/dist/cli/lane-file-hold.d.ts +4 -0
  50. package/dist/cli/lane-file-hold.d.ts.map +1 -0
  51. package/dist/cli/lane-file-hold.js +10 -0
  52. package/dist/cli/lane-file-hold.js.map +1 -0
  53. package/dist/cli/lane-heartbeat.d.ts +31 -3
  54. package/dist/cli/lane-heartbeat.d.ts.map +1 -1
  55. package/dist/cli/lane-heartbeat.js +74 -6
  56. package/dist/cli/lane-heartbeat.js.map +1 -1
  57. package/dist/cli/lane-park-comment.d.ts.map +1 -1
  58. package/dist/cli/lane-park-comment.js +2 -1
  59. package/dist/cli/lane-park-comment.js.map +1 -1
  60. package/dist/cli/lane-pause.d.ts +6 -1
  61. package/dist/cli/lane-pause.d.ts.map +1 -1
  62. package/dist/cli/lane-pause.js +30 -0
  63. package/dist/cli/lane-pause.js.map +1 -1
  64. package/dist/cli/queue-preflight.d.ts +4 -2
  65. package/dist/cli/queue-preflight.d.ts.map +1 -1
  66. package/dist/cli/queue-preflight.js +1 -1
  67. package/dist/cli/queue-preflight.js.map +1 -1
  68. package/dist/cli/queue-startup.d.ts +55 -0
  69. package/dist/cli/queue-startup.d.ts.map +1 -1
  70. package/dist/cli/queue-startup.js +78 -2
  71. package/dist/cli/queue-startup.js.map +1 -1
  72. package/dist/cli/reset.d.ts.map +1 -1
  73. package/dist/cli/reset.js +4 -4
  74. package/dist/cli/reset.js.map +1 -1
  75. package/dist/cli/run-branch.js +1 -1
  76. package/dist/cli/run-branch.js.map +1 -1
  77. package/dist/cli/run-lane-deps.d.ts +6 -0
  78. package/dist/cli/run-lane-deps.d.ts.map +1 -1
  79. package/dist/cli/run-lane-load-hold.d.ts +14 -0
  80. package/dist/cli/run-lane-load-hold.d.ts.map +1 -0
  81. package/dist/cli/run-lane-load-hold.js +22 -0
  82. package/dist/cli/run-lane-load-hold.js.map +1 -0
  83. package/dist/cli/run-lane-restack.d.ts +13 -0
  84. package/dist/cli/run-lane-restack.d.ts.map +1 -0
  85. package/dist/cli/run-lane-restack.js +21 -0
  86. package/dist/cli/run-lane-restack.js.map +1 -0
  87. package/dist/cli/run-lane.d.ts.map +1 -1
  88. package/dist/cli/run-lane.js +32 -48
  89. package/dist/cli/run-lane.js.map +1 -1
  90. package/dist/cli/run.d.ts +1 -0
  91. package/dist/cli/run.d.ts.map +1 -1
  92. package/dist/cli/run.js +12 -11
  93. package/dist/cli/run.js.map +1 -1
  94. package/dist/cli/ship-run-state.d.ts +5 -0
  95. package/dist/cli/ship-run-state.d.ts.map +1 -1
  96. package/dist/cli/ship-run-state.js +18 -1
  97. package/dist/cli/ship-run-state.js.map +1 -1
  98. package/dist/cli/ship.d.ts +2 -0
  99. package/dist/cli/ship.d.ts.map +1 -1
  100. package/dist/cli/ship.js +7 -14
  101. package/dist/cli/ship.js.map +1 -1
  102. package/dist/cli/steer.js +3 -3
  103. package/dist/cli/steer.js.map +1 -1
  104. package/dist/cli/unpark.d.ts.map +1 -1
  105. package/dist/cli/unpark.js +4 -2
  106. package/dist/cli/unpark.js.map +1 -1
  107. package/package.json +4 -4
  108. package/schemas/logs-line.schema.json +5 -0
package/README.md CHANGED
@@ -18,7 +18,7 @@ factory doctor
18
18
 
19
19
  Also requires `git`, one supported coding agent CLI (see [docs/agents.md](https://github.com/on-par/software-factory/blob/main/docs/agents.md)), signed in, and the GitHub CLI signed in with `gh auth login`. The factory reads `GITHUB_TOKEN`, then `GH_TOKEN`, and falls back to `gh auth token`. `factory doctor` checks all of this and prints a fix for anything missing. It also checks your git identity and the sandbox runtime, and it runs outside a repo. Global or repo-local `git config` for `user.name` and `user.email` both work. On Linux, install `firejail` first; without it, Codex still runs with `--sandbox workspace-write`.
20
20
 
21
- `factory init` creates a local-only `.factory/` (git-excluded) with a `default-code` constitution. See the main README quick start.
21
+ `factory init` writes `.factory/` with a `default-code` constitution; commit `config.yaml` and `constitution.md`, and only `state/` stays ignored. See the main README quick start.
22
22
 
23
23
  ## Safety
24
24
 
@@ -30,7 +30,7 @@ Agents run with their permission prompts off (Claude Code with `--permission-mod
30
30
  npm install -g @on-par/factory-cli@latest
31
31
  ```
32
32
 
33
- `factory self-update --check` reports whether a newer release is on npm. It works in 0.9.3 and later. Automatic updates are planned: [#2355](https://github.com/on-par/software-factory/issues/2355), [#1939](https://github.com/on-par/software-factory/issues/1939).
33
+ `factory self-update --check` reports whether a newer release is on npm. It works in 0.9.3 and later. `factory self-update --to <version>` (0.9.6 and later) installs that exact stable version next to the running Node, runs `factory doctor`, restarts factoryd, and rolls back if the install or doctor fails. factoryd installed from npm runs the same update on its own when a new stable release appears. See [docs/ops/updating.md](https://github.com/on-par/software-factory/blob/main/docs/ops/updating.md) and the [CHANGELOG](https://github.com/on-par/software-factory/blob/main/CHANGELOG.md).
34
34
 
35
35
  ## Documentation
36
36
 
@@ -1,3 +1,4 @@
1
+ import { type CostEntry } from '@on-par/factory-core';
1
2
  import { type CheckProposal } from '@on-par/factory-core/internal';
2
3
  export interface DryRunResult {
3
4
  ok: boolean;
@@ -40,6 +41,7 @@ export interface DetectChecksRouter {
40
41
  /** `factory init --detect-checks`: detect with the repo's router (missing harness CLIs skipped) into its config file. */
41
42
  export declare function detectChecksForInit(repoRoot: string, router: DetectChecksRouter & {
42
43
  skipMissingHarnessClis(available: (cmd: string) => boolean): void;
44
+ setCostSink(sink: (entry: Omit<CostEntry, 'ts' | 'issue'>) => void): void;
43
45
  }, yes: boolean, tty?: Parameters<typeof detectChecksIo>[2]): Promise<DetectChecksOutcome>;
44
46
  /** The real agent, dry-run, confirm and log for `factory init --detect-checks`. Confirm answers no off a TTY. */
45
47
  export declare function detectChecksIo(repoRoot: string, router?: DetectChecksRouter, tty?: {
@@ -1 +1 @@
1
- {"version":3,"file":"detect-checks.d.ts","sourceRoot":"","sources":["../../src/cli/detect-checks.ts"],"names":[],"mappings":"AAOA,OAAO,EAUL,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,GAAG,EAAE,OAAO,CAAC;IACb,yFAAyF;IACzF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAClD,+DAA+D;IAC/D,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,aAAa,CAAC;IACxB,qEAAqE;IACrE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAC5D,sEAAsE;IACtE,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;CAC/B;AAkCD,gHAAgH;AAChH,wBAAsB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsC1F;AAID,qFAAqF;AACrF,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpH;AAED,yHAAyH;AACzH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,kBAAkB,GAAG;IAAE,sBAAsB,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAA;CAAE,EAClG,GAAG,EAAE,OAAO,EACZ,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,mBAAmB,CAAC,CAI9B;AAED,iHAAiH;AACjH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,GAAG,GAAE;IAAE,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAA;CAGvF,GACA,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC,CA2BhF"}
1
+ {"version":3,"file":"detect-checks.d.ts","sourceRoot":"","sources":["../../src/cli/detect-checks.ts"],"names":[],"mappings":"AAMA,OAAO,EAAuC,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAYL,KAAK,aAAa,EACnB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,GAAG,EAAE,OAAO,CAAC;IACb,yFAAyF;IACzF,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IAClD,+DAA+D;IAC/D,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,aAAa,CAAC;IACxB,qEAAqE;IACrE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IAC5D,sEAAsE;IACtE,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;CAC/B;AA2CD,gHAAgH;AAChH,wBAAsB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsC1F;AAID,qFAAqF;AACrF,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpH;AAED,yHAAyH;AACzH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,kBAAkB,GAAG;IAC3B,sBAAsB,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IAClE,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;CAC3E,EACD,GAAG,EAAE,OAAO,EACZ,GAAG,CAAC,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,mBAAmB,CAAC,CAO9B;AAED,iHAAiH;AACjH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,GAAG,GAAE;IAAE,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAA;CAGvF,GACA,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC,CA2BhF"}
@@ -3,7 +3,7 @@
3
3
  import { basename } from 'node:path';
4
4
  import { createInterface } from 'node:readline/promises';
5
5
  import { getFactoryPaths, isCommandAvailable } from '@on-par/factory-core';
6
- import { buildDetectChecksPrompt, CHECK_KINDS, detectCheckHeuristics, heuristicProposal, parseDetectedChecks, readRepoConfigFile, runCommand, setRepoConfigValue, tokenizeEvidenceCommand, } from '@on-par/factory-core/internal';
6
+ import { buildDetectChecksPrompt, CHECK_KINDS, detectCheckHeuristics, heuristicProposal, logCost, parseDetectedChecks, readRepoConfigFile, resolveTestsCommand, runCommand, setRepoConfigValue, tokenizeEvidenceCommand, } from '@on-par/factory-core/internal';
7
7
  function existingChecks(configPath) {
8
8
  const checks = readRepoConfigFile(configPath)?.checks;
9
9
  return typeof checks === 'object' && checks !== null && !Array.isArray(checks) ? checks : {};
@@ -37,13 +37,21 @@ async function propose(deps) {
37
37
  }
38
38
  return { proposal: fallback, source: 'heuristics' };
39
39
  }
40
+ /** The closing line when nothing was found: what CHECK still runs, so it never claims no test command exists (#3603). */
41
+ async function nothingToDeclareMessage(repoRoot) {
42
+ const tests = await resolveTestsCommand({ worktree: repoRoot }).catch(() => null);
43
+ if (!tests || tests.runner === 'none') {
44
+ return 'No build, test or lint command found. Declare them by hand under `checks` in the repo config.';
45
+ }
46
+ return `No build, test or lint command to declare. CHECK will run \`${tests.argv.join(' ')}\` (${tests.label}) for tests; declare other commands by hand under \`checks\` in the repo config.`;
47
+ }
40
48
  /** Detect, dry-run, confirm and write the repo's CHECK commands. Never throws for a failed agent or dry-run. */
41
49
  export async function runDetectChecks(deps) {
42
50
  const { configPath, log } = deps;
43
51
  const { proposal, source } = await propose(deps);
44
52
  const dryRuns = {};
45
53
  if (Object.keys(proposal).length === 0) {
46
- log('No build, test or lint command found. Declare them by hand under `checks` in the repo config.');
54
+ log(await nothingToDeclareMessage(deps.repoRoot));
47
55
  return { proposal, source, dryRuns, written: null };
48
56
  }
49
57
  const keep = {};
@@ -80,6 +88,9 @@ const DRY_RUN_TIMEOUT_MS = 15 * 60_000;
80
88
  /** `factory init --detect-checks`: detect with the repo's router (missing harness CLIs skipped) into its config file. */
81
89
  export async function detectChecksForInit(repoRoot, router, yes, tty) {
82
90
  router.skipMissingHarnessClis(isCommandAvailable);
91
+ // The detect_checks call's spend goes to the cost ledger like `factory triage` (#3603).
92
+ const costs = getFactoryPaths(repoRoot).costs;
93
+ router.setCostSink((entry) => logCost(costs, { ...entry, issue: '-' }));
83
94
  const io = detectChecksIo(repoRoot, router, tty);
84
95
  return runDetectChecks({ ...io, configPath: getFactoryPaths(repoRoot).config, yes });
85
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"detect-checks.js","sourceRoot":"","sources":["../../src/cli/detect-checks.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,kGAAkG;AAElG,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,uBAAuB,GAExB,MAAM,+BAA+B,CAAC;AAgCvC,SAAS,cAAc,CAAC,UAAkB;IACxC,MAAM,MAAM,GAAI,kBAAkB,CAAC,UAAU,CAAsC,EAAE,MAAM,CAAC;IAC5F,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;AAClH,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,IAAsB;IAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC/B,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAE7F,GAAG,CAAC,6BAA6B,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,GAAG,CAAC,iEAAiE,CAAC,CAAC;QACvE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACtD,CAAC;IACD,GAAG,CAAC,0FAA0F,CAAC,CAAC;IAChG,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,uBAAuB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7G,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,QAAQ;gBACpC,GAAG,CAAC,iEAAiE,QAAQ,EAAE,CAAC,CAAC;YACnF,IAAI,MAAM,CAAC,KAAK;gBAAE,GAAG,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACrG,CAAC;QACD,GAAG,CAAC,4DAA4D,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACtH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AACtD,CAAC;AAED,gHAAgH;AAChH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAsB;IAC1D,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAmC,EAAE,CAAC;IACnD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,+FAA+F,CAAC,CAAC;QACrG,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,OAAO,KAAK,SAAS;YAAE,SAAS;QACpC,GAAG,CAAC,eAAe,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,uBAAuB,CAAC,OAAO,CAAE,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACvB,GAAG,CAAC,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,MAAM,OAAO,iCAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjH,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;QACvB,CAAC;IACH,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtD,CAAC;IAED,MAAM,IAAI,GAAG,YAAY,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;SAC7D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9B,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,OAAO,QAAQ,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,kEAAkE,IAAI,WAAW,CAAC,CAAC;QACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,OAAO,GAAG,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3D,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5G,GAAG,CAAC,mBAAmB,IAAI,KAAK,OAAO,kDAAkD,CAAC,CAAC;IAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,kBAAkB,GAAG,EAAE,GAAG,MAAM,CAAC;AAOvC,yHAAyH;AACzH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,MAAkG,EAClG,GAAY,EACZ,GAA0C;IAE1C,MAAM,CAAC,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACjD,OAAO,eAAe,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;AACvF,CAAC;AAED,iHAAiH;AACjH,MAAM,UAAU,cAAc,CAC5B,QAAgB,EAChB,MAA2B,EAC3B,GAAG,GAA0F;IAC3F,KAAK,EAAE,OAAO,CAAC,KAAK;IACpB,MAAM,EAAE,OAAO,CAAC,MAAM;CACvB;IAED,OAAO;QACL,QAAQ;QACR,GAAG,CAAC,MAAM,IAAI;YACZ,QAAQ,EAAE,KAAK,EAAE,MAAc,EAAE,EAAE,CACjC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM;SAClG,CAAC;QACF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACnF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,CAAC,EAAE;gBAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,OAAO,GAAG,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACrG,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,OAAO,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK;gBAAE,OAAO,KAAK,CAAC;YACnC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACrE,IAAI,CAAC;gBACH,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC5E,CAAC;oBAAS,CAAC;gBACT,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QACD,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;KACjC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"detect-checks.js","sourceRoot":"","sources":["../../src/cli/detect-checks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { measureGithubClockSkew } from '@on-par/factory-core/internal';
2
+ import type { DoctorCheck } from './doctor.js';
3
+ /** `{ measured: false }` (no GitHub token) yields no row; a null skew means the Date header could not be read. */
4
+ export declare function clockSkewCheck(skew: {
5
+ measured: false;
6
+ } | {
7
+ measured: true;
8
+ skewMs: number | null;
9
+ }, maxClockSkewMs: number): DoctorCheck | null;
10
+ /** Measures skew uncached, only when a GitHub token exists; a failed call is a null skew. */
11
+ export declare function measureDoctorClockSkew(rt: {
12
+ hasGitHubToken: () => boolean;
13
+ getOctokit: () => Parameters<typeof measureGithubClockSkew>[0];
14
+ }): Promise<{
15
+ measured: false;
16
+ } | {
17
+ measured: true;
18
+ skewMs: number | null;
19
+ }>;
20
+ //# sourceMappingURL=doctor-clock-skew.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-clock-skew.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-clock-skew.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,kHAAkH;AAClH,wBAAgB,cAAc,CAC5B,IAAI,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EACrE,cAAc,EAAE,MAAM,GACrB,WAAW,GAAG,IAAI,CAwBpB;AAED,6FAA6F;AAC7F,wBAAsB,sBAAsB,CAAC,EAAE,EAAE;IAC/C,cAAc,EAAE,MAAM,OAAO,CAAC;IAC9B,UAAU,EAAE,MAAM,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;CAChE,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAG3E"}
@@ -0,0 +1,37 @@
1
+ // packages/cli/src/cli/doctor-clock-skew.ts — the `clock skew` doctor row: local clock vs GitHub's Date header (#3149).
2
+ import { measureGithubClockSkew } from '@on-par/factory-core/internal';
3
+ const NAME = 'clock skew';
4
+ /** `{ measured: false }` (no GitHub token) yields no row; a null skew means the Date header could not be read. */
5
+ export function clockSkewCheck(skew, maxClockSkewMs) {
6
+ if (!skew.measured)
7
+ return null;
8
+ if (skew.skewMs === null) {
9
+ return {
10
+ name: NAME,
11
+ ok: false,
12
+ optional: true,
13
+ detail: 'could not read the GitHub Date header',
14
+ fix: 'check GitHub API reachability',
15
+ };
16
+ }
17
+ const seconds = skew.skewMs / 1000;
18
+ const signed = `${seconds > 0 ? '+' : ''}${seconds}`;
19
+ const detail = `local clock is ${signed}s vs GitHub (max ${maxClockSkewMs / 1000}s)`;
20
+ if (Math.abs(skew.skewMs) > maxClockSkewMs) {
21
+ return {
22
+ name: NAME,
23
+ ok: false,
24
+ optional: true,
25
+ detail: `${detail}; the stale-claim reaper refuses to reap`,
26
+ fix: 'sync this host clock with NTP (sntp/timedatectl)',
27
+ };
28
+ }
29
+ return { name: NAME, ok: true, detail };
30
+ }
31
+ /** Measures skew uncached, only when a GitHub token exists; a failed call is a null skew. */
32
+ export async function measureDoctorClockSkew(rt) {
33
+ if (!rt.hasGitHubToken())
34
+ return { measured: false };
35
+ return { measured: true, skewMs: await measureGithubClockSkew(rt.getOctokit()).catch(() => null) };
36
+ }
37
+ //# sourceMappingURL=doctor-clock-skew.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-clock-skew.js","sourceRoot":"","sources":["../../src/cli/doctor-clock-skew.ts"],"names":[],"mappings":"AAAA,wHAAwH;AAExH,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAIvE,MAAM,IAAI,GAAG,YAAY,CAAC;AAE1B,kHAAkH;AAClH,MAAM,UAAU,cAAc,CAC5B,IAAqE,EACrE,cAAsB;IAEtB,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,uCAAuC;YAC/C,GAAG,EAAE,+BAA+B;SACrC,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,MAAM,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;IACrD,MAAM,MAAM,GAAG,kBAAkB,MAAM,oBAAoB,cAAc,GAAG,IAAI,IAAI,CAAC;IACrF,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;QAC3C,OAAO;YACL,IAAI,EAAE,IAAI;YACV,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,GAAG,MAAM,0CAA0C;YAC3D,GAAG,EAAE,kDAAkD;SACxD,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1C,CAAC;AAED,6FAA6F;AAC7F,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAG5C;IACC,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IACrD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AACrG,CAAC"}
@@ -48,7 +48,7 @@ export interface ReleasedClaim {
48
48
  issue: number;
49
49
  expiresAt: number;
50
50
  released: boolean;
51
- outcome?: 'released' | 'renewed' | 'failed';
51
+ outcome?: 'released' | 'renewed' | 'failed' | 'refused-clock-skew';
52
52
  detail?: string;
53
53
  }
54
54
  export declare function formatClaimReconcileReport(released: ReleasedClaim[]): string;
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-health.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-health.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,UAAU,GAAG,kBAAkB,CAAC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,WAAW,EAAE,CAwBjE;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAWlE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,GAAG,WAAW,CAuB9E;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,EAAE,CAU7E;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,EAAE,CAU3E;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CASxE;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAStE;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAC7E,MAAM,CAMR;AAED;mGACmG;AACnG,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAUnF;AAED;;yCAEyC;AACzC,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAY5E;AAED;8FAC8F;AAC9F,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,0FAA0F;AAC1F,MAAM,MAAM,iBAAiB,GACzB;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,kBAAkB,EAAE,CAAA;CAAE,GAC5C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAIzC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,EAAE,CAyB9E;AAED,sGAAsG;AACtG,MAAM,MAAM,uBAAuB,GAC/B;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,kBAAkB,EAAE,CAAA;CAAE,GAC9C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAIzC,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW,EAAE,CAgCvF"}
1
+ {"version":3,"file":"doctor-health.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-health.ts"],"names":[],"mappings":"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"}
@@ -121,11 +121,13 @@ export function formatClaimReconcileReport(released) {
121
121
  if (released.length === 0)
122
122
  return 'reconcile: no stale claims';
123
123
  return released
124
- .map((c) => c.outcome === 'renewed'
125
- ? `reconcile: skipped issue #${c.issue}: lease renewed since the stale read (was expired at ${c.expiresAt})`
126
- : c.released
127
- ? `reconcile: released issue #${c.issue} back to factory:queued (lease expired at ${c.expiresAt})`
128
- : `reconcile: failed to release issue #${c.issue} (lease expired at ${c.expiresAt}): ${c.detail ?? 'unknown error'}`)
124
+ .map((c) => c.outcome === 'refused-clock-skew'
125
+ ? `reconcile: refused to release issue #${c.issue} (lease expired at ${c.expiresAt}): ${c.detail ?? 'local clock is skewed from GitHub'}`
126
+ : c.outcome === 'renewed'
127
+ ? `reconcile: skipped issue #${c.issue}: lease renewed since the stale read (was expired at ${c.expiresAt})`
128
+ : c.released
129
+ ? `reconcile: released issue #${c.issue} back to factory:queued (lease expired at ${c.expiresAt})`
130
+ : `reconcile: failed to release issue #${c.issue} (lease expired at ${c.expiresAt}): ${c.detail ?? 'unknown error'}`)
129
131
  .join('\n');
130
132
  }
131
133
  const GREEN_PR_CHECK = 'green PRs awaiting merge';
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-health.js","sourceRoot":"","sources":["../../src/cli/doctor-health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-health.js","sourceRoot":"","sources":["../../src/cli/doctor-health.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,6 @@ import type { Octokit } from '@octokit/rest';
2
2
  import type { CliDeps } from './index.js';
3
3
  type QueueOps = Required<Pick<CliDeps, 'releaseStaleClaims' | 'pollBlockedParks'>>;
4
4
  /** Never throws: each step prints its own failure line. */
5
- export declare function reconcileQueue(ops: QueueOps, ghRepo: string | undefined, octokit: Octokit | undefined, eventsFile: string): Promise<void>;
5
+ export declare function reconcileQueue(ops: QueueOps, ghRepo: string | undefined, octokit: Octokit | undefined, eventsFile: string, maxClockSkewMs?: number): Promise<void>;
6
6
  export {};
7
7
  //# sourceMappingURL=doctor-queue-reconcile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-queue-reconcile.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-queue-reconcile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAK7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,KAAK,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,GAAG,kBAAkB,CAAC,CAAC,CAAC;AAInF,2DAA2D;AAC3D,wBAAsB,cAAc,CAClC,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CA2Cf"}
1
+ {"version":3,"file":"doctor-queue-reconcile.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-queue-reconcile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAK7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,KAAK,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,GAAG,kBAAkB,CAAC,CAAC,CAAC;AAInF,2DAA2D;AAC3D,wBAAsB,cAAc,CAClC,GAAG,EAAE,QAAQ,EACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAgDf"}
@@ -4,13 +4,18 @@ import { createOctokitBlockedParkStore, createOctokitQueueClient } from '@on-par
4
4
  import { formatClaimReconcileReport } from './doctor-health.js';
5
5
  const errMessage = (err) => err?.message ?? String(err);
6
6
  /** Never throws: each step prints its own failure line. */
7
- export async function reconcileQueue(ops, ghRepo, octokit, eventsFile) {
7
+ export async function reconcileQueue(ops, ghRepo, octokit, eventsFile, maxClockSkewMs) {
8
8
  const [owner, repo] = ghRepo?.split('/') ?? [];
9
9
  // Stale claim reap (#999): factory:in-progress claims naming a dead local pid go back to
10
10
  // factory:queued so the next run can claim them with no manual label surgery.
11
11
  try {
12
12
  if (ghRepo && octokit) {
13
- const released = await ops.releaseStaleClaims({ client: createOctokitQueueClient(octokit), owner, repo });
13
+ const released = await ops.releaseStaleClaims({
14
+ client: createOctokitQueueClient(octokit),
15
+ owner,
16
+ repo,
17
+ maxClockSkewMs,
18
+ });
14
19
  console.log(formatClaimReconcileReport(released));
15
20
  }
16
21
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-queue-reconcile.js","sourceRoot":"","sources":["../../src/cli/doctor-queue-reconcile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-queue-reconcile.js","sourceRoot":"","sources":["../../src/cli/doctor-queue-reconcile.ts"],"names":[],"mappings":"AAAA,mIAAmI;AAGnI,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAExG,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAKhE,MAAM,UAAU,GAAG,CAAC,GAAQ,EAAU,EAAE,CAAC,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;AAErE,2DAA2D;AAC3D,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAa,EACb,MAA0B,EAC1B,OAA4B,EAC5B,UAAkB,EAClB,cAAuB;IAEvB,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC/C,yFAAyF;IACzF,8EAA8E;IAC9E,IAAI,CAAC;QACH,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,kBAAkB,CAAC;gBAC5C,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAC;gBACzC,KAAK;gBACL,IAAI;gBACJ,cAAc;aACf,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,0CAA0C,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,wFAAwF;IACxF,IAAI,CAAC;QACH,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC;gBACzC,MAAM,EAAE,wBAAwB,CAAC,OAAO,CAAC;gBACzC,KAAK;gBACL,IAAI;gBACJ,KAAK,EAAE,6BAA6B,CAAC,OAAO,EAAE,MAAM,CAAC;gBACrD,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;oBAC7B,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAChF,IAAI,IAAI,KAAK,MAAM;wBAAE,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;;wBACtC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;gBACvC,CAAC;aACF,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACnF,OAAO,CAAC,GAAG,CACT,6BAA6B,KAAK,CAAC,UAAU,CAAC,cAAc,KAAK,CAAC,MAAM,CAAC,UAAU,KAAK,CAAC,QAAQ,CAAC,YAAY,KAAK,CAAC,SAAS,CAAC,UAAU,CACzI,CAAC;YACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS;oBAAE,SAAS;gBACjE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,wCAAwC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
@@ -5,7 +5,7 @@ export interface VerifyCommandRow {
5
5
  kind: VerifyKind;
6
6
  /** The command CHECK runs, space-joined argv; null when none resolves. */
7
7
  command: string | null;
8
- /** Where it came from: .factory/config.json (`checks`), scripts/verify.sh, scripts/verify.ps1, package.json, pytest, Makefile, Cargo.toml, tsconfig.json; null when none. */
8
+ /** Where it came from: the repo config file (`checks`), scripts/verify.sh, scripts/verify.ps1, package.json, pytest, Makefile, Cargo.toml, tsconfig.json; null when none. */
9
9
  source: string | null;
10
10
  /** argv[0]; null when there is no command. */
11
11
  executable: string | null;
@@ -17,6 +17,8 @@ export interface ResolvedVerifyCommands {
17
17
  error?: string;
18
18
  /** The config file probed for `checks`, named in the missing-command rows (#3600). */
19
19
  checksProbe?: string;
20
+ /** The repo config file name shown in fix hints, e.g. `.factory/config.yaml` (#3604). */
21
+ configFile?: string;
20
22
  }
21
23
  /** Asks the CHECK resolvers what CHECK will run, so doctor cannot drift from CHECK. A resolver
22
24
  * failure (for example a malformed package.json) comes back as `error`, never a throw. */
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-verify.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-verify.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,cAAc,WAAW,CAAC;AAEvC,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,6KAA6K;IAC7K,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAiBD;2FAC2F;AAC3F,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAsB7F;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,EAAE,EACxB,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GACzC,gBAAgB,EAAE,CAEpB;AA8CD;8EAC8E;AAC9E,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,sBAAsB,EAChC,IAAI,EAAE;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,GAC1E,WAAW,EAAE,CA4Bf;AAED,wGAAwG;AACxG,wBAAgB,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAG,WAAW,CAYjF"}
1
+ {"version":3,"file":"doctor-verify.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-verify.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,cAAc,WAAW,CAAC;AAEvC,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,CAAC;IACjB,0EAA0E;IAC1E,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,6KAA6K;IAC7K,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAiBD;2FAC2F;AAC3F,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAwB7F;AAED,mFAAmF;AACnF,wBAAgB,eAAe,CAC7B,IAAI,EAAE,gBAAgB,EAAE,EACxB,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GACzC,gBAAgB,EAAE,CAEpB;AAoDD;8EAC8E;AAC9E,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,sBAAsB,EAChC,IAAI,EAAE;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,GAC1E,WAAW,EAAE,CA6Bf;AAED,wGAAwG;AACxG,wBAAgB,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,GAAG,WAAW,CAYjF"}
@@ -1,4 +1,6 @@
1
1
  // packages/cli/src/cli/doctor-verify.ts — `factory doctor` Verify section: the build/test/lint commands CHECK will run (#3473)
2
+ import { basename } from 'node:path';
3
+ import { getFactoryPaths } from '@on-par/factory-core';
2
4
  import { describeChecksProbe, resolveCompileCommand, resolveLintCommands, resolveTestsCommand, } from '@on-par/factory-core/internal';
3
5
  import { MIN_NODE_MAJOR } from '../node-version.js';
4
6
  export const VERIFY_SECTION = 'Verify';
@@ -18,6 +20,7 @@ const emptyRow = (kind) => ({ kind, command: null, source: null, executable: nul
18
20
  export async function resolveVerifyCommands(repoRoot) {
19
21
  const src = { worktree: repoRoot };
20
22
  const checksProbe = describeChecksProbe(src, 'source checkout');
23
+ const configFile = `.factory/${basename(getFactoryPaths(repoRoot).config)}`;
21
24
  try {
22
25
  const build = await resolveCompileCommand(src);
23
26
  const tests = await resolveTestsCommand(src);
@@ -33,19 +36,21 @@ export async function resolveVerifyCommands(repoRoot) {
33
36
  : [emptyRow('lint')]),
34
37
  ],
35
38
  checksProbe,
39
+ configFile,
36
40
  };
37
41
  }
38
42
  catch (err) {
39
- return { rows: [], error: err instanceof Error ? err.message : String(err) };
43
+ return { rows: [], error: err instanceof Error ? err.message : String(err), checksProbe, configFile };
40
44
  }
41
45
  }
42
46
  /** Rows with `onPath` filled from the host's PATH, for `factory doctor --json`. */
43
47
  export function withPathResults(rows, commandAvailable) {
44
48
  return rows.map((r) => ({ ...r, onPath: r.executable === null ? null : commandAvailable(r.executable) }));
45
49
  }
46
- const NO_TESTS_FIX = 'run `factory init --detect-checks` to find and declare your test command under `checks` in .factory/config.json (or add scripts/verify.sh, scripts/verify.ps1, or a package.json "test" script)';
47
- const DEFAULT_CHECKS_PROBE = '.factory/config.yaml|yml|json';
48
- function missingRow(row, requireTests, probe = DEFAULT_CHECKS_PROBE) {
50
+ const noTestsFix = (configFile) => `run \`factory init --detect-checks\` to find and declare your test command under \`checks\` in ${configFile} (or add scripts/verify.sh, scripts/verify.ps1, or a package.json "test" script)`;
51
+ const DEFAULT_CONFIG_FILE = '.factory/config.yaml|yml|json';
52
+ const DEFAULT_CHECKS_PROBE = DEFAULT_CONFIG_FILE;
53
+ function missingRow(row, requireTests, probe = DEFAULT_CHECKS_PROBE, configFile = DEFAULT_CONFIG_FILE) {
49
54
  const section = VERIFY_SECTION;
50
55
  const noTestsDetail = `no checks.test in ${probe}, scripts/verify.sh, scripts/verify.ps1, package.json test script or pytest surface`;
51
56
  if (row.kind === 'test') {
@@ -55,7 +60,7 @@ function missingRow(row, requireTests, probe = DEFAULT_CHECKS_PROBE) {
55
60
  section,
56
61
  ok: false,
57
62
  detail: `CHECK will run no tests, but the constitution sets requireTests: true; ${noTestsDetail}`,
58
- fix: NO_TESTS_FIX,
63
+ fix: noTestsFix(configFile),
59
64
  }
60
65
  : {
61
66
  name: 'verify test',
@@ -63,7 +68,7 @@ function missingRow(row, requireTests, probe = DEFAULT_CHECKS_PROBE) {
63
68
  ok: false,
64
69
  optional: true,
65
70
  detail: `CHECK will run no tests; ${noTestsDetail}`,
66
- fix: NO_TESTS_FIX,
71
+ fix: noTestsFix(configFile),
67
72
  };
68
73
  }
69
74
  if (row.kind === 'build') {
@@ -95,14 +100,14 @@ export function verifyCommandChecks(resolved, opts) {
95
100
  section,
96
101
  ok: false,
97
102
  detail: `cannot resolve CHECK commands: ${resolved.error}`,
98
- fix: 'fix package.json and .factory/config.json so they parse',
103
+ fix: `fix package.json and ${resolved.configFile ?? DEFAULT_CONFIG_FILE} so they parse`,
99
104
  },
100
105
  ];
101
106
  }
102
107
  return resolved.rows.map((row) => {
103
108
  const { command, source, executable } = row;
104
109
  if (command === null || executable === null)
105
- return missingRow(row, opts.requireTests, resolved.checksProbe);
110
+ return missingRow(row, opts.requireTests, resolved.checksProbe, resolved.configFile);
106
111
  const name = row.kind === 'lint' ? `verify lint (${source})` : `verify ${row.kind}`;
107
112
  if (opts.commandAvailable(executable)) {
108
113
  return { name, section, ok: true, detail: `\`${command}\` (from ${source}); ${executable} found on PATH` };
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-verify.js","sourceRoot":"","sources":["../../src/cli/doctor-verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-verify.js","sourceRoot":"","sources":["../../src/cli/doctor-verify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Octokit } from '@octokit/rest';
2
+ import type { FactoryConfig, getFactoryPaths } from '@on-par/factory-core';
3
+ import type { DoctorRuntime } from './doctor.js';
4
+ /** Never throws: a failed sweep prints its own failure line. */
5
+ export declare function reconcileWorktrees(rt: Pick<DoctorRuntime, 'gcWorktreeSandbox'> & {
6
+ internalOps: Pick<DoctorRuntime['internalOps'], 'sweepWorktrees'>;
7
+ }, repoRoot: string, paths: ReturnType<typeof getFactoryPaths>, factoryConfig: FactoryConfig, ghRepo: string | undefined, octokit: Octokit | undefined): Promise<void>;
8
+ //# sourceMappingURL=doctor-worktree-reconcile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-worktree-reconcile.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-worktree-reconcile.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAa,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAItF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,gEAAgE;AAChE,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG;IAAE,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC,CAAA;CAAE,EACpH,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,EACzC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,OAAO,CAAC,IAAI,CAAC,CAqBf"}
@@ -0,0 +1,21 @@
1
+ // packages/cli/src/cli/doctor-worktree-reconcile.ts — `doctor --reconcile` worktree sweep (#998)
2
+ import { logEvent, resolveBranchPrefix, withFileLock, withGitLock } from '@on-par/factory-core/internal';
3
+ import { formatWorktreeReconcileReport } from './doctor-health.js';
4
+ /** Never throws: a failed sweep prints its own failure line. */
5
+ export async function reconcileWorktrees(rt, repoRoot, paths, factoryConfig, ghRepo, octokit) {
6
+ try {
7
+ const gcLog = (type, msg) => logEvent(paths.events, type, '-', msg);
8
+ const gcSandbox = rt.gcWorktreeSandbox(factoryConfig.sandbox, repoRoot);
9
+ const report = await withGitLock(repoRoot, () => withFileLock(paths.gitLock, () => rt.internalOps.sweepWorktrees({
10
+ repoRoot,
11
+ ttlDays: factoryConfig.worktree.gcTtlDays,
12
+ repo: ghRepo,
13
+ branchPrefix: resolveBranchPrefix(),
14
+ }, { log: gcLog, octokit, sandbox: gcSandbox })));
15
+ console.log(formatWorktreeReconcileReport(report.removed));
16
+ }
17
+ catch (err) {
18
+ console.log(`reconcile: worktree sweep failed: ${err?.message ?? String(err)}`);
19
+ }
20
+ }
21
+ //# sourceMappingURL=doctor-worktree-reconcile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-worktree-reconcile.js","sourceRoot":"","sources":["../../src/cli/doctor-worktree-reconcile.ts"],"names":[],"mappings":"AAAA,iGAAiG;AAIjG,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEzG,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAGnE,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,EAAoH,EACpH,QAAgB,EAChB,KAAyC,EACzC,aAA4B,EAC5B,MAA0B,EAC1B,OAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,CAAC,IAAe,EAAE,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvF,MAAM,SAAS,GAAG,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,CAC9C,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,CAC/B,EAAE,CAAC,WAAW,CAAC,cAAc,CAC3B;YACE,QAAQ;YACR,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,SAAS;YACzC,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,mBAAmB,EAAE;SACpC,EACD,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAC5C,CACF,CACF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,qCAAqC,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}