@lumenflow/core 3.5.1 → 3.6.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 (88) hide show
  1. package/dist/arg-parser.d.ts.map +1 -1
  2. package/dist/arg-parser.js +23 -0
  3. package/dist/arg-parser.js.map +1 -1
  4. package/dist/config-contract.d.ts +22 -0
  5. package/dist/config-contract.d.ts.map +1 -1
  6. package/dist/config-contract.js +43 -0
  7. package/dist/config-contract.js.map +1 -1
  8. package/dist/core/tool.schemas.d.ts +2 -2
  9. package/dist/git-adapter.d.ts +23 -0
  10. package/dist/git-adapter.d.ts.map +1 -1
  11. package/dist/git-adapter.js +53 -0
  12. package/dist/git-adapter.js.map +1 -1
  13. package/dist/index.d.ts +2 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +1 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/lane-checker.d.ts.map +1 -1
  18. package/dist/lane-checker.js +21 -9
  19. package/dist/lane-checker.js.map +1 -1
  20. package/dist/lumenflow-config.d.ts +2 -0
  21. package/dist/lumenflow-config.d.ts.map +1 -1
  22. package/dist/lumenflow-config.js +2 -0
  23. package/dist/lumenflow-config.js.map +1 -1
  24. package/dist/micro-worktree-shared.d.ts +22 -1
  25. package/dist/micro-worktree-shared.d.ts.map +1 -1
  26. package/dist/micro-worktree-shared.js +32 -3
  27. package/dist/micro-worktree-shared.js.map +1 -1
  28. package/dist/micro-worktree.d.ts.map +1 -1
  29. package/dist/micro-worktree.js +7 -20
  30. package/dist/micro-worktree.js.map +1 -1
  31. package/dist/ports/index.d.ts +1 -0
  32. package/dist/ports/index.d.ts.map +1 -1
  33. package/dist/ports/index.js +1 -0
  34. package/dist/ports/index.js.map +1 -1
  35. package/dist/ports/sync-validator.ports.d.ts +52 -0
  36. package/dist/ports/sync-validator.ports.d.ts.map +1 -0
  37. package/dist/ports/sync-validator.ports.js +4 -0
  38. package/dist/ports/sync-validator.ports.js.map +1 -0
  39. package/dist/ports/wu-helpers.ports.d.ts +2 -13
  40. package/dist/ports/wu-helpers.ports.d.ts.map +1 -1
  41. package/dist/schemas/flow-arg-validators.d.ts +2 -2
  42. package/dist/schemas/flow-schemas.d.ts +4 -4
  43. package/dist/schemas/workspace-config.d.ts +15 -4
  44. package/dist/schemas/workspace-config.d.ts.map +1 -1
  45. package/dist/schemas/workspace-config.js +14 -2
  46. package/dist/schemas/workspace-config.js.map +1 -1
  47. package/dist/schemas/wu-lifecycle-arg-validators.d.ts +2 -0
  48. package/dist/schemas/wu-lifecycle-arg-validators.d.ts.map +1 -1
  49. package/dist/schemas/wu-lifecycle-schemas.d.ts +4 -1
  50. package/dist/schemas/wu-lifecycle-schemas.d.ts.map +1 -1
  51. package/dist/schemas/wu-lifecycle-schemas.js +5 -1
  52. package/dist/schemas/wu-lifecycle-schemas.js.map +1 -1
  53. package/dist/sync-validator.d.ts +36 -0
  54. package/dist/sync-validator.d.ts.map +1 -0
  55. package/dist/sync-validator.js +77 -0
  56. package/dist/sync-validator.js.map +1 -0
  57. package/dist/telemetry.d.ts +19 -0
  58. package/dist/telemetry.d.ts.map +1 -1
  59. package/dist/telemetry.js +40 -0
  60. package/dist/telemetry.js.map +1 -1
  61. package/dist/wu-done-inputs.d.ts.map +1 -1
  62. package/dist/wu-done-inputs.js +1 -0
  63. package/dist/wu-done-inputs.js.map +1 -1
  64. package/dist/wu-done-main-sync.d.ts +4 -32
  65. package/dist/wu-done-main-sync.d.ts.map +1 -1
  66. package/dist/wu-done-main-sync.js +3 -61
  67. package/dist/wu-done-main-sync.js.map +1 -1
  68. package/dist/wu-done-worktree-services.d.ts +2 -5
  69. package/dist/wu-done-worktree-services.d.ts.map +1 -1
  70. package/dist/wu-done-worktree-services.js +10 -11
  71. package/dist/wu-done-worktree-services.js.map +1 -1
  72. package/dist/wu-duplicate-id-detector.d.ts +64 -0
  73. package/dist/wu-duplicate-id-detector.d.ts.map +1 -0
  74. package/dist/wu-duplicate-id-detector.js +334 -0
  75. package/dist/wu-duplicate-id-detector.js.map +1 -0
  76. package/dist/wu-helpers.d.ts +1 -16
  77. package/dist/wu-helpers.d.ts.map +1 -1
  78. package/dist/wu-helpers.js +2 -22
  79. package/dist/wu-helpers.js.map +1 -1
  80. package/dist/wu-id-generator.d.ts +96 -2
  81. package/dist/wu-id-generator.d.ts.map +1 -1
  82. package/dist/wu-id-generator.js +224 -11
  83. package/dist/wu-id-generator.js.map +1 -1
  84. package/dist/wu-repair-core.d.ts +16 -0
  85. package/dist/wu-repair-core.d.ts.map +1 -1
  86. package/dist/wu-repair-core.js +56 -0
  87. package/dist/wu-repair-core.js.map +1 -1
  88. package/package.json +5 -2
@@ -31,6 +31,7 @@ export function validateInputs(argv) {
31
31
  ' --override-owner Override ownership check (requires --reason, audited)\n' +
32
32
  ' --force, -f Bypass dirty-main pre-merge guard (audited, WU-1503)\n' +
33
33
  ' --no-auto-rebase Disable auto-rebase on branch divergence (WU-1303)\n' +
34
+ ' --already-merged Skip merge phase; finalize metadata only for code already on main (WU-2211)\n' +
34
35
  ' --require-agents Block completion if mandatory agents not invoked (WU-1542)\n' +
35
36
  ' --help, -h Show this help\n\n' +
36
37
  '⚠️ SKIP-GATES WARNING:\n' +
@@ -1 +1 @@
1
- {"version":3,"file":"wu-done-inputs.js","sourceRoot":"","sources":["../src/wu-done-inputs.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CACT,+CAA+C;YAC7C,YAAY;YACZ,oFAAoF;YACpF,sFAAsF;YACtF,+CAA+C;YAC/C,+DAA+D;YAC/D,gFAAgF;YAChF,2EAA2E;YAC3E,mEAAmE;YACnE,qEAAqE;YACrE,gFAAgF;YAChF,wEAAwE;YACxE,sFAAsF;YACtF,0FAA0F;YAC1F,+EAA+E;YAC/E,8EAA8E;YAC9E,4EAA4E;YAC5E,oFAAoF;YACpF,0CAA0C;YAC1C,2BAA2B;YAC3B,iCAAiC;YACjC,8EAA8E;YAC9E,4EAA4E;YAC5E,8CAA8C;YAC9C,gEAAgE;YAChE,2EAA2E;YAC3E,oBAAoB;YACpB,yCAAyC;YACzC,6EAA6E;YAC7E,kEAAkE;YAClE,gFAAgF,CACnF,CAAC;QACF,MAAM,IAAI,gBAAgB,CACxB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,4BAA4B,EAC3D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAClD,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,GAAG,CAAC,kBAAkB,IAAI,CAAC,EAAE,2BAA2B,CAAC,CAAC;IAExF,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"wu-done-inputs.js","sourceRoot":"","sources":["../src/wu-done-inputs.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CACT,+CAA+C;YAC7C,YAAY;YACZ,oFAAoF;YACpF,sFAAsF;YACtF,+CAA+C;YAC/C,+DAA+D;YAC/D,gFAAgF;YAChF,2EAA2E;YAC3E,mEAAmE;YACnE,qEAAqE;YACrE,gFAAgF;YAChF,wEAAwE;YACxE,sFAAsF;YACtF,0FAA0F;YAC1F,+EAA+E;YAC/E,8EAA8E;YAC9E,4EAA4E;YAC5E,qGAAqG;YACrG,oFAAoF;YACpF,0CAA0C;YAC1C,2BAA2B;YAC3B,iCAAiC;YACjC,8EAA8E;YAC9E,4EAA4E;YAC5E,8CAA8C;YAC9C,gEAAgE;YAChE,2EAA2E;YAC3E,oBAAoB;YACpB,yCAAyC;YACzC,6EAA6E;YAC7E,kEAAkE;YAClE,gFAAgF,CACnF,CAAC;QACF,MAAM,IAAI,gBAAgB,CACxB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,4BAA4B,EAC3D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAClD,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IACjC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAAE,GAAG,CAAC,kBAAkB,IAAI,CAAC,EAAE,2BAA2B,CAAC,CAAC;IAExF,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC"}
@@ -1,36 +1,8 @@
1
1
  /**
2
- * Minimal git adapter interface for main sync validation.
3
- * Avoids importing the full GitAdapter type to reduce coupling.
4
- */
5
- interface MainSyncGitAdapter {
6
- fetch: (remote?: string, branch?: string) => Promise<void>;
7
- getCommitHash: (ref: string) => Promise<string>;
8
- revList: (args: string[]) => Promise<string>;
9
- }
10
- /**
11
- * WU-1577: Validate that local main is not behind origin/main before transaction.
12
- *
13
- * Defense-in-depth check inside the core layer. The CLI layer already has
14
- * `ensureMainUpToDate()`, but this adds a guard directly before the
15
- * transaction starts in `executeWorktreeCompletion()`.
16
- *
17
- * Fail-open: if the fetch or comparison fails (network issue), returns valid=true
18
- * to avoid blocking legitimate work when there's no remote.
19
- */
20
- export declare function validateMainNotBehindOrigin(gitAdapter: MainSyncGitAdapter): Promise<{
21
- valid: boolean;
22
- commitsBehind: number;
23
- failOpen?: boolean;
24
- }>;
25
- /**
26
- * WU-1577: Helper that throws if local main is behind origin.
27
- *
28
- * Used as a pre-flight guard before starting the wu:done transaction.
2
+ * WU-2014: Main branch sync validation compatibility exports for wu:done.
29
3
  *
30
- * @param mainCheckoutPath - Absolute path to the main checkout
31
- * @param wuId - WU ID for error messages
32
- * @throws When local main is behind origin/main
4
+ * Canonical implementations now live in sync-validator.ts.
33
5
  */
34
- export declare function ensureMainNotBehindOrigin(mainCheckoutPath: string, wuId: string): Promise<void>;
35
- export {};
6
+ export { validateMainNotBehindOrigin, ensureMainNotBehindOrigin } from './sync-validator.js';
7
+ export type { EnsureMainNotBehindOriginOptions, MainSyncGitAdapter } from './sync-validator.js';
36
8
  //# sourceMappingURL=wu-done-main-sync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wu-done-main-sync.d.ts","sourceRoot":"","sources":["../src/wu-done-main-sync.ts"],"names":[],"mappings":"AAkBA;;;GAGG;AACH,UAAU,kBAAkB;IAC1B,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C;AAED;;;;;;;;;GASG;AACH,wBAAsB,2BAA2B,CAC/C,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAyBxE;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAaf"}
1
+ {"version":3,"file":"wu-done-main-sync.d.ts","sourceRoot":"","sources":["../src/wu-done-main-sync.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAC7F,YAAY,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,67 +1,9 @@
1
1
  // Copyright (c) 2026 Hellmai Ltd
2
2
  // SPDX-License-Identifier: AGPL-3.0-only
3
3
  /**
4
- * WU-2014: Main branch sync validation for wu:done
4
+ * WU-2014: Main branch sync validation compatibility exports for wu:done.
5
5
  *
6
- * Extracted from wu-done-worktree.ts to isolate main-branch-behind-origin
7
- * detection into a focused module.
8
- *
9
- * Functions:
10
- * validateMainNotBehindOrigin - Check if local main is behind origin/main
11
- * ensureMainNotBehindOrigin - Throws if local main is behind origin
12
- */
13
- import { createGitForPath } from './git-adapter.js';
14
- import { BRANCHES, REMOTES } from './wu-constants.js';
15
- import { createError, ErrorCodes } from './error-handler.js';
16
- /**
17
- * WU-1577: Validate that local main is not behind origin/main before transaction.
18
- *
19
- * Defense-in-depth check inside the core layer. The CLI layer already has
20
- * `ensureMainUpToDate()`, but this adds a guard directly before the
21
- * transaction starts in `executeWorktreeCompletion()`.
22
- *
23
- * Fail-open: if the fetch or comparison fails (network issue), returns valid=true
24
- * to avoid blocking legitimate work when there's no remote.
25
- */
26
- export async function validateMainNotBehindOrigin(gitAdapter) {
27
- try {
28
- await gitAdapter.fetch(REMOTES.ORIGIN, BRANCHES.MAIN);
29
- const localSha = await gitAdapter.getCommitHash(BRANCHES.MAIN);
30
- const remoteSha = await gitAdapter.getCommitHash(`${REMOTES.ORIGIN}/${BRANCHES.MAIN}`);
31
- if (localSha === remoteSha) {
32
- return { valid: true, commitsBehind: 0 };
33
- }
34
- const behindRaw = await gitAdapter.revList([
35
- '--count',
36
- `${BRANCHES.MAIN}..${REMOTES.ORIGIN}/${BRANCHES.MAIN}`,
37
- ]);
38
- const commitsBehind = Number(behindRaw.trim()) || 0;
39
- if (commitsBehind > 0) {
40
- return { valid: false, commitsBehind };
41
- }
42
- return { valid: true, commitsBehind: 0 };
43
- }
44
- catch {
45
- return { valid: true, commitsBehind: 0, failOpen: true };
46
- }
47
- }
48
- /**
49
- * WU-1577: Helper that throws if local main is behind origin.
50
- *
51
- * Used as a pre-flight guard before starting the wu:done transaction.
52
- *
53
- * @param mainCheckoutPath - Absolute path to the main checkout
54
- * @param wuId - WU ID for error messages
55
- * @throws When local main is behind origin/main
6
+ * Canonical implementations now live in sync-validator.ts.
56
7
  */
57
- export async function ensureMainNotBehindOrigin(mainCheckoutPath, wuId) {
58
- const gitMainPreCheck = createGitForPath(mainCheckoutPath);
59
- const result = await validateMainNotBehindOrigin(gitMainPreCheck);
60
- if (!result.valid) {
61
- throw createError(ErrorCodes.GIT_ERROR, `Local main is ${result.commitsBehind} commit(s) behind origin/main.\n\n` +
62
- `wu:done aborted BEFORE file writes to prevent metadata leaks (WU-1577).\n\n` +
63
- `Fix: git pull origin main\n` +
64
- `Then retry: pnpm wu:done --id ${wuId}`, { wuId, commitsBehind: result.commitsBehind });
65
- }
66
- }
8
+ export { validateMainNotBehindOrigin, ensureMainNotBehindOrigin } from './sync-validator.js';
67
9
  //# sourceMappingURL=wu-done-main-sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wu-done-main-sync.js","sourceRoot":"","sources":["../src/wu-done-main-sync.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;;;GASG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAY7D;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,UAA8B;IAE9B,IAAI,CAAC;QACH,MAAM,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;QAC3C,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;YACzC,SAAS;YACT,GAAG,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE;SACvD,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QACzC,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,gBAAwB,EACxB,IAAY;IAEZ,MAAM,eAAe,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,MAAM,2BAA2B,CAAC,eAAe,CAAC,CAAC;IAClE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,WAAW,CACf,UAAU,CAAC,SAAS,EACpB,iBAAiB,MAAM,CAAC,aAAa,oCAAoC;YACvE,6EAA6E;YAC7E,6BAA6B;YAC7B,iCAAiC,IAAI,EAAE,EACzC,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,CAC9C,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"wu-done-main-sync.js","sourceRoot":"","sources":["../src/wu-done-main-sync.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;GAIG;AACH,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { WUTransaction } from './wu-transaction.js';
2
+ import type { MainSyncGitAdapter } from './sync-validator.js';
2
3
  /**
3
4
  * Common dependencies shared by worktree completion services.
4
5
  */
@@ -65,11 +66,7 @@ export interface ValidateWorktreeStateInput {
65
66
  /** Absolute path to the main checkout (for main-behind-origin check) */
66
67
  mainCheckoutPath: string;
67
68
  /** Git adapter scoped to the main checkout */
68
- gitAdapterForMain: {
69
- getCommitHash: (ref: string) => Promise<string>;
70
- fetch: (...args: unknown[]) => Promise<unknown>;
71
- revList: (args: string[]) => Promise<string>;
72
- };
69
+ gitAdapterForMain?: MainSyncGitAdapter;
73
70
  }
74
71
  /**
75
72
  * Validate worktree state for wu:done completion.
@@ -1 +1 @@
1
- {"version":3,"file":"wu-done-worktree-services.d.ts","sourceRoot":"","sources":["../src/wu-done-worktree-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wu-done-worktree-services.d.ts","sourceRoot":"","sources":["../src/wu-done-worktree-services.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ import path from 'node:path';
21
21
  import { collectMetadataToTransaction, stageAndFormatMetadata, generateCommitMessage, defaultBranchFrom, branchExists, validatePostMutation, } from './wu-done-validators.js';
22
22
  import { validateDoneWU, validateAndNormalizeWUYAML } from './wu-schema.js';
23
23
  import { assertTransition } from './state-machine.js';
24
- import { validateMainNotBehindOrigin, resolveWorktreeMetadataPaths } from './wu-done-worktree.js';
24
+ import { resolveWorktreeMetadataPaths } from './wu-done-worktree.js';
25
25
  import { emitLaneSignalForCompletion } from './wu-done-branch-only.js';
26
26
  import { WU_DONE_COMPLETION_MODES } from './wu-done-pr.js';
27
27
  import { clearRecoveryAttempts, detectZombieState } from './wu-recovery.js';
@@ -33,6 +33,8 @@ import { withAtomicMerge } from './atomic-merge.js';
33
33
  import { BRANCHES, LOG_PREFIX, WU_STATUS } from './wu-constants.js';
34
34
  import { createError, ErrorCodes } from './error-handler.js';
35
35
  import { createValidationError } from './wu-done-errors.js';
36
+ import { createGitForPath } from './git-adapter.js';
37
+ import { ensureMainNotBehindOrigin } from './wu-done-main-sync.js';
36
38
  /**
37
39
  * Validate worktree state for wu:done completion.
38
40
  *
@@ -47,7 +49,7 @@ import { createValidationError } from './wu-done-errors.js';
47
49
  * @returns Validation result with error details
48
50
  */
49
51
  export async function validateWorktreeState(input) {
50
- const { wuId, worktreePath, doc, gitAdapterForMain } = input;
52
+ const { wuId, worktreePath, doc, mainCheckoutPath, gitAdapterForMain } = input;
51
53
  const errors = [];
52
54
  let zombieDetected = false;
53
55
  // Check for zombie state (status=done in worktree)
@@ -65,17 +67,14 @@ export async function validateWorktreeState(input) {
65
67
  errors.push(`State transition invalid: ${err.message}`);
66
68
  return { valid: false, errors, zombieDetected };
67
69
  }
68
- // Check main is not behind origin
70
+ // Check main sync using canonical wu:done not-behind invariant (fail-closed on sync errors).
69
71
  try {
70
- const mainResult = await validateMainNotBehindOrigin(gitAdapterForMain);
71
- if (!mainResult.valid) {
72
- errors.push(`Local main is ${mainResult.commitsBehind} commit(s) behind origin/main. ` +
73
- `Fix: git pull origin main`);
74
- return { valid: false, errors, zombieDetected };
75
- }
72
+ const mainGit = gitAdapterForMain ?? createGitForPath(mainCheckoutPath);
73
+ await ensureMainNotBehindOrigin(mainCheckoutPath, wuId, { gitAdapterForMain: mainGit });
76
74
  }
77
- catch {
78
- // Fail-open for network errors
75
+ catch (err) {
76
+ errors.push(err.message);
77
+ return { valid: false, errors, zombieDetected };
79
78
  }
80
79
  // Validate and normalize WU YAML schema
81
80
  const normalizeResult = validateAndNormalizeWUYAML(doc);
@@ -1 +1 @@
1
- {"version":3,"file":"wu-done-worktree-services.js","sourceRoot":"","sources":["../src/wu-done-worktree-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wu-done-worktree-services.js","sourceRoot":"","sources":["../src/wu-done-worktree-services.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /** A single ID collision group */
2
+ export interface DuplicateIdGroup {
3
+ /** The duplicated WU ID */
4
+ id: string;
5
+ /** Absolute paths to YAML files that claim this ID */
6
+ files: string[];
7
+ /** Stamp file paths associated with this ID */
8
+ stamps: string[];
9
+ /** Events from wu-events.jsonl associated with this ID */
10
+ events: Array<{
11
+ line: number;
12
+ event: Record<string, unknown>;
13
+ }>;
14
+ }
15
+ /** Detection report */
16
+ export interface DuplicateIdReport {
17
+ /** Total WU files scanned */
18
+ totalWUs: number;
19
+ /** Groups of colliding IDs */
20
+ duplicates: DuplicateIdGroup[];
21
+ }
22
+ /** A single ID remapping entry */
23
+ export interface IdMapping {
24
+ /** Original colliding ID */
25
+ oldId: string;
26
+ /** Newly assigned ID */
27
+ newId: string;
28
+ /** The file that was renamed (the duplicate, not the canonical) */
29
+ renamedFile: string;
30
+ /** All files that were modified during repair */
31
+ touchedFiles: string[];
32
+ }
33
+ /** Repair result */
34
+ export interface DuplicateIdRepairResult {
35
+ /** Whether changes were actually applied */
36
+ applied: boolean;
37
+ /** Mapping of old -> new IDs */
38
+ mappings: IdMapping[];
39
+ }
40
+ /** Repair options */
41
+ export interface RepairOptions {
42
+ /** If true, actually modify files. If false, dry-run only. */
43
+ apply: boolean;
44
+ }
45
+ /**
46
+ * Detect duplicate WU IDs across YAML files, stamps, and events.
47
+ *
48
+ * @param projectRoot - Absolute path to the project root
49
+ * @returns Detection report
50
+ */
51
+ export declare function detectDuplicateIds(projectRoot: string): Promise<DuplicateIdReport>;
52
+ /**
53
+ * Repair duplicate WU IDs.
54
+ *
55
+ * For each collision group, the canonical file (matching filename) keeps its ID.
56
+ * All other files get a new unique ID. References (blocked_by, dependencies, blocks)
57
+ * in other WU files are updated. Stamps and events are updated accordingly.
58
+ *
59
+ * @param projectRoot - Absolute path to the project root
60
+ * @param options - Repair options (apply: true to actually mutate files)
61
+ * @returns Repair result with mappings
62
+ */
63
+ export declare function repairDuplicateIds(projectRoot: string, options: RepairOptions): Promise<DuplicateIdRepairResult>;
64
+ //# sourceMappingURL=wu-duplicate-id-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-duplicate-id-detector.d.ts","sourceRoot":"","sources":["../src/wu-duplicate-id-detector.ts"],"names":[],"mappings":"AAwBA,kCAAkC;AAClC,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,sDAAsD;IACtD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,0DAA0D;IAC1D,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CACjE;AAED,uBAAuB;AACvB,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,kCAAkC;AAClC,MAAM,WAAW,SAAS;IACxB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,oBAAoB;AACpB,MAAM,WAAW,uBAAuB;IACtC,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,gCAAgC;IAChC,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB;AAED,qBAAqB;AACrB,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,KAAK,EAAE,OAAO,CAAC;CAChB;AA6FD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAgCxF;AAuHD;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,uBAAuB,CAAC,CA2FlC"}