@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.
- package/dist/adapters/terminal-renderer.adapter.d.ts.map +1 -1
- package/dist/adapters/terminal-renderer.adapter.js +6 -4
- package/dist/adapters/terminal-renderer.adapter.js.map +1 -1
- package/dist/atomic-merge.d.ts +21 -0
- package/dist/atomic-merge.d.ts.map +1 -0
- package/dist/atomic-merge.js +83 -0
- package/dist/atomic-merge.js.map +1 -0
- package/dist/delegation-escalation.d.ts +91 -0
- package/dist/delegation-escalation.d.ts.map +1 -0
- package/dist/delegation-escalation.js +258 -0
- package/dist/delegation-escalation.js.map +1 -0
- package/dist/delegation-monitor.d.ts +230 -0
- package/dist/delegation-monitor.d.ts.map +1 -0
- package/dist/delegation-monitor.js +675 -0
- package/dist/delegation-monitor.js.map +1 -0
- package/dist/delegation-recovery.d.ts +83 -0
- package/dist/delegation-recovery.d.ts.map +1 -0
- package/dist/delegation-recovery.js +299 -0
- package/dist/delegation-recovery.js.map +1 -0
- package/dist/delegation-registry-schema.d.ts +80 -0
- package/dist/delegation-registry-schema.d.ts.map +1 -0
- package/dist/delegation-registry-schema.js +91 -0
- package/dist/delegation-registry-schema.js.map +1 -0
- package/dist/delegation-registry-store.d.ts +159 -0
- package/dist/delegation-registry-store.d.ts.map +1 -0
- package/dist/delegation-registry-store.js +299 -0
- package/dist/delegation-registry-store.js.map +1 -0
- package/dist/delegation-tree.d.ts +57 -0
- package/dist/delegation-tree.d.ts.map +1 -0
- package/dist/delegation-tree.js +203 -0
- package/dist/delegation-tree.js.map +1 -0
- package/dist/gates-agent-mode.d.ts +25 -0
- package/dist/gates-agent-mode.d.ts.map +1 -1
- package/dist/gates-agent-mode.js +41 -0
- package/dist/gates-agent-mode.js.map +1 -1
- package/dist/index.d.ts +10 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -9
- package/dist/index.js.map +1 -1
- package/dist/lumenflow-config-schema.d.ts +9 -3
- package/dist/lumenflow-config-schema.d.ts.map +1 -1
- package/dist/lumenflow-config-schema.js +18 -3
- package/dist/lumenflow-config-schema.js.map +1 -1
- package/dist/lumenflow-config.d.ts +2 -0
- package/dist/lumenflow-config.d.ts.map +1 -1
- package/dist/lumenflow-config.js +1 -0
- package/dist/lumenflow-config.js.map +1 -1
- package/dist/micro-worktree-shared.d.ts +134 -0
- package/dist/micro-worktree-shared.d.ts.map +1 -0
- package/dist/micro-worktree-shared.js +350 -0
- package/dist/micro-worktree-shared.js.map +1 -0
- package/dist/micro-worktree.d.ts +4 -273
- package/dist/micro-worktree.d.ts.map +1 -1
- package/dist/micro-worktree.js +17 -549
- package/dist/micro-worktree.js.map +1 -1
- package/dist/rollback-utils.d.ts +52 -0
- package/dist/rollback-utils.d.ts.map +1 -1
- package/dist/rollback-utils.js +111 -0
- package/dist/rollback-utils.js.map +1 -1
- package/dist/schemas/index.d.ts +3 -3
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +6 -6
- package/dist/schemas/index.js.map +1 -1
- package/dist/schemas/initiative-arg-validators.d.ts +1 -0
- package/dist/schemas/initiative-arg-validators.d.ts.map +1 -1
- package/dist/schemas/initiative-schemas.d.ts +3 -1
- package/dist/schemas/initiative-schemas.d.ts.map +1 -1
- package/dist/schemas/initiative-schemas.js +2 -1
- package/dist/schemas/initiative-schemas.js.map +1 -1
- package/dist/schemas/setup-arg-validators.d.ts +4 -4
- package/dist/schemas/setup-arg-validators.d.ts.map +1 -1
- package/dist/schemas/setup-arg-validators.js +6 -6
- package/dist/schemas/setup-arg-validators.js.map +1 -1
- package/dist/schemas/setup-schemas.d.ts +7 -7
- package/dist/schemas/setup-schemas.d.ts.map +1 -1
- package/dist/schemas/setup-schemas.js +10 -10
- package/dist/schemas/setup-schemas.js.map +1 -1
- package/dist/schemas/wu-lifecycle-arg-validators.d.ts +2 -1
- package/dist/schemas/wu-lifecycle-arg-validators.d.ts.map +1 -1
- package/dist/schemas/wu-lifecycle-schemas.d.ts +5 -3
- package/dist/schemas/wu-lifecycle-schemas.d.ts.map +1 -1
- package/dist/schemas/wu-lifecycle-schemas.js +5 -1
- package/dist/schemas/wu-lifecycle-schemas.js.map +1 -1
- package/dist/template-loader.d.ts +7 -3
- package/dist/template-loader.d.ts.map +1 -1
- package/dist/template-loader.js +22 -6
- package/dist/template-loader.js.map +1 -1
- package/dist/wu-consistency-checker.d.ts +1 -0
- package/dist/wu-consistency-checker.d.ts.map +1 -1
- package/dist/wu-consistency-checker.js +31 -2
- package/dist/wu-consistency-checker.js.map +1 -1
- package/dist/wu-context-constants.d.ts +0 -2
- package/dist/wu-context-constants.d.ts.map +1 -1
- package/dist/wu-context-constants.js +0 -2
- package/dist/wu-context-constants.js.map +1 -1
- package/dist/wu-done-branch-only.d.ts +2 -11
- package/dist/wu-done-branch-only.d.ts.map +1 -1
- package/dist/wu-done-branch-only.js +81 -45
- package/dist/wu-done-branch-only.js.map +1 -1
- package/dist/wu-done-cleanup.js +33 -1
- package/dist/wu-done-cleanup.js.map +1 -1
- package/dist/wu-done-initiative-sync.d.ts.map +1 -1
- package/dist/wu-done-initiative-sync.js +20 -5
- package/dist/wu-done-initiative-sync.js.map +1 -1
- package/dist/wu-done-machine.d.ts +175 -0
- package/dist/wu-done-machine.d.ts.map +1 -0
- package/dist/wu-done-machine.js +225 -0
- package/dist/wu-done-machine.js.map +1 -0
- package/dist/wu-done-metadata.d.ts.map +1 -1
- package/dist/wu-done-metadata.js +3 -1
- package/dist/wu-done-metadata.js.map +1 -1
- package/dist/wu-done-validation.d.ts +0 -37
- package/dist/wu-done-validation.d.ts.map +1 -1
- package/dist/wu-done-validation.js +1 -155
- package/dist/wu-done-validation.js.map +1 -1
- package/dist/wu-done-validators.d.ts +1 -2
- package/dist/wu-done-validators.d.ts.map +1 -1
- package/dist/wu-done-validators.js +1 -3
- package/dist/wu-done-validators.js.map +1 -1
- package/dist/wu-done-worktree-services.d.ts +191 -0
- package/dist/wu-done-worktree-services.d.ts.map +1 -0
- package/dist/wu-done-worktree-services.js +273 -0
- package/dist/wu-done-worktree-services.js.map +1 -0
- package/dist/wu-done-worktree.d.ts +0 -19
- package/dist/wu-done-worktree.d.ts.map +1 -1
- package/dist/wu-done-worktree.js +165 -118
- package/dist/wu-done-worktree.js.map +1 -1
- package/dist/wu-git-constants.d.ts +4 -0
- package/dist/wu-git-constants.d.ts.map +1 -1
- package/dist/wu-git-constants.js +4 -0
- package/dist/wu-git-constants.js.map +1 -1
- package/dist/wu-helpers.d.ts +5 -1
- package/dist/wu-helpers.d.ts.map +1 -1
- package/dist/wu-helpers.js +5 -1
- package/dist/wu-helpers.js.map +1 -1
- package/dist/wu-lint.d.ts +24 -0
- package/dist/wu-lint.d.ts.map +1 -1
- package/dist/wu-lint.js +48 -1
- package/dist/wu-lint.js.map +1 -1
- package/dist/wu-paths-constants.d.ts +3 -3
- package/dist/wu-paths-constants.d.ts.map +1 -1
- package/dist/wu-paths-constants.js +3 -3
- package/dist/wu-paths-constants.js.map +1 -1
- package/dist/wu-recovery.d.ts +89 -0
- package/dist/wu-recovery.d.ts.map +1 -1
- package/dist/wu-recovery.js +118 -0
- package/dist/wu-recovery.js.map +1 -1
- package/dist/wu-schema.d.ts +6 -6
- package/dist/wu-spawn-context.d.ts +1 -1
- package/dist/wu-spawn-context.d.ts.map +1 -1
- package/dist/wu-spawn-context.js +8 -2
- package/dist/wu-spawn-context.js.map +1 -1
- package/dist/wu-spawn-helpers.js +2 -2
- package/dist/wu-spawn-helpers.js.map +1 -1
- package/dist/wu-state-schema.d.ts +12 -12
- package/dist/wu-state-schema.d.ts.map +1 -1
- package/dist/wu-state-schema.js +10 -10
- package/dist/wu-state-schema.js.map +1 -1
- package/dist/wu-state-store.d.ts +10 -4
- package/dist/wu-state-store.d.ts.map +1 -1
- package/dist/wu-state-store.js +309 -11
- package/dist/wu-state-store.js.map +1 -1
- package/dist/wu-transaction.d.ts +21 -0
- package/dist/wu-transaction.d.ts.map +1 -1
- package/dist/wu-transaction.js +17 -0
- package/dist/wu-transaction.js.map +1 -1
- 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,
|
|
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"}
|
package/dist/wu-done-metadata.js
CHANGED
|
@@ -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
|
|
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;
|
|
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"}
|