@lumenflow/core 2.18.2 → 2.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/dist/adapters/terminal-renderer.adapter.d.ts.map +1 -1
  2. package/dist/adapters/terminal-renderer.adapter.js +6 -4
  3. package/dist/adapters/terminal-renderer.adapter.js.map +1 -1
  4. package/dist/atomic-merge.d.ts +21 -0
  5. package/dist/atomic-merge.d.ts.map +1 -0
  6. package/dist/atomic-merge.js +83 -0
  7. package/dist/atomic-merge.js.map +1 -0
  8. package/dist/delegation-escalation.d.ts +91 -0
  9. package/dist/delegation-escalation.d.ts.map +1 -0
  10. package/dist/delegation-escalation.js +258 -0
  11. package/dist/delegation-escalation.js.map +1 -0
  12. package/dist/delegation-monitor.d.ts +230 -0
  13. package/dist/delegation-monitor.d.ts.map +1 -0
  14. package/dist/delegation-monitor.js +675 -0
  15. package/dist/delegation-monitor.js.map +1 -0
  16. package/dist/delegation-recovery.d.ts +83 -0
  17. package/dist/delegation-recovery.d.ts.map +1 -0
  18. package/dist/delegation-recovery.js +299 -0
  19. package/dist/delegation-recovery.js.map +1 -0
  20. package/dist/delegation-registry-schema.d.ts +80 -0
  21. package/dist/delegation-registry-schema.d.ts.map +1 -0
  22. package/dist/delegation-registry-schema.js +91 -0
  23. package/dist/delegation-registry-schema.js.map +1 -0
  24. package/dist/delegation-registry-store.d.ts +159 -0
  25. package/dist/delegation-registry-store.d.ts.map +1 -0
  26. package/dist/delegation-registry-store.js +299 -0
  27. package/dist/delegation-registry-store.js.map +1 -0
  28. package/dist/delegation-tree.d.ts +57 -0
  29. package/dist/delegation-tree.d.ts.map +1 -0
  30. package/dist/delegation-tree.js +203 -0
  31. package/dist/delegation-tree.js.map +1 -0
  32. package/dist/gates-agent-mode.d.ts +25 -0
  33. package/dist/gates-agent-mode.d.ts.map +1 -1
  34. package/dist/gates-agent-mode.js +41 -0
  35. package/dist/gates-agent-mode.js.map +1 -1
  36. package/dist/index.d.ts +10 -7
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +14 -9
  39. package/dist/index.js.map +1 -1
  40. package/dist/lumenflow-config-schema.d.ts +9 -3
  41. package/dist/lumenflow-config-schema.d.ts.map +1 -1
  42. package/dist/lumenflow-config-schema.js +18 -3
  43. package/dist/lumenflow-config-schema.js.map +1 -1
  44. package/dist/lumenflow-config.d.ts +2 -0
  45. package/dist/lumenflow-config.d.ts.map +1 -1
  46. package/dist/lumenflow-config.js +1 -0
  47. package/dist/lumenflow-config.js.map +1 -1
  48. package/dist/micro-worktree-shared.d.ts +134 -0
  49. package/dist/micro-worktree-shared.d.ts.map +1 -0
  50. package/dist/micro-worktree-shared.js +350 -0
  51. package/dist/micro-worktree-shared.js.map +1 -0
  52. package/dist/micro-worktree.d.ts +4 -273
  53. package/dist/micro-worktree.d.ts.map +1 -1
  54. package/dist/micro-worktree.js +17 -549
  55. package/dist/micro-worktree.js.map +1 -1
  56. package/dist/rollback-utils.d.ts +52 -0
  57. package/dist/rollback-utils.d.ts.map +1 -1
  58. package/dist/rollback-utils.js +111 -0
  59. package/dist/rollback-utils.js.map +1 -1
  60. package/dist/schemas/index.d.ts +3 -3
  61. package/dist/schemas/index.d.ts.map +1 -1
  62. package/dist/schemas/index.js +6 -6
  63. package/dist/schemas/index.js.map +1 -1
  64. package/dist/schemas/initiative-arg-validators.d.ts +1 -0
  65. package/dist/schemas/initiative-arg-validators.d.ts.map +1 -1
  66. package/dist/schemas/initiative-schemas.d.ts +3 -1
  67. package/dist/schemas/initiative-schemas.d.ts.map +1 -1
  68. package/dist/schemas/initiative-schemas.js +2 -1
  69. package/dist/schemas/initiative-schemas.js.map +1 -1
  70. package/dist/schemas/setup-arg-validators.d.ts +4 -4
  71. package/dist/schemas/setup-arg-validators.d.ts.map +1 -1
  72. package/dist/schemas/setup-arg-validators.js +6 -6
  73. package/dist/schemas/setup-arg-validators.js.map +1 -1
  74. package/dist/schemas/setup-schemas.d.ts +7 -7
  75. package/dist/schemas/setup-schemas.d.ts.map +1 -1
  76. package/dist/schemas/setup-schemas.js +10 -10
  77. package/dist/schemas/setup-schemas.js.map +1 -1
  78. package/dist/schemas/wu-lifecycle-arg-validators.d.ts +2 -1
  79. package/dist/schemas/wu-lifecycle-arg-validators.d.ts.map +1 -1
  80. package/dist/schemas/wu-lifecycle-schemas.d.ts +5 -3
  81. package/dist/schemas/wu-lifecycle-schemas.d.ts.map +1 -1
  82. package/dist/schemas/wu-lifecycle-schemas.js +5 -1
  83. package/dist/schemas/wu-lifecycle-schemas.js.map +1 -1
  84. package/dist/template-loader.d.ts +7 -3
  85. package/dist/template-loader.d.ts.map +1 -1
  86. package/dist/template-loader.js +22 -6
  87. package/dist/template-loader.js.map +1 -1
  88. package/dist/wu-consistency-checker.d.ts +1 -0
  89. package/dist/wu-consistency-checker.d.ts.map +1 -1
  90. package/dist/wu-consistency-checker.js +31 -2
  91. package/dist/wu-consistency-checker.js.map +1 -1
  92. package/dist/wu-context-constants.d.ts +0 -2
  93. package/dist/wu-context-constants.d.ts.map +1 -1
  94. package/dist/wu-context-constants.js +0 -2
  95. package/dist/wu-context-constants.js.map +1 -1
  96. package/dist/wu-done-branch-only.d.ts +2 -11
  97. package/dist/wu-done-branch-only.d.ts.map +1 -1
  98. package/dist/wu-done-branch-only.js +81 -45
  99. package/dist/wu-done-branch-only.js.map +1 -1
  100. package/dist/wu-done-cleanup.js +33 -1
  101. package/dist/wu-done-cleanup.js.map +1 -1
  102. package/dist/wu-done-initiative-sync.d.ts.map +1 -1
  103. package/dist/wu-done-initiative-sync.js +20 -5
  104. package/dist/wu-done-initiative-sync.js.map +1 -1
  105. package/dist/wu-done-machine.d.ts +175 -0
  106. package/dist/wu-done-machine.d.ts.map +1 -0
  107. package/dist/wu-done-machine.js +225 -0
  108. package/dist/wu-done-machine.js.map +1 -0
  109. package/dist/wu-done-metadata.d.ts.map +1 -1
  110. package/dist/wu-done-metadata.js +3 -1
  111. package/dist/wu-done-metadata.js.map +1 -1
  112. package/dist/wu-done-validation.d.ts +0 -37
  113. package/dist/wu-done-validation.d.ts.map +1 -1
  114. package/dist/wu-done-validation.js +1 -155
  115. package/dist/wu-done-validation.js.map +1 -1
  116. package/dist/wu-done-validators.d.ts +1 -2
  117. package/dist/wu-done-validators.d.ts.map +1 -1
  118. package/dist/wu-done-validators.js +1 -3
  119. package/dist/wu-done-validators.js.map +1 -1
  120. package/dist/wu-done-worktree-services.d.ts +191 -0
  121. package/dist/wu-done-worktree-services.d.ts.map +1 -0
  122. package/dist/wu-done-worktree-services.js +273 -0
  123. package/dist/wu-done-worktree-services.js.map +1 -0
  124. package/dist/wu-done-worktree.d.ts +0 -19
  125. package/dist/wu-done-worktree.d.ts.map +1 -1
  126. package/dist/wu-done-worktree.js +165 -118
  127. package/dist/wu-done-worktree.js.map +1 -1
  128. package/dist/wu-git-constants.d.ts +4 -0
  129. package/dist/wu-git-constants.d.ts.map +1 -1
  130. package/dist/wu-git-constants.js +4 -0
  131. package/dist/wu-git-constants.js.map +1 -1
  132. package/dist/wu-helpers.d.ts +5 -1
  133. package/dist/wu-helpers.d.ts.map +1 -1
  134. package/dist/wu-helpers.js +5 -1
  135. package/dist/wu-helpers.js.map +1 -1
  136. package/dist/wu-lint.d.ts +24 -0
  137. package/dist/wu-lint.d.ts.map +1 -1
  138. package/dist/wu-lint.js +48 -1
  139. package/dist/wu-lint.js.map +1 -1
  140. package/dist/wu-paths-constants.d.ts +3 -3
  141. package/dist/wu-paths-constants.d.ts.map +1 -1
  142. package/dist/wu-paths-constants.js +3 -3
  143. package/dist/wu-paths-constants.js.map +1 -1
  144. package/dist/wu-recovery.d.ts +89 -0
  145. package/dist/wu-recovery.d.ts.map +1 -1
  146. package/dist/wu-recovery.js +118 -0
  147. package/dist/wu-recovery.js.map +1 -1
  148. package/dist/wu-schema.d.ts +6 -6
  149. package/dist/wu-spawn-context.d.ts +1 -1
  150. package/dist/wu-spawn-context.d.ts.map +1 -1
  151. package/dist/wu-spawn-context.js +8 -2
  152. package/dist/wu-spawn-context.js.map +1 -1
  153. package/dist/wu-spawn-helpers.js +2 -2
  154. package/dist/wu-spawn-helpers.js.map +1 -1
  155. package/dist/wu-state-schema.d.ts +12 -12
  156. package/dist/wu-state-schema.d.ts.map +1 -1
  157. package/dist/wu-state-schema.js +10 -10
  158. package/dist/wu-state-schema.js.map +1 -1
  159. package/dist/wu-state-store.d.ts +10 -4
  160. package/dist/wu-state-store.d.ts.map +1 -1
  161. package/dist/wu-state-store.js +309 -11
  162. package/dist/wu-state-store.js.map +1 -1
  163. package/dist/wu-transaction.d.ts +21 -0
  164. package/dist/wu-transaction.d.ts.map +1 -1
  165. package/dist/wu-transaction.js +17 -0
  166. package/dist/wu-transaction.js.map +1 -1
  167. package/package.json +15 -9
@@ -0,0 +1,175 @@
1
+ /**
2
+ * Typed XState v5 state machine for the wu:done pipeline.
3
+ *
4
+ * WU-1662: Defines the canonical execution model for wu:done as an explicit
5
+ * state machine with typed states, events, guards, and context.
6
+ *
7
+ * Pipeline stages:
8
+ * idle -> validating -> preparing -> gating -> committing -> merging -> pushing -> cleaningUp -> done
9
+ *
10
+ * Each operational state has a failure transition to a shared `failed` state.
11
+ * The `failed` state supports a RETRY transition back to `validating`.
12
+ *
13
+ * Gate dedup (WU-1659): The `gating` state accepts GATES_SKIPPED only when
14
+ * prepPassed is true (wu:prep already ran gates successfully).
15
+ *
16
+ * Snapshot support: XState v5 provides built-in getPersistedSnapshot() and
17
+ * snapshot rehydration via createActor(machine, { snapshot }).
18
+ *
19
+ * This module is machine-definition only. No CLI behavior changes.
20
+ * WU-1663 wires the CLI orchestrator to this machine.
21
+ */
22
+ import { type SnapshotFrom, type ActorRefFrom } from 'xstate';
23
+ /**
24
+ * Pipeline state identifiers.
25
+ */
26
+ export declare const WU_DONE_STATES: {
27
+ readonly IDLE: "idle";
28
+ readonly VALIDATING: "validating";
29
+ readonly PREPARING: "preparing";
30
+ readonly GATING: "gating";
31
+ readonly COMMITTING: "committing";
32
+ readonly MERGING: "merging";
33
+ readonly PUSHING: "pushing";
34
+ readonly CLEANING_UP: "cleaningUp";
35
+ readonly DONE: "done";
36
+ readonly FAILED: "failed";
37
+ };
38
+ /**
39
+ * Pipeline event type identifiers.
40
+ */
41
+ export declare const WU_DONE_EVENTS: {
42
+ readonly START: "wu.done.start";
43
+ readonly VALIDATION_PASSED: "wu.done.validation.passed";
44
+ readonly VALIDATION_FAILED: "wu.done.validation.failed";
45
+ readonly PREPARATION_COMPLETE: "wu.done.preparation.complete";
46
+ readonly PREPARATION_FAILED: "wu.done.preparation.failed";
47
+ readonly GATES_PASSED: "wu.done.gates.passed";
48
+ readonly GATES_FAILED: "wu.done.gates.failed";
49
+ readonly GATES_SKIPPED: "wu.done.gates.skipped";
50
+ readonly COMMIT_COMPLETE: "wu.done.commit.complete";
51
+ readonly COMMIT_FAILED: "wu.done.commit.failed";
52
+ readonly MERGE_COMPLETE: "wu.done.merge.complete";
53
+ readonly MERGE_FAILED: "wu.done.merge.failed";
54
+ readonly PUSH_COMPLETE: "wu.done.push.complete";
55
+ readonly PUSH_FAILED: "wu.done.push.failed";
56
+ readonly CLEANUP_COMPLETE: "wu.done.cleanup.complete";
57
+ readonly CLEANUP_FAILED: "wu.done.cleanup.failed";
58
+ readonly RETRY: "wu.done.retry";
59
+ };
60
+ /**
61
+ * Context carried through the wu:done pipeline execution.
62
+ */
63
+ export interface WuDonePipelineContext {
64
+ /** Work unit ID (e.g., "WU-1662") */
65
+ wuId: string | null;
66
+ /** Path to the worktree for this WU */
67
+ worktreePath: string | null;
68
+ /** Whether wu:prep already ran gates successfully (WU-1659 gate dedup) */
69
+ prepPassed: boolean;
70
+ /** Error message from the most recent failure */
71
+ error: string | null;
72
+ /** The state where the failure occurred */
73
+ failedAt: string | null;
74
+ /** Number of retry attempts */
75
+ retryCount: number;
76
+ }
77
+ /** Input for creating a wu:done pipeline actor with pre-populated context. */
78
+ export interface WuDonePipelineInput {
79
+ wuId?: string | null;
80
+ worktreePath?: string | null;
81
+ prepPassed?: boolean;
82
+ }
83
+ interface StartEvent {
84
+ type: typeof WU_DONE_EVENTS.START;
85
+ wuId: string;
86
+ worktreePath: string;
87
+ }
88
+ interface ValidationPassedEvent {
89
+ type: typeof WU_DONE_EVENTS.VALIDATION_PASSED;
90
+ }
91
+ interface ValidationFailedEvent {
92
+ type: typeof WU_DONE_EVENTS.VALIDATION_FAILED;
93
+ error: string;
94
+ }
95
+ interface PreparationCompleteEvent {
96
+ type: typeof WU_DONE_EVENTS.PREPARATION_COMPLETE;
97
+ }
98
+ interface PreparationFailedEvent {
99
+ type: typeof WU_DONE_EVENTS.PREPARATION_FAILED;
100
+ error: string;
101
+ }
102
+ interface GatesPassedEvent {
103
+ type: typeof WU_DONE_EVENTS.GATES_PASSED;
104
+ }
105
+ interface GatesFailedEvent {
106
+ type: typeof WU_DONE_EVENTS.GATES_FAILED;
107
+ error: string;
108
+ }
109
+ interface GatesSkippedEvent {
110
+ type: typeof WU_DONE_EVENTS.GATES_SKIPPED;
111
+ }
112
+ interface CommitCompleteEvent {
113
+ type: typeof WU_DONE_EVENTS.COMMIT_COMPLETE;
114
+ }
115
+ interface CommitFailedEvent {
116
+ type: typeof WU_DONE_EVENTS.COMMIT_FAILED;
117
+ error: string;
118
+ }
119
+ interface MergeCompleteEvent {
120
+ type: typeof WU_DONE_EVENTS.MERGE_COMPLETE;
121
+ }
122
+ interface MergeFailedEvent {
123
+ type: typeof WU_DONE_EVENTS.MERGE_FAILED;
124
+ error: string;
125
+ }
126
+ interface PushCompleteEvent {
127
+ type: typeof WU_DONE_EVENTS.PUSH_COMPLETE;
128
+ }
129
+ interface PushFailedEvent {
130
+ type: typeof WU_DONE_EVENTS.PUSH_FAILED;
131
+ error: string;
132
+ }
133
+ interface CleanupCompleteEvent {
134
+ type: typeof WU_DONE_EVENTS.CLEANUP_COMPLETE;
135
+ }
136
+ interface CleanupFailedEvent {
137
+ type: typeof WU_DONE_EVENTS.CLEANUP_FAILED;
138
+ error: string;
139
+ }
140
+ interface RetryEvent {
141
+ type: typeof WU_DONE_EVENTS.RETRY;
142
+ }
143
+ /** Union of all wu:done pipeline events. */
144
+ export type WuDonePipelineEvent = StartEvent | ValidationPassedEvent | ValidationFailedEvent | PreparationCompleteEvent | PreparationFailedEvent | GatesPassedEvent | GatesFailedEvent | GatesSkippedEvent | CommitCompleteEvent | CommitFailedEvent | MergeCompleteEvent | MergeFailedEvent | PushCompleteEvent | PushFailedEvent | CleanupCompleteEvent | CleanupFailedEvent | RetryEvent;
145
+ /**
146
+ * The wu:done pipeline state machine.
147
+ *
148
+ * Represents the canonical execution stages of the wu:done command with
149
+ * explicit state/event/guard contracts and support for snapshot-based
150
+ * persistence and rehydration.
151
+ */
152
+ export declare const wuDoneMachine: import("xstate").StateMachine<WuDonePipelineContext, WuDonePipelineEvent, {}, never, never, {
153
+ type: "isPrepPassed";
154
+ params: unknown;
155
+ }, never, "done" | "validating" | "preparing" | "gating" | "cleaningUp" | "committing" | "failed" | "idle" | "merging" | "pushing", string, WuDonePipelineInput, {}, import("xstate").EventObject, import("xstate").MetaObject, {
156
+ id: "wuDonePipeline";
157
+ states: {
158
+ readonly idle: {};
159
+ readonly validating: {};
160
+ readonly preparing: {};
161
+ readonly gating: {};
162
+ readonly committing: {};
163
+ readonly merging: {};
164
+ readonly pushing: {};
165
+ readonly cleaningUp: {};
166
+ readonly done: {};
167
+ readonly failed: {};
168
+ };
169
+ }>;
170
+ /** Snapshot type for the wu:done pipeline machine. */
171
+ export type WuDonePipelineSnapshot = SnapshotFrom<typeof wuDoneMachine>;
172
+ /** Actor reference type for the wu:done pipeline machine. */
173
+ export type WuDonePipelineActorRef = ActorRefFrom<typeof wuDoneMachine>;
174
+ export {};
175
+ //# sourceMappingURL=wu-done-machine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-done-machine.d.ts","sourceRoot":"","sources":["../src/wu-done-machine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,225 @@
1
+ /**
2
+ * Typed XState v5 state machine for the wu:done pipeline.
3
+ *
4
+ * WU-1662: Defines the canonical execution model for wu:done as an explicit
5
+ * state machine with typed states, events, guards, and context.
6
+ *
7
+ * Pipeline stages:
8
+ * idle -> validating -> preparing -> gating -> committing -> merging -> pushing -> cleaningUp -> done
9
+ *
10
+ * Each operational state has a failure transition to a shared `failed` state.
11
+ * The `failed` state supports a RETRY transition back to `validating`.
12
+ *
13
+ * Gate dedup (WU-1659): The `gating` state accepts GATES_SKIPPED only when
14
+ * prepPassed is true (wu:prep already ran gates successfully).
15
+ *
16
+ * Snapshot support: XState v5 provides built-in getPersistedSnapshot() and
17
+ * snapshot rehydration via createActor(machine, { snapshot }).
18
+ *
19
+ * This module is machine-definition only. No CLI behavior changes.
20
+ * WU-1663 wires the CLI orchestrator to this machine.
21
+ */
22
+ import { assign, setup } from 'xstate';
23
+ // ---------------------------------------------------------------------------
24
+ // Constants
25
+ // ---------------------------------------------------------------------------
26
+ /**
27
+ * Pipeline state identifiers.
28
+ */
29
+ export const WU_DONE_STATES = {
30
+ IDLE: 'idle',
31
+ VALIDATING: 'validating',
32
+ PREPARING: 'preparing',
33
+ GATING: 'gating',
34
+ COMMITTING: 'committing',
35
+ MERGING: 'merging',
36
+ PUSHING: 'pushing',
37
+ CLEANING_UP: 'cleaningUp',
38
+ DONE: 'done',
39
+ FAILED: 'failed',
40
+ };
41
+ /**
42
+ * Pipeline event type identifiers.
43
+ */
44
+ export const WU_DONE_EVENTS = {
45
+ START: 'wu.done.start',
46
+ VALIDATION_PASSED: 'wu.done.validation.passed',
47
+ VALIDATION_FAILED: 'wu.done.validation.failed',
48
+ PREPARATION_COMPLETE: 'wu.done.preparation.complete',
49
+ PREPARATION_FAILED: 'wu.done.preparation.failed',
50
+ GATES_PASSED: 'wu.done.gates.passed',
51
+ GATES_FAILED: 'wu.done.gates.failed',
52
+ GATES_SKIPPED: 'wu.done.gates.skipped',
53
+ COMMIT_COMPLETE: 'wu.done.commit.complete',
54
+ COMMIT_FAILED: 'wu.done.commit.failed',
55
+ MERGE_COMPLETE: 'wu.done.merge.complete',
56
+ MERGE_FAILED: 'wu.done.merge.failed',
57
+ PUSH_COMPLETE: 'wu.done.push.complete',
58
+ PUSH_FAILED: 'wu.done.push.failed',
59
+ CLEANUP_COMPLETE: 'wu.done.cleanup.complete',
60
+ CLEANUP_FAILED: 'wu.done.cleanup.failed',
61
+ RETRY: 'wu.done.retry',
62
+ };
63
+ // ---------------------------------------------------------------------------
64
+ // Machine definition
65
+ // ---------------------------------------------------------------------------
66
+ /**
67
+ * The wu:done pipeline state machine.
68
+ *
69
+ * Represents the canonical execution stages of the wu:done command with
70
+ * explicit state/event/guard contracts and support for snapshot-based
71
+ * persistence and rehydration.
72
+ */
73
+ export const wuDoneMachine = setup({
74
+ types: {
75
+ context: {},
76
+ events: {},
77
+ input: {},
78
+ },
79
+ guards: {
80
+ /** WU-1659: Allow gate skip only when wu:prep already passed gates. */
81
+ isPrepPassed: ({ context }) => context.prepPassed === true,
82
+ },
83
+ }).createMachine({
84
+ id: 'wuDonePipeline',
85
+ initial: WU_DONE_STATES.IDLE,
86
+ context: ({ input }) => ({
87
+ wuId: input?.wuId ?? null,
88
+ worktreePath: input?.worktreePath ?? null,
89
+ prepPassed: input?.prepPassed ?? false,
90
+ error: null,
91
+ failedAt: null,
92
+ retryCount: 0,
93
+ }),
94
+ states: {
95
+ [WU_DONE_STATES.IDLE]: {
96
+ on: {
97
+ [WU_DONE_EVENTS.START]: {
98
+ target: WU_DONE_STATES.VALIDATING,
99
+ actions: assign({
100
+ wuId: ({ event }) => event.wuId,
101
+ worktreePath: ({ event }) => event.worktreePath,
102
+ }),
103
+ },
104
+ },
105
+ },
106
+ [WU_DONE_STATES.VALIDATING]: {
107
+ on: {
108
+ [WU_DONE_EVENTS.VALIDATION_PASSED]: {
109
+ target: WU_DONE_STATES.PREPARING,
110
+ },
111
+ [WU_DONE_EVENTS.VALIDATION_FAILED]: {
112
+ target: WU_DONE_STATES.FAILED,
113
+ actions: assign({
114
+ error: ({ event }) => event.error,
115
+ failedAt: WU_DONE_STATES.VALIDATING,
116
+ }),
117
+ },
118
+ },
119
+ },
120
+ [WU_DONE_STATES.PREPARING]: {
121
+ on: {
122
+ [WU_DONE_EVENTS.PREPARATION_COMPLETE]: {
123
+ target: WU_DONE_STATES.GATING,
124
+ },
125
+ [WU_DONE_EVENTS.PREPARATION_FAILED]: {
126
+ target: WU_DONE_STATES.FAILED,
127
+ actions: assign({
128
+ error: ({ event }) => event.error,
129
+ failedAt: WU_DONE_STATES.PREPARING,
130
+ }),
131
+ },
132
+ },
133
+ },
134
+ [WU_DONE_STATES.GATING]: {
135
+ on: {
136
+ [WU_DONE_EVENTS.GATES_PASSED]: {
137
+ target: WU_DONE_STATES.COMMITTING,
138
+ },
139
+ [WU_DONE_EVENTS.GATES_SKIPPED]: {
140
+ target: WU_DONE_STATES.COMMITTING,
141
+ guard: 'isPrepPassed',
142
+ },
143
+ [WU_DONE_EVENTS.GATES_FAILED]: {
144
+ target: WU_DONE_STATES.FAILED,
145
+ actions: assign({
146
+ error: ({ event }) => event.error,
147
+ failedAt: WU_DONE_STATES.GATING,
148
+ }),
149
+ },
150
+ },
151
+ },
152
+ [WU_DONE_STATES.COMMITTING]: {
153
+ on: {
154
+ [WU_DONE_EVENTS.COMMIT_COMPLETE]: {
155
+ target: WU_DONE_STATES.MERGING,
156
+ },
157
+ [WU_DONE_EVENTS.COMMIT_FAILED]: {
158
+ target: WU_DONE_STATES.FAILED,
159
+ actions: assign({
160
+ error: ({ event }) => event.error,
161
+ failedAt: WU_DONE_STATES.COMMITTING,
162
+ }),
163
+ },
164
+ },
165
+ },
166
+ [WU_DONE_STATES.MERGING]: {
167
+ on: {
168
+ [WU_DONE_EVENTS.MERGE_COMPLETE]: {
169
+ target: WU_DONE_STATES.PUSHING,
170
+ },
171
+ [WU_DONE_EVENTS.MERGE_FAILED]: {
172
+ target: WU_DONE_STATES.FAILED,
173
+ actions: assign({
174
+ error: ({ event }) => event.error,
175
+ failedAt: WU_DONE_STATES.MERGING,
176
+ }),
177
+ },
178
+ },
179
+ },
180
+ [WU_DONE_STATES.PUSHING]: {
181
+ on: {
182
+ [WU_DONE_EVENTS.PUSH_COMPLETE]: {
183
+ target: WU_DONE_STATES.CLEANING_UP,
184
+ },
185
+ [WU_DONE_EVENTS.PUSH_FAILED]: {
186
+ target: WU_DONE_STATES.FAILED,
187
+ actions: assign({
188
+ error: ({ event }) => event.error,
189
+ failedAt: WU_DONE_STATES.PUSHING,
190
+ }),
191
+ },
192
+ },
193
+ },
194
+ [WU_DONE_STATES.CLEANING_UP]: {
195
+ on: {
196
+ [WU_DONE_EVENTS.CLEANUP_COMPLETE]: {
197
+ target: WU_DONE_STATES.DONE,
198
+ },
199
+ [WU_DONE_EVENTS.CLEANUP_FAILED]: {
200
+ target: WU_DONE_STATES.FAILED,
201
+ actions: assign({
202
+ error: ({ event }) => event.error,
203
+ failedAt: WU_DONE_STATES.CLEANING_UP,
204
+ }),
205
+ },
206
+ },
207
+ },
208
+ [WU_DONE_STATES.DONE]: {
209
+ type: 'final',
210
+ },
211
+ [WU_DONE_STATES.FAILED]: {
212
+ on: {
213
+ [WU_DONE_EVENTS.RETRY]: {
214
+ target: WU_DONE_STATES.VALIDATING,
215
+ actions: assign({
216
+ error: null,
217
+ failedAt: null,
218
+ retryCount: ({ context }) => context.retryCount + 1,
219
+ }),
220
+ },
221
+ },
222
+ },
223
+ },
224
+ });
225
+ //# sourceMappingURL=wu-done-machine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-done-machine.js","sourceRoot":"","sources":["../src/wu-done-machine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wu-done-metadata.d.ts","sourceRoot":"","sources":["../src/wu-done-metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsCH,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,KAAA,EACF,KAAK,KAAA,EACL,SAAS,SAA8B,EACvC,UAAU,GAAE,gBAAqB,UAuClC;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE;;;CAAA,QAiBrE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE;;;;;;;CAAA,iBA6B5F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,wBAAsB,4BAA4B,CAAC,EACjD,EAAE,EACF,KAAK,EACL,GAAG,EACH,MAAM,EACN,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAkB,GACnB;;;;;;;;;;CAAA,iBAiDA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,EAAE,EACF,MAAM,EACN,UAAU,EACV,WAAW,EACX,SAAS,EACT,cAAqB,EACrB,UAAiB,EACjB,QAAe,GAChB;;;;;;;;;CAAA,iBAqCA"}
1
+ {"version":3,"file":"wu-done-metadata.d.ts","sourceRoot":"","sources":["../src/wu-done-metadata.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsCH,UAAU,gBAAgB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,KAAA,EACF,KAAK,KAAA,EACL,SAAS,SAA8B,EACvC,UAAU,GAAE,gBAAqB,UAuClC;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE;;;CAAA,QAiBrE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE;;;;;;;CAAA,iBA6B5F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,wBAAsB,4BAA4B,CAAC,EACjD,EAAE,EACF,KAAK,EACL,GAAG,EACH,MAAM,EACN,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,WAAkB,GACnB;;;;;;;;;;CAAA,iBAiDA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,sBAAsB,CAAC,EAC3C,EAAE,EACF,MAAM,EACN,UAAU,EACV,WAAW,EACX,SAAS,EACT,cAAqB,EACrB,UAAiB,EACjB,QAAe,GAChB;;;;;;;;;CAAA,iBAuCA"}
@@ -203,7 +203,7 @@ export async function stageAndFormatMetadata({ id, wuPath, statusPath, backlogPa
203
203
  const wuEventsPath = repoRoot
204
204
  ? path.join(repoRoot, LUMENFLOW_PATHS.STATE_DIR, WU_EVENTS_FILE_NAME)
205
205
  : path.join(LUMENFLOW_PATHS.STATE_DIR, WU_EVENTS_FILE_NAME);
206
- const filesToStage = [wuPath, statusPath, backlogPath, stampsDir];
206
+ const filesToStage = [wuPath, statusPath, backlogPath];
207
207
  if (initiativePath) {
208
208
  filesToStage.push(initiativePath);
209
209
  }
@@ -211,6 +211,8 @@ export async function stageAndFormatMetadata({ id, wuPath, statusPath, backlogPa
211
211
  filesToStage.push(wuEventsPath);
212
212
  }
213
213
  await gitCwd.add(filesToStage);
214
+ // WU-1653: Force-add stamps to override .gitignore (stamps must always be tracked)
215
+ await gitCwd.raw(['add', '--force', stampsDir]);
214
216
  // Format documentation
215
217
  console.log(`${LOG_PREFIX.DONE} Formatting auto-generated documentation...`);
216
218
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"wu-done-metadata.js","sourceRoot":"","sources":["../src/wu-done-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wu-done-metadata.js","sourceRoot":"","sources":["../src/wu-done-metadata.ts"],"names":[],"mappings":"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"}
@@ -111,42 +111,5 @@ export declare function validateCodePathsCommittedBeforeDone(wu: Record<string,
111
111
  * @returns {string} Formatted error message
112
112
  */
113
113
  export declare function buildCodePathsCommittedErrorMessage(wuId: string, uncommittedPaths: string[]): string;
114
- /**
115
- * WU-1503: Metadata allowlist patterns for dirty-main pre-merge guard.
116
- *
117
- * These paths are always considered "related" to any wu:done operation,
118
- * regardless of the WU's code_paths. They represent files that wu:done
119
- * itself may create or modify during the completion workflow.
120
- */
121
- export declare const METADATA_ALLOWLIST_PATTERNS: string[];
122
- /**
123
- * WU-1503: Validate that main checkout dirty state does not contain unrelated files.
124
- *
125
- * Performs a pre-merge dirty-main check by comparing dirty paths from
126
- * `git status --porcelain` against the WU's code_paths plus an explicit
127
- * metadata allowlist.
128
- *
129
- * @param gitStatusOutput - Raw output from `git status --porcelain`
130
- * @param wuId - WU ID (e.g., "WU-1503")
131
- * @param codePaths - WU code_paths array from YAML spec
132
- * @returns Validation result with unrelated files list
133
- */
134
- export interface DirtyMainResult {
135
- valid: boolean;
136
- unrelatedFiles: string[];
137
- relatedFiles: string[];
138
- }
139
- export declare function validateDirtyMain(gitStatusOutput: string, wuId: string, codePaths: string[]): DirtyMainResult;
140
- /**
141
- * WU-1503: Build actionable error message for dirty-main guard failure.
142
- *
143
- * Provides remediation guidance for unrelated dirty files on main,
144
- * including the --force bypass option.
145
- *
146
- * @param wuId - WU ID (e.g., "WU-1503")
147
- * @param unrelatedFiles - List of unrelated dirty file paths
148
- * @returns Formatted error message with remediation guidance
149
- */
150
- export declare function buildDirtyMainErrorMessage(wuId: string, unrelatedFiles: string[]): string;
151
114
  export {};
152
115
  //# sourceMappingURL=wu-done-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wu-done-validation.d.ts","sourceRoot":"","sources":["../src/wu-done-validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4BH,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,KAAA,GAAG,qBAAqB,CAgBhE;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,6BAA6B;IAC5C,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAsB,sBAAsB,CAAC,GAAG,KAAA,EAAE,EAAE,KAAA,EAAE,OAAO,GAAE,6BAAkC;;;;GAkFhG;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,KAAA,EAAE,GAAG,KAAA;;;EAkEhD;AAwCD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,UAAiB,EAAE;;;;;CAAA;;;EA+EhF;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,KAAA;;;;;;EAmD3C;AA+BD;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,KAAA;;;;;EA+BlD;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,KAAA,EAAE,YAAY,KAAA,UA6BhE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oCAAoC,CACxD,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3B,UAAU,EAAE;IAAE,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CAAE,EAChD,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAiE3E;AAED;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EAAE,GACzB,MAAM,CA6BR;AAED;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,EAQ/C,CAAC;AA2FF;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAC/B,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EAAE,GAClB,eAAe,CA+BjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAqBzF"}
1
+ {"version":3,"file":"wu-done-validation.d.ts","sourceRoot":"","sources":["../src/wu-done-validation.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyBH,UAAU,qBAAqB;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,qBAAqB,CAAC,GAAG,KAAA,GAAG,qBAAqB,CAgBhE;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,6BAA6B;IAC5C,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAsB,sBAAsB,CAAC,GAAG,KAAA,EAAE,EAAE,KAAA,EAAE,OAAO,GAAE,6BAAkC;;;;GAkFhG;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,KAAA,EAAE,GAAG,KAAA;;;EAkEhD;AAwCD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,UAAiB,EAAE;;;;;CAAA;;;EA+EhF;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,KAAA;;;;;;EAmD3C;AA+BD;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,KAAA;;;;;EA+BlD;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,EAAE,KAAA,EAAE,YAAY,KAAA,UA6BhE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oCAAoC,CACxD,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3B,UAAU,EAAE;IAAE,SAAS,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CAAE,EAChD,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GACzC,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAiE3E;AAED;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EAAE,GACzB,MAAM,CA6BR"}