@on-par/factory-core 0.9.0 → 0.9.1

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 (75) hide show
  1. package/dist/checkers/base-health.d.ts +39 -0
  2. package/dist/checkers/base-health.d.ts.map +1 -0
  3. package/dist/checkers/base-health.js +84 -0
  4. package/dist/checkers/base-health.js.map +1 -0
  5. package/dist/config/index.d.ts +5 -3
  6. package/dist/config/index.d.ts.map +1 -1
  7. package/dist/config/index.js +9 -4
  8. package/dist/config/index.js.map +1 -1
  9. package/dist/config/state-root.d.ts +10 -0
  10. package/dist/config/state-root.d.ts.map +1 -0
  11. package/dist/config/state-root.js +33 -0
  12. package/dist/config/state-root.js.map +1 -0
  13. package/dist/daemon/checkout-validation.d.ts +8 -3
  14. package/dist/daemon/checkout-validation.d.ts.map +1 -1
  15. package/dist/daemon/checkout-validation.js +26 -7
  16. package/dist/daemon/checkout-validation.js.map +1 -1
  17. package/dist/daemon/repos-attach.d.ts +1 -0
  18. package/dist/daemon/repos-attach.d.ts.map +1 -1
  19. package/dist/daemon/repos-attach.js +11 -4
  20. package/dist/daemon/repos-attach.js.map +1 -1
  21. package/dist/events/kinds.d.ts +1 -1
  22. package/dist/events/kinds.d.ts.map +1 -1
  23. package/dist/events/kinds.js +9 -0
  24. package/dist/events/kinds.js.map +1 -1
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/internal.d.ts +7 -2
  30. package/dist/internal.d.ts.map +1 -1
  31. package/dist/internal.js +5 -1
  32. package/dist/internal.js.map +1 -1
  33. package/dist/kpis/human.d.ts +13 -1
  34. package/dist/kpis/human.d.ts.map +1 -1
  35. package/dist/kpis/human.js +25 -3
  36. package/dist/kpis/human.js.map +1 -1
  37. package/dist/kpis/index.d.ts +6 -2
  38. package/dist/kpis/index.d.ts.map +1 -1
  39. package/dist/kpis/index.js +8 -3
  40. package/dist/kpis/index.js.map +1 -1
  41. package/dist/kpis-entry.d.ts +2 -2
  42. package/dist/kpis-entry.d.ts.map +1 -1
  43. package/dist/kpis-entry.js +1 -1
  44. package/dist/kpis-entry.js.map +1 -1
  45. package/dist/phases/ship.d.ts +6 -2
  46. package/dist/phases/ship.d.ts.map +1 -1
  47. package/dist/phases/ship.js +16 -3
  48. package/dist/phases/ship.js.map +1 -1
  49. package/dist/reports/pr-body.d.ts +1 -1
  50. package/dist/reports/pr-body.d.ts.map +1 -1
  51. package/dist/reports/pr-body.js +1 -1
  52. package/dist/reports/pr-body.js.map +1 -1
  53. package/dist/run/outcome.d.ts +1 -1
  54. package/dist/run/outcome.d.ts.map +1 -1
  55. package/dist/run/outcome.js.map +1 -1
  56. package/dist/run/resume-context.d.ts +22 -0
  57. package/dist/run/resume-context.d.ts.map +1 -0
  58. package/dist/run/resume-context.js +61 -0
  59. package/dist/run/resume-context.js.map +1 -0
  60. package/dist/run/run-issue.d.ts +6 -0
  61. package/dist/run/run-issue.d.ts.map +1 -1
  62. package/dist/run/run-issue.js +98 -31
  63. package/dist/run/run-issue.js.map +1 -1
  64. package/dist/steward/detect.d.ts +2 -1
  65. package/dist/steward/detect.d.ts.map +1 -1
  66. package/dist/steward/detect.js +5 -1
  67. package/dist/steward/detect.js.map +1 -1
  68. package/dist/utils/ci-watch.d.ts +63 -0
  69. package/dist/utils/ci-watch.d.ts.map +1 -1
  70. package/dist/utils/ci-watch.js +105 -0
  71. package/dist/utils/ci-watch.js.map +1 -1
  72. package/dist/utils/worktree-gc.d.ts.map +1 -1
  73. package/dist/utils/worktree-gc.js +4 -3
  74. package/dist/utils/worktree-gc.js.map +1 -1
  75. package/package.json +5 -5
@@ -0,0 +1,39 @@
1
+ import type { EventKind } from '../events/kinds.js';
2
+ import type { ModelRouter } from '../router/index.js';
3
+ import type { Constitution } from '../types/index.js';
4
+ import { runCommand } from '../utils/command-runner.js';
5
+ import { type BaselineDeps, type BaselineReport, runBaselineCheckers } from './baseline.js';
6
+ /** Deterministic checkers that never call a model; the only ones run on base before PLAN. */
7
+ export declare const BASE_HEALTH_CHECKERS: readonly string[];
8
+ export interface BaseHealthResult {
9
+ /** red = at least one BASE_HEALTH_CHECKERS checker FAILs on base; skipped = could not decide (fail open). */
10
+ kind: 'green' | 'red' | 'skipped';
11
+ baseSha?: string;
12
+ /** Checkers that fail on base; empty unless red. */
13
+ failingChecks: string[];
14
+ /** True when any base result came from the baseline cache or the in-process memo. */
15
+ cached: boolean;
16
+ reason?: string;
17
+ }
18
+ export interface BaseHealthOptions {
19
+ /** Lane worktree; git runs here, its files are never changed. */
20
+ worktree: string;
21
+ constitution: Constitution | null;
22
+ /** Forwarded only because runBaselineCheckers requires it; never called for these checkers. */
23
+ router: ModelRouter;
24
+ /** The lane's laneEnv — the same env-hash source as CHECK's baseline. */
25
+ env: Record<string, string>;
26
+ /** state/baseline-cache.json; undefined = no file cache. */
27
+ cachePath?: string;
28
+ timeoutSeconds?: number;
29
+ log: (type: EventKind, msg: string) => void;
30
+ deps?: {
31
+ runCommand?: typeof runCommand;
32
+ runBaseline?: typeof runBaselineCheckers;
33
+ baselineDeps?: BaselineDeps;
34
+ memo?: Map<string, Promise<BaselineReport>>;
35
+ };
36
+ }
37
+ /** Runs compile/lint/tests on origin/main once per base SHA (shared in-process, file-cached across processes). Never throws. */
38
+ export declare function checkBaseHealth(opts: BaseHealthOptions): Promise<BaseHealthResult>;
39
+ //# sourceMappingURL=base-health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-health.d.ts","sourceRoot":"","sources":["../../src/checkers/base-health.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAG5F,6FAA6F;AAC7F,eAAO,MAAM,oBAAoB,EAAE,SAAS,MAAM,EAAiC,CAAC;AAEpF,MAAM,WAAW,gBAAgB;IAC/B,6GAA6G;IAC7G,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,qFAAqF;IACrF,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,+FAA+F;IAC/F,MAAM,EAAE,WAAW,CAAC;IACpB,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,IAAI,CAAC,EAAE;QACL,UAAU,CAAC,EAAE,OAAO,UAAU,CAAC;QAC/B,WAAW,CAAC,EAAE,OAAO,mBAAmB,CAAC;QACzC,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;KAC7C,CAAC;CACH;AAsBD,gIAAgI;AAChI,wBAAsB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyDxF"}
@@ -0,0 +1,84 @@
1
+ // src/checkers/base-health.ts — pre-PLAN health check of origin/main, cached per base SHA (#2339)
2
+ import { runCommand } from '../utils/command-runner.js';
3
+ import { GIT_COMMAND_TIMEOUT_MS } from '../utils/git-exec.js';
4
+ import { runBaselineCheckers } from './baseline.js';
5
+ import { BaselineCache, hashBaselineEnv } from './baseline-cache.js';
6
+ /** Deterministic checkers that never call a model; the only ones run on base before PLAN. */
7
+ export const BASE_HEALTH_CHECKERS = ['compile', 'lint', 'tests'];
8
+ const defaultMemo = new Map();
9
+ function errorMessage(err) {
10
+ return err instanceof Error ? err.message : String(err);
11
+ }
12
+ async function resolveBaseSha(opts) {
13
+ const run = opts.deps?.runCommand ?? runCommand;
14
+ try {
15
+ const res = await run(['git', 'rev-parse', '--verify', 'origin/main^{commit}'], {
16
+ cwd: opts.worktree,
17
+ timeoutMs: GIT_COMMAND_TIMEOUT_MS,
18
+ });
19
+ const sha = res.stdout.trim();
20
+ return res.exitCode === 0 && /^[0-9a-f]{40}$/.test(sha) ? sha : undefined;
21
+ }
22
+ catch {
23
+ return undefined;
24
+ }
25
+ }
26
+ /** Runs compile/lint/tests on origin/main once per base SHA (shared in-process, file-cached across processes). Never throws. */
27
+ export async function checkBaseHealth(opts) {
28
+ const { worktree, constitution, router, env, cachePath, timeoutSeconds, log, deps = {} } = opts;
29
+ try {
30
+ const baseSha = await resolveBaseSha(opts);
31
+ if (baseSha === undefined) {
32
+ const reason = 'origin/main not resolvable';
33
+ log('check', `base health skipped: ${reason}`);
34
+ return { kind: 'skipped', failingChecks: [], cached: false, reason };
35
+ }
36
+ const sha8 = baseSha.slice(0, 8);
37
+ const map = deps.memo ?? defaultMemo;
38
+ const key = `${baseSha}:${hashBaselineEnv(env)}`;
39
+ const memoized = map.has(key);
40
+ if (!memoized) {
41
+ map.set(key, (deps.runBaseline ?? runBaselineCheckers)({
42
+ baseSha,
43
+ laneWorktree: worktree,
44
+ failing: BASE_HEALTH_CHECKERS.map((checker) => ({ checker, result: 'FAIL', details: '' })),
45
+ ctx: { worktree, specPath: '', env },
46
+ router,
47
+ constitution,
48
+ customCheckerTimeoutSeconds: timeoutSeconds,
49
+ cache: cachePath === undefined ? undefined : new BaselineCache(cachePath),
50
+ deps: deps.baselineDeps,
51
+ }));
52
+ }
53
+ let report;
54
+ try {
55
+ report = await map.get(key);
56
+ }
57
+ catch (err) {
58
+ map.delete(key);
59
+ report = { baseSha, checkers: [], error: errorMessage(err) };
60
+ }
61
+ if (report.error !== undefined) {
62
+ map.delete(key);
63
+ log('environment_warning', `base health skipped: ${report.error}`);
64
+ return { kind: 'skipped', baseSha, failingChecks: [], cached: false, reason: report.error };
65
+ }
66
+ const failing = report.checkers.filter((c) => c.verdict === 'fails-on-base').map((c) => c.checker);
67
+ const cached = memoized || report.checkers.some((c) => c.cached === true);
68
+ if (cached) {
69
+ log('check', `base health: cache hit for ${sha8} (${memoized ? 'shared with another lane' : 'baseline cache'})`);
70
+ }
71
+ if (failing.length > 0) {
72
+ log('check', `base health: origin/main ${sha8} is red (${failing.join(', ')})`);
73
+ return { kind: 'red', baseSha, failingChecks: failing, cached };
74
+ }
75
+ log('check', `base health: origin/main ${sha8} is green`);
76
+ return { kind: 'green', baseSha, failingChecks: [], cached };
77
+ }
78
+ catch (err) {
79
+ const reason = errorMessage(err);
80
+ log('environment_warning', `base health skipped: ${reason}`);
81
+ return { kind: 'skipped', failingChecks: [], cached: false, reason };
82
+ }
83
+ }
84
+ //# sourceMappingURL=base-health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-health.js","sourceRoot":"","sources":["../../src/checkers/base-health.ts"],"names":[],"mappings":"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"}
@@ -341,11 +341,12 @@ export declare function resolvePrClassifierPolicy(config: FactoryConfig, env?: N
341
341
  * behavior change from the prior `merge.auto || FACTORY_MERGE === '1'` OR semantics (see ADR). */
342
342
  export declare function resolveMergePolicy(config: FactoryConfig, env?: NodeJS.ProcessEnv, overrides?: MergePolicyOverrides): EffectiveMergePolicy;
343
343
  export declare function resolveFilingPolicy(config: FactoryConfig): FilingPolicy;
344
- /** `root` (`.factory/`, or an explicit `stateRoot` override) holds only the committed
344
+ /** `root` holds only the committed
345
345
  * inputs — the repo config file (`config.yaml`/`config.yml`/`config.json`), plus the CLI-written `constitution.md`/`.gitignore` — so a
346
346
  * consumer repo can gitignore just `state/` and keep those three files tracked. Every
347
- * other runtime path resolves under `<root>/state/`. */
348
- export declare function getFactoryPaths(repoRoot: string, stateRoot?: string): {
347
+ * other runtime path resolves under `<root>/state/`. The root is the explicit `stateRoot`
348
+ * argument, else `FACTORY_STATE_ROOT` (see `resolveStateRoot`), else `<repoRoot>/.factory`. */
349
+ export declare function getFactoryPaths(repoRoot: string, stateRoot?: string, env?: NodeJS.ProcessEnv): {
349
350
  root: string;
350
351
  state: string;
351
352
  config: string;
@@ -373,6 +374,7 @@ export declare function getFactoryPaths(repoRoot: string, stateRoot?: string): {
373
374
  breaker: string;
374
375
  reworkHistory: string;
375
376
  baselineCache: string;
377
+ baseHold: string;
376
378
  flakyLedger: string;
377
379
  laneFiles: string;
378
380
  /** Per-invocation CLI flag overrides recorded by `factory run` so a separate
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { resolve } from 'node:path';
9
9
  import { defaultFactoryConfig, defaultModelsConfig, defaultRoutesConfig, resolveConfigPath, } from '@on-par/factory-config';
10
10
  import { z } from 'zod';
11
11
  import { readRepoConfigFile, resolveRepoConfigPath } from './repo-config-file.js';
12
+ import { resolveStateRoot, STATE_ROOT_ENV } from './state-root.js';
12
13
  import { DEFAULT_MAX_SLICES, SLICE_CAP_CEILING } from '../readiness/slice-plan.js';
13
14
  import { runConfigSource } from './run-config-source.js';
14
15
  import { KNOWN_HARNESS_IDS } from '../harness/catalog.js';
@@ -554,12 +555,15 @@ export function resolveFilingPolicy(config) {
554
555
  };
555
556
  }
556
557
  // ---------- Factory state paths ----------
557
- /** `root` (`.factory/`, or an explicit `stateRoot` override) holds only the committed
558
+ /** `root` holds only the committed
558
559
  * inputs — the repo config file (`config.yaml`/`config.yml`/`config.json`), plus the CLI-written `constitution.md`/`.gitignore` — so a
559
560
  * consumer repo can gitignore just `state/` and keep those three files tracked. Every
560
- * other runtime path resolves under `<root>/state/`. */
561
- export function getFactoryPaths(repoRoot, stateRoot) {
562
- const root = stateRoot === undefined ? resolve(repoRoot, '.factory') : resolve(stateRoot);
561
+ * other runtime path resolves under `<root>/state/`. The root is the explicit `stateRoot`
562
+ * argument, else `FACTORY_STATE_ROOT` (see `resolveStateRoot`), else `<repoRoot>/.factory`. */
563
+ export function getFactoryPaths(repoRoot, stateRoot, env = process.env) {
564
+ const root = stateRoot !== undefined
565
+ ? resolve(stateRoot)
566
+ : (resolveStateRoot(env[STATE_ROOT_ENV], { repoRoot }) ?? resolve(repoRoot, '.factory'));
563
567
  const state = resolve(root, 'state');
564
568
  return {
565
569
  root,
@@ -589,6 +593,7 @@ export function getFactoryPaths(repoRoot, stateRoot) {
589
593
  breaker: resolve(state, 'breaker.json'),
590
594
  reworkHistory: resolve(state, 'rework-history.json'),
591
595
  baselineCache: resolve(state, 'baseline-cache.json'),
596
+ baseHold: resolve(state, 'base-hold.json'),
592
597
  flakyLedger: resolve(state, 'flaky-tests.json'),
593
598
  laneFiles: resolve(state, 'lane-files.json'),
594
599
  /** Per-invocation CLI flag overrides recorded by `factory run` so a separate
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const STATE_ROOT_ENV = "FACTORY_STATE_ROOT";
2
+ /** Maps a raw state-root value to an absolute root: unset/blank → undefined, `auto` →
3
+ * `<home>/.factory/<owner>/<name>` from the checkout's origin, `~`/`~/x` → under home, an
4
+ * absolute path → itself. Anything else (relative paths included) throws. */
5
+ export declare function resolveStateRoot(value: string | undefined, opts: {
6
+ repoRoot: string;
7
+ home?: string;
8
+ resolveSlug?: (dir: string) => string | null;
9
+ }): string | undefined;
10
+ //# sourceMappingURL=state-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-root.d.ts","sourceRoot":"","sources":["../../src/config/state-root.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,cAAc,uBAAuB,CAAC;AAEnD;;8EAE8E;AAC9E,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CAAE,GACtF,MAAM,GAAG,SAAS,CAmBpB"}
@@ -0,0 +1,33 @@
1
+ // src/config/state-root.ts — Resolves the FACTORY_STATE_ROOT / --state-root value to an
2
+ // absolute factory state root (#2281), so a repo can run with no in-checkout `.factory/`.
3
+ import { homedir } from 'node:os';
4
+ import { isAbsolute, join, resolve } from 'node:path';
5
+ import { resolveRepoSlug } from '../logger/repo-slug.js';
6
+ export const STATE_ROOT_ENV = 'FACTORY_STATE_ROOT';
7
+ /** Maps a raw state-root value to an absolute root: unset/blank → undefined, `auto` →
8
+ * `<home>/.factory/<owner>/<name>` from the checkout's origin, `~`/`~/x` → under home, an
9
+ * absolute path → itself. Anything else (relative paths included) throws. */
10
+ export function resolveStateRoot(value, opts) {
11
+ if (value === undefined)
12
+ return undefined;
13
+ const v = value.trim();
14
+ if (v === '')
15
+ return undefined;
16
+ const home = opts.home ?? homedir();
17
+ if (v.toLowerCase() === 'auto') {
18
+ const slug = (opts.resolveSlug ?? resolveRepoSlug)(opts.repoRoot);
19
+ if (slug === null) {
20
+ throw new Error(`${STATE_ROOT_ENV}=auto needs a git origin remote that parses to owner/name (in ${opts.repoRoot})`);
21
+ }
22
+ const [owner, name] = slug.split('/');
23
+ return join(home, '.factory', owner, name);
24
+ }
25
+ if (v === '~')
26
+ return home;
27
+ if (v.startsWith('~/'))
28
+ return join(home, v.slice(2));
29
+ if (isAbsolute(v))
30
+ return resolve(v);
31
+ throw new Error(`${STATE_ROOT_ENV} must be an absolute path, ~/..., or auto; got "${v}"`);
32
+ }
33
+ //# sourceMappingURL=state-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-root.js","sourceRoot":"","sources":["../../src/config/state-root.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,0FAA0F;AAE1F,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAEnD;;8EAE8E;AAC9E,MAAM,UAAU,gBAAgB,CAC9B,KAAyB,EACzB,IAAuF;IAEvF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,GAAG,cAAc,iEAAiE,IAAI,CAAC,QAAQ,GAAG,CACnG,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC3B,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACrC,MAAM,IAAI,KAAK,CAAC,GAAG,cAAc,mDAAmD,CAAC,GAAG,CAAC,CAAC;AAC5F,CAAC"}
@@ -8,8 +8,10 @@ export interface ValidatedCheckout {
8
8
  dir: string;
9
9
  /** The `owner/name` parsed from the checkout's git origin remote. */
10
10
  originSlug: string;
11
- /** Absolute path of the `.factory/config.json` that was found. */
12
- configFile: string;
11
+ /** Absolute path of the in-checkout `.factory/config.json`, or null when absent under a state root. */
12
+ configFile: string | null;
13
+ /** The resolved external state root, when one is in effect (from the request or the registry entry). */
14
+ stateRoot?: string;
13
15
  }
14
16
  export type CheckoutValidationResult = {
15
17
  ok: true;
@@ -24,6 +26,8 @@ export type CheckoutValidationResult = {
24
26
  export interface CheckoutValidationDeps {
25
27
  readOrigin?: (dir: string) => Promise<string | null>;
26
28
  fileExists?: (file: string) => Promise<boolean>;
29
+ /** Home directory used to resolve a `stateRoot` of `auto`. */
30
+ home?: string;
27
31
  }
28
32
  /** The default `readOrigin` seam: `git -C <dir> remote get-url origin`. Using
29
33
  * `-C` rather than `cwd` means a nonexistent directory is a normal non-zero
@@ -34,11 +38,12 @@ export declare function parseCheckoutRequest(body: unknown): {
34
38
  request: {
35
39
  repo: string;
36
40
  path: string;
41
+ stateRoot?: string;
37
42
  };
38
43
  } | {
39
44
  ok: false;
40
45
  detail: string;
41
46
  };
42
47
  /** The checkout precondition gate, with no registry access. */
43
- export declare function validateCheckout(body: unknown, deps?: CheckoutValidationDeps): Promise<CheckoutValidationResult>;
48
+ export declare function validateCheckout(body: unknown, deps?: CheckoutValidationDeps, existingStateRoot?: string): Promise<CheckoutValidationResult>;
44
49
  //# sourceMappingURL=checkout-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkout-validation.d.ts","sourceRoot":"","sources":["../../src/daemon/checkout-validation.ts"],"names":[],"mappings":"AAaA,yFAAyF;AACzF,MAAM,MAAM,+BAA+B,GACzC,iBAAiB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,wBAAwB,CAAC;AAE1F,iDAAiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,wBAAwB,GAClC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,+BAA+B,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAErH;6CAC6C;AAC7C,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACjD;AAID;;+BAE+B;AAC/B,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGvE;AAQD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,GACZ;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAevF;AAED,+DAA+D;AAC/D,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,sBAA2B,GAChC,OAAO,CAAC,wBAAwB,CAAC,CAiCnC"}
1
+ {"version":3,"file":"checkout-validation.d.ts","sourceRoot":"","sources":["../../src/daemon/checkout-validation.ts"],"names":[],"mappings":"AAcA,yFAAyF;AACzF,MAAM,MAAM,+BAA+B,GACzC,iBAAiB,GAAG,oBAAoB,GAAG,iBAAiB,GAAG,wBAAwB,CAAC;AAE1F,iDAAiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,uGAAuG;IACvG,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,wGAAwG;IACxG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,wBAAwB,GAClC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,iBAAiB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,+BAA+B,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAErH;6CAC6C;AAC7C,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAID;;+BAE+B;AAC/B,wBAAsB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAGvE;AAQD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,OAAO,GACZ;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAqB3G;AAED,+DAA+D;AAC/D,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,sBAA2B,EACjC,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,wBAAwB,CAAC,CA8CnC"}
@@ -6,6 +6,7 @@
6
6
  // write (#1398, epic #1380).
7
7
  import { stat } from 'node:fs/promises';
8
8
  import { isAbsolute, join, resolve } from 'node:path';
9
+ import { resolveStateRoot } from '../config/state-root.js';
9
10
  import { runCommand } from '../utils/command-runner.js';
10
11
  import { parseRemoteSlug } from './remote-slug.js';
11
12
  const SLUG_RE = /^[A-Za-z0-9._-]+\/[A-Za-z0-9._-]+$/;
@@ -25,7 +26,7 @@ export function parseCheckoutRequest(body) {
25
26
  if (!body || typeof body !== 'object' || Array.isArray(body)) {
26
27
  return { ok: false, detail: 'expected { repo: "owner/name", path: "/abs/path" }' };
27
28
  }
28
- const { repo, path } = body;
29
+ const { repo, path, stateRoot } = body;
29
30
  if (typeof repo !== 'string' || typeof path !== 'string') {
30
31
  return { ok: false, detail: 'expected { repo: "owner/name", path: "/abs/path" }' };
31
32
  }
@@ -35,10 +36,16 @@ export function parseCheckoutRequest(body) {
35
36
  if (!isAbsolute(path)) {
36
37
  return { ok: false, detail: 'path must be absolute' };
37
38
  }
39
+ if (stateRoot !== undefined) {
40
+ if (typeof stateRoot !== 'string' || !(isAbsolute(stateRoot) || stateRoot.trim().toLowerCase() === 'auto')) {
41
+ return { ok: false, detail: 'stateRoot must be an absolute path or "auto"' };
42
+ }
43
+ return { ok: true, request: { repo, path, stateRoot } };
44
+ }
38
45
  return { ok: true, request: { repo, path } };
39
46
  }
40
47
  /** The checkout precondition gate, with no registry access. */
41
- export async function validateCheckout(body, deps = {}) {
48
+ export async function validateCheckout(body, deps = {}, existingStateRoot) {
42
49
  const parsed = parseCheckoutRequest(body);
43
50
  if (!parsed.ok) {
44
51
  return { ok: false, reason: 'invalid-request', detail: parsed.detail };
@@ -60,11 +67,23 @@ export async function validateCheckout(body, deps = {}) {
60
67
  if (slug.toLowerCase() !== request.repo.toLowerCase()) {
61
68
  return { ok: false, reason: 'origin-mismatch', detail: `origin is ${slug}, not ${request.repo}` };
62
69
  }
63
- const configFile = join(dir, '.factory', 'config.json');
64
- const hasConfig = await (deps.fileExists ?? defaultFileExists)(configFile);
65
- if (!hasConfig) {
66
- return { ok: false, reason: 'missing-factory-config', detail: `${configFile} not found` };
70
+ const stateRoot = request.stateRoot !== undefined
71
+ ? resolveStateRoot(request.stateRoot, { repoRoot: dir, home: deps.home, resolveSlug: () => slug })
72
+ : existingStateRoot;
73
+ const inCheckoutConfig = join(dir, '.factory', 'config.json');
74
+ const hasConfig = await (deps.fileExists ?? defaultFileExists)(inCheckoutConfig);
75
+ if (!hasConfig && stateRoot === undefined) {
76
+ return { ok: false, reason: 'missing-factory-config', detail: `${inCheckoutConfig} not found` };
67
77
  }
68
- return { ok: true, checkout: { repo: request.repo, dir, originSlug: slug, configFile } };
78
+ return {
79
+ ok: true,
80
+ checkout: {
81
+ repo: request.repo,
82
+ dir,
83
+ originSlug: slug,
84
+ configFile: hasConfig ? inCheckoutConfig : null,
85
+ ...(stateRoot !== undefined ? { stateRoot } : {}),
86
+ },
87
+ };
69
88
  }
70
89
  //# sourceMappingURL=checkout-validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkout-validation.js","sourceRoot":"","sources":["../../src/daemon/checkout-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkout-validation.js","sourceRoot":"","sources":["../../src/daemon/checkout-validation.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export interface AttachRepoDeps {
17
17
  readOrigin?: (dir: string) => Promise<string | null>;
18
18
  fileExists?: (file: string) => Promise<boolean>;
19
19
  now?: () => Date;
20
+ home?: string;
20
21
  }
21
22
  export declare function attachRepo(registryFile: string, body: unknown, deps?: AttachRepoDeps): Promise<AttachRepoResult>;
22
23
  //# sourceMappingURL=repos-attach.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repos-attach.d.ts","sourceRoot":"","sources":["../../src/daemon/repos-attach.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,+BAA+B,EAErC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAgB,KAAK,mBAAmB,EAA6B,MAAM,eAAe,CAAC;AAElG,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAElE,MAAM,MAAM,gBAAgB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExG;mFACmF;AACnF,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAsB,UAAU,CAC9B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAW3B"}
1
+ {"version":3,"file":"repos-attach.d.ts","sourceRoot":"","sources":["../../src/daemon/repos-attach.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,+BAA+B,EAErC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAgB,KAAK,mBAAmB,EAA6B,MAAM,eAAe,CAAC;AAElG,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,MAAM,mBAAmB,GAAG,+BAA+B,CAAC;AAElE,MAAM,MAAM,gBAAgB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,mBAAmB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExG;mFACmF;AACnF,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,UAAU,CAC9B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,OAAO,EACb,IAAI,GAAE,cAAmB,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAkB3B"}
@@ -7,13 +7,20 @@ import { loadRegistry, upsertRepo, writeRegistry } from './registry.js';
7
7
  export { parseRemoteSlug } from './remote-slug.js';
8
8
  export { readOriginUrl } from './checkout-validation.js';
9
9
  export async function attachRepo(registryFile, body, deps = {}) {
10
- const validation = await validateCheckout(body, deps);
10
+ const registry = await loadRegistry(registryFile);
11
+ const slugKey = body?.repo;
12
+ const existingStateRoot = typeof slugKey === 'string' ? registry.repos[slugKey]?.stateRoot : undefined;
13
+ const validation = await validateCheckout(body, deps, existingStateRoot);
11
14
  if (!validation.ok)
12
15
  return { ok: false, reason: validation.reason, detail: validation.detail };
13
- const { repo, dir } = validation.checkout;
16
+ const { repo, dir, stateRoot } = validation.checkout;
14
17
  const attachedAt = (deps.now?.() ?? new Date()).toISOString();
15
- const entry = { path: dir, attachedAt, state: 'active' };
16
- const registry = await loadRegistry(registryFile);
18
+ const entry = {
19
+ path: dir,
20
+ ...(stateRoot ? { stateRoot } : {}),
21
+ attachedAt,
22
+ state: 'active',
23
+ };
17
24
  await writeRegistry(registryFile, upsertRepo(registry, repo, entry));
18
25
  return { ok: true, entry: { slug: repo, ...entry } };
19
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repos-attach.js","sourceRoot":"","sources":["../../src/daemon/repos-attach.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4EAA4E;AAC5E,2EAA2E;AAC3E,mEAAmE;AAEnE,OAAO,EAGL,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAA4B,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAElG,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAezD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,YAAoB,EACpB,IAAa,EACb,IAAI,GAAmB,EAAE;IAEzB,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,IAAqC,CAAC,CAAC;IACvF,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IAE/F,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;IAC1C,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,QAAiB,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAErE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"repos-attach.js","sourceRoot":"","sources":["../../src/daemon/repos-attach.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4EAA4E;AAC5E,2EAA2E;AAC3E,mEAAmE;AAEnE,OAAO,EAGL,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAA4B,UAAU,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAElG,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAgBzD,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,YAAoB,EACpB,IAAa,EACb,IAAI,GAAmB,EAAE;IAEzB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,OAAO,GAAI,IAAkC,EAAE,IAAI,CAAC;IAC1D,MAAM,iBAAiB,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,IAAqC,EAAE,iBAAiB,CAAC,CAAC;IAC1G,IAAI,CAAC,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IAE/F,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC;IACrD,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9D,MAAM,KAAK,GAAG;QACZ,IAAI,EAAE,GAAG;QACT,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,UAAU;QACV,KAAK,EAAE,QAAiB;KACzB,CAAC;IACF,MAAM,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAErE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,CAAC;AACvD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { StuckTrigger } from '../steward/detect.js';
2
2
  import type { LogLevel } from '../types/index.js';
3
- export type EventKind = 'activity_touch_failed' | 'adr_context' | 'adr_context_empty' | 'adr_inject_completed' | 'adr_inject_started' | 'adr_read_degraded' | 'adr_skipped' | 'approval_granted' | 'approval_requested' | 'await-merge' | 'awaiting-review' | 'benchmark-artifacts' | 'benchmark-artifacts-failed' | 'budget_exceeded' | 'build' | 'check' | 'checker_completed' | 'checker_started' | 'ci-failed' | 'conflict' | 'constitution' | 'decompose_comment_posted' | 'decompose_duplicate_skipped' | 'decompose_failed' | 'decompose_file_failed' | 'decompose_filed' | 'decompose_started' | 'defect-window-closed' | 'design_artifact_coerced' | 'design_artifact_emitted' | 'design_artifact_invalid' | 'design_artifact_received' | 'design_open_questions' | 'design_regression_unresolved' | 'design_shallow' | 'egress_host' | 'egress_summary' | 'engine-restarted' | 'environment_cleanup' | 'environment_conflict' | 'environment_dotnet' | 'environment_lease' | 'environment_lease_failed' | 'environment_lease_reaped' | 'environment_orphan' | 'environment_proxy' | 'environment_proxy_unavailable' | 'environment_release' | 'environment_release_failed' | 'environment_warning' | 'environment-released' | 'escalate' | 'evidence' | 'fail' | 'failover' | 'fast_path' | 'flaky_tests' | 'github_api_deprecated' | 'held' | 'human-abandoned' | 'human-approved' | 'human-edited' | 'human-merged' | 'human-restarted' | 'idle' | 'ingest_file_overlap_held' | 'ingested' | 'issue-title' | 'issue_unparked' | 'kpi-snapshot' | 'land' | 'landed' | 'lane-done' | 'lane-paused' | 'lane-start' | 'local-only' | 'local-only-complete' | 'lock-stolen' | 'merge-gated' | 'merge-gated-override' | 'pr-classified' | 'merged' | 'model-override' | 'model_override_ignored' | 'overnight-fail' | 'overnight-park' | 'overnight-preflight' | 'overnight-ready' | 'parked' | 'phase_completed' | 'phase_snapshot_failed' | 'phase_started' | 'plan' | 'plan_approval_granted' | 'plan_approval_requested' | 'plan_redirect' | 'plan_rejected' | 'post-merge-defect' | 'queue_admission_conflict' | 'queue_added' | 'queue_reprioritized' | 'queue_rationale_comment_failed' | 'project_queue_refresh_failed' | 'project_queue_refresh_succeeded' | 'provider_breaker_close' | 'provider_breaker_open' | 'provider_breaker_skip' | 'readiness' | 'readiness_enrichment_failed' | 'readiness_enrichment_started' | 'readiness_enrichment_succeeded' | 'ready' | 'recovered' | 'remote-branch-preexisting' | 'resource_limit' | 'resume-approved' | 'resumed' | 'rework' | 'rework_model_failed' | 'router' | 'run_lock_conflict' | 'run-done' | 'sandbox' | 'sandbox-degraded' | 'sandbox-disabled' | 'sandbox-unavailable' | 'sandbox_auth_denied' | 'sandbox_violation' | 'ship' | 'ship_denied' | 'skip-ci' | 'skipped-already-closed' | 'size-gate-escalated' | 'size-gate-sliced' | 'steward-triggered' | 'steering_applied' | 'steering_unconsumed' | 'stop-file-cleared' | 'stop-file-set' | 'stopped' | 'stuck' | 'supervisor-done' | 'timeout' | 'triage' | 'triage_accepted' | 'usage-stop' | 'usage-unavailable' | 'usage_coordinator_poll_empty' | 'usage_coordinator_poll_failed' | 'usage_coordinator_poll_succeeded' | 'upstream_report_outboxed' | 'upstream_report_sent' | 'upstream_report_bumped' | 'upstream_report_skipped' | 'warn' | 'watchdog' | 'work-source' | 'work_request' | 'worker_failover' | 'workspace' | 'worktree' | 'worktree-base' | 'worktree-gc';
3
+ export type EventKind = 'activity_touch_failed' | 'adr_context' | 'adr_context_empty' | 'adr_inject_completed' | 'adr_inject_started' | 'adr_read_degraded' | 'adr_skipped' | 'approval_granted' | 'approval_requested' | 'await-merge' | 'awaiting-review' | 'base-hold-cleared' | 'benchmark-artifacts' | 'benchmark-artifacts-failed' | 'budget_exceeded' | 'build' | 'check' | 'checker_completed' | 'checker_started' | 'ci-failed' | 'ci-infra' | 'ci-rescued' | 'ci-rescue-failed' | 'conflict' | 'constitution' | 'decompose_comment_posted' | 'decompose_duplicate_skipped' | 'decompose_failed' | 'decompose_file_failed' | 'decompose_filed' | 'decompose_started' | 'defect-window-closed' | 'design_artifact_coerced' | 'design_artifact_emitted' | 'design_artifact_invalid' | 'design_artifact_received' | 'design_open_questions' | 'design_regression_unresolved' | 'design_shallow' | 'egress_host' | 'egress_summary' | 'engine-restarted' | 'environment_cleanup' | 'environment_conflict' | 'environment_dotnet' | 'environment_lease' | 'environment_lease_failed' | 'environment_lease_reaped' | 'environment_orphan' | 'environment_proxy' | 'environment_proxy_unavailable' | 'environment_release' | 'environment_release_failed' | 'environment_warning' | 'environment-released' | 'escalate' | 'evidence' | 'fail' | 'failover' | 'fast_path' | 'flaky_tests' | 'github_api_deprecated' | 'held' | 'human-abandoned' | 'human-approved' | 'human-edited' | 'human-merged' | 'human-restarted' | 'idle' | 'ingest_file_overlap_held' | 'ingested' | 'issue-title' | 'issue_unparked' | 'kpi-snapshot' | 'land' | 'landed' | 'lane-done' | 'lane-paused' | 'lane-start' | 'local-only' | 'local-only-complete' | 'lock-stolen' | 'merge-gated' | 'merge-gated-override' | 'pr-classified' | 'merged' | 'model-override' | 'model_override_ignored' | 'overnight-fail' | 'overnight-park' | 'overnight-preflight' | 'overnight-ready' | 'parked' | 'phase_completed' | 'phase_snapshot_failed' | 'phase_started' | 'plan' | 'plan_approval_granted' | 'plan_reused' | 'plan_approval_requested' | 'plan_redirect' | 'plan_rejected' | 'post-merge-defect' | 'queue_admission_conflict' | 'queue_added' | 'queue_reprioritized' | 'queue_rationale_comment_failed' | 'project_queue_refresh_failed' | 'project_queue_refresh_succeeded' | 'provider_breaker_close' | 'provider_breaker_open' | 'provider_breaker_skip' | 'readiness' | 'readiness_enrichment_failed' | 'readiness_enrichment_started' | 'readiness_enrichment_succeeded' | 'ready' | 'recovered' | 'remote-branch-preexisting' | 'resource_limit' | 'resume-approved' | 'resumed' | 'rework' | 'rework_model_failed' | 'router' | 'run_lock_conflict' | 'run-done' | 'sandbox' | 'sandbox-degraded' | 'sandbox-disabled' | 'sandbox-unavailable' | 'sandbox_auth_denied' | 'sandbox_violation' | 'ship' | 'ship_denied' | 'skip-ci' | 'skipped-already-closed' | 'size-gate-escalated' | 'size-gate-sliced' | 'steward-triggered' | 'steering_applied' | 'steering_unconsumed' | 'stop-file-cleared' | 'stop-file-set' | 'stopped' | 'stuck' | 'supervisor-done' | 'timeout' | 'triage' | 'triage_accepted' | 'usage-stop' | 'usage-unavailable' | 'usage_coordinator_poll_empty' | 'usage_coordinator_poll_failed' | 'usage_coordinator_poll_succeeded' | 'upstream_report_outboxed' | 'upstream_report_sent' | 'upstream_report_bumped' | 'upstream_report_skipped' | 'warn' | 'watchdog' | 'work-source' | 'work_request' | 'worker_failover' | 'workspace' | 'worktree' | 'worktree-base' | 'worktree-gc';
4
4
  /** Lane state an event kind drives in the TUI/queue dashboard reducers; absent
5
5
  * when the kind doesn't itself change lane status. */
6
6
  export type LaneStatus = 'running' | 'waiting-merge' | 'ready' | 'merged' | 'failed' | 'parked' | 'stopped';