@codyswann/lisa 2.293.1 → 2.295.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 (128) hide show
  1. package/cdk/create-only/.github/workflows/deploy.yml +19 -0
  2. package/dist/cli/deploy-status-adapter-github.d.ts +20 -0
  3. package/dist/cli/deploy-status-adapter-github.d.ts.map +1 -0
  4. package/dist/cli/deploy-status-adapter-github.js +167 -0
  5. package/dist/cli/deploy-status-adapter-github.js.map +1 -0
  6. package/dist/cli/deploy-status-adapter-jira.d.ts +18 -0
  7. package/dist/cli/deploy-status-adapter-jira.d.ts.map +1 -0
  8. package/dist/cli/deploy-status-adapter-jira.js +215 -0
  9. package/dist/cli/deploy-status-adapter-jira.js.map +1 -0
  10. package/dist/cli/deploy-status-adapter-linear.d.ts +16 -0
  11. package/dist/cli/deploy-status-adapter-linear.d.ts.map +1 -0
  12. package/dist/cli/deploy-status-adapter-linear.js +204 -0
  13. package/dist/cli/deploy-status-adapter-linear.js.map +1 -0
  14. package/dist/cli/deploy-status-adapter-shared.d.ts +57 -0
  15. package/dist/cli/deploy-status-adapter-shared.d.ts.map +1 -0
  16. package/dist/cli/deploy-status-adapter-shared.js +62 -0
  17. package/dist/cli/deploy-status-adapter-shared.js.map +1 -0
  18. package/dist/cli/deploy-status-adapter.d.ts +49 -0
  19. package/dist/cli/deploy-status-adapter.d.ts.map +1 -0
  20. package/dist/cli/deploy-status-adapter.js +87 -0
  21. package/dist/cli/deploy-status-adapter.js.map +1 -0
  22. package/dist/cli/deploy-status-refs.d.ts +70 -0
  23. package/dist/cli/deploy-status-refs.d.ts.map +1 -0
  24. package/dist/cli/deploy-status-refs.js +195 -0
  25. package/dist/cli/deploy-status-refs.js.map +1 -0
  26. package/dist/cli/deploy-status-sync-cmd.d.ts +23 -0
  27. package/dist/cli/deploy-status-sync-cmd.d.ts.map +1 -0
  28. package/dist/cli/deploy-status-sync-cmd.js +75 -0
  29. package/dist/cli/deploy-status-sync-cmd.js.map +1 -0
  30. package/dist/cli/deploy-status-sync-engine.d.ts +49 -0
  31. package/dist/cli/deploy-status-sync-engine.d.ts.map +1 -0
  32. package/dist/cli/deploy-status-sync-engine.js +214 -0
  33. package/dist/cli/deploy-status-sync-engine.js.map +1 -0
  34. package/dist/cli/deploy-status-sync-exec.d.ts +73 -0
  35. package/dist/cli/deploy-status-sync-exec.d.ts.map +1 -0
  36. package/dist/cli/deploy-status-sync-exec.js +95 -0
  37. package/dist/cli/deploy-status-sync-exec.js.map +1 -0
  38. package/dist/cli/gate-commands.d.ts +3 -1
  39. package/dist/cli/gate-commands.d.ts.map +1 -1
  40. package/dist/cli/gate-commands.js +26 -0
  41. package/dist/cli/gate-commands.js.map +1 -1
  42. package/dist/cli/index.d.ts +2 -7
  43. package/dist/cli/index.d.ts.map +1 -1
  44. package/dist/cli/index.js +4 -43
  45. package/dist/cli/index.js.map +1 -1
  46. package/dist/cli/kane-commands.d.ts +21 -0
  47. package/dist/cli/kane-commands.d.ts.map +1 -0
  48. package/dist/cli/kane-commands.js +44 -0
  49. package/dist/cli/kane-commands.js.map +1 -0
  50. package/dist/cli/update-check.d.ts +8 -0
  51. package/dist/cli/update-check.d.ts.map +1 -1
  52. package/dist/cli/update-check.js +4 -2
  53. package/dist/cli/update-check.js.map +1 -1
  54. package/dist/core/deploy-status-sync.d.ts +15 -0
  55. package/dist/core/deploy-status-sync.d.ts.map +1 -1
  56. package/dist/core/deploy-status-sync.js +57 -19
  57. package/dist/core/deploy-status-sync.js.map +1 -1
  58. package/dist/core/deploy-status-transition.d.ts +97 -0
  59. package/dist/core/deploy-status-transition.d.ts.map +1 -0
  60. package/dist/core/deploy-status-transition.js +134 -0
  61. package/dist/core/deploy-status-transition.js.map +1 -0
  62. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  63. package/dist/core/upstream-evidence-manifest.js +29 -8
  64. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  65. package/expo/create-only/.github/workflows/deploy.yml +13 -0
  66. package/harper-fabric/create-only/.github/workflows/deploy.yml +5 -0
  67. package/nestjs/create-only/.github/workflows/deploy.yml +14 -0
  68. package/package.json +1 -1
  69. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  70. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  71. package/plugins/lisa/rules/eager/config-resolution.md +3 -2
  72. package/plugins/lisa/rules/reference/config-resolution.md +13 -1
  73. package/plugins/lisa-agy/plugin.json +1 -1
  74. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  75. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  76. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  77. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  78. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  80. package/plugins/lisa-copilot/rules/eager/config-resolution.md +3 -2
  81. package/plugins/lisa-copilot/rules/reference/config-resolution.md +13 -1
  82. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  83. package/plugins/lisa-cursor/rules/config-resolution-reference.mdc +13 -1
  84. package/plugins/lisa-cursor/rules/config-resolution.mdc +3 -2
  85. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  86. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  87. package/plugins/lisa-expo-agy/plugin.json +1 -1
  88. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  89. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  90. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  91. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  92. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  93. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  94. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  95. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  96. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  97. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  98. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  99. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  100. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  101. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  102. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  103. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  104. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  105. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  106. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  107. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  108. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  109. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  110. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  111. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  112. package/plugins/lisa-rails-agy/plugin.json +1 -1
  113. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  114. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  115. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  116. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  117. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  118. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  119. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  120. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  121. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  122. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  123. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  124. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  125. package/plugins/src/base/rules/eager/config-resolution.md +3 -2
  126. package/plugins/src/base/rules/reference/config-resolution.md +13 -1
  127. package/rails/create-only/.github/workflows/deploy.yml +5 -0
  128. package/typescript/copy-overwrite/.github/GITHUB_ACTIONS.md +28 -0
@@ -39,6 +39,16 @@ const DONE_MAP_PATHS = {
39
39
  linear: "linear.labels.build.done",
40
40
  jira: "jira.workflow.done",
41
41
  };
42
+ /**
43
+ * Config dot-path of a tracker's env-keyed done vocabulary. Exposed so
44
+ * consumers (e.g. the transition engine's explanatory no-ops) can name the
45
+ * exact missing config key without duplicating the vocabulary source map.
46
+ * @param tracker - Tracker whose done map applies
47
+ * @returns Dot-path inside `.lisa.config.json`
48
+ */
49
+ export function doneMapPath(tracker) {
50
+ return DONE_MAP_PATHS[tracker];
51
+ }
42
52
  /** Default done vocabulary per tracker, used when config has no entry. */
43
53
  const DONE_DEFAULTS = {
44
54
  github: ENV_DONE_LABEL_DEFAULTS,
@@ -83,10 +93,24 @@ function readConfiguredDone(config, tracker) {
83
93
  return { map: stringRecord(done) };
84
94
  }
85
95
  /**
86
- * Reject a configured done entry whose environment has no deploy branch.
87
- * Only explicitly-configured entries can trigger this default-table
88
- * entries are fallbacks and never error.
96
+ * Drop done-map entries whose value is EXACTLY the default table's value
97
+ * for that env. `lisa sync` materializes the default map into config, so
98
+ * such entries are not operator intent — they are invisible for ALL
99
+ * purposes: stripped before the env-key union is computed, they never
100
+ * block the sole `prod` ↔ `production` alias and never error. Only a
101
+ * value that DIFFERS from the default is deliberate configuration.
89
102
  * @param doneMap - Configured env-keyed done map
103
+ * @param defaults - Tracker default done vocabulary
104
+ * @returns The done map without materialized-default entries
105
+ */
106
+ function stripMaterializedDefaults(doneMap, defaults) {
107
+ return Object.fromEntries(Object.entries(doneMap).filter(([env, status]) => status !== defaults[env]));
108
+ }
109
+ /**
110
+ * Reject a configured done entry whose environment has no deploy branch.
111
+ * Materialized defaults are already stripped by the time this runs, so
112
+ * every remaining entry is deliberate operator intent.
113
+ * @param doneMap - Configured env-keyed done map (defaults stripped)
90
114
  * @param branchEnvs - Environments present in `deploy.branches`
91
115
  * @param source - Config source shown in errors
92
116
  */
@@ -165,15 +189,11 @@ function orderEnvironments(branchEnvs, order, canonical, source) {
165
189
  * done status resolves nowhere (possible only for custom names outside the
166
190
  * default tables) is skipped — a branch-only env is a deploy target without
167
191
  * tracker vocabulary, not an error.
168
- * @param orderedEnvs - Environments ordered lowest first
169
- * @param branches - Env-to-branch record
170
- * @param done - Configured done vocabulary
171
- * @param defaults - Tracker default done vocabulary
172
- * @param canonical - Alias-aware canonical name resolver
173
- * @param terminalEnv - Highest-ranked env of the configured universe
192
+ * @param input - Ordered envs, branch map, vocabularies, and alias resolver
174
193
  * @returns The joined rungs, lowest environment first
175
194
  */
176
- function buildRungs(orderedEnvs, branches, done, defaults, canonical, terminalEnv) {
195
+ function buildRungs(input) {
196
+ const { orderedEnvs, branches, done, defaults, canonical, terminalEnv } = input;
177
197
  return orderedEnvs.flatMap(env => {
178
198
  const branch = branches[env];
179
199
  const terminal = env === terminalEnv ? done.terminal : undefined;
@@ -202,27 +222,45 @@ export function resolveDeployLadder(config, tracker, source) {
202
222
  const branchEnvs = Object.keys(branches);
203
223
  if (branchEnvs.length === 0)
204
224
  return { rungs: [], terminalOnly: false };
205
- const done = readConfiguredDone(config, tracker);
225
+ const raw = readConfiguredDone(config, tracker);
226
+ // Materialized defaults are invisible everywhere: strip them BEFORE the
227
+ // union so they can never block the sole alias or raise an error.
228
+ const doneMap = raw.map === undefined
229
+ ? undefined
230
+ : stripMaterializedDefaults(raw.map, DONE_DEFAULTS[tracker]);
231
+ const done = {
232
+ ...(doneMap === undefined ? {} : { map: doneMap }),
233
+ ...(raw.terminal === undefined ? {} : { terminal: raw.terminal }),
234
+ };
206
235
  const order = readOrder(config, source);
207
236
  const union = new Set([
208
237
  ...branchEnvs,
209
- ...Object.keys(done.map ?? {}),
238
+ ...Object.keys(doneMap ?? {}),
210
239
  ...(order ?? []),
211
240
  ]);
212
241
  const soleProdAlias = union.has("prod") && !union.has("production");
213
242
  const canonical = (env) => soleProdAlias && env === "prod" ? "production" : env;
214
- if (done.map !== undefined) {
215
- assertDoneEnvsHaveBranches(done.map, branchEnvs, source);
243
+ if (doneMap !== undefined) {
244
+ assertDoneEnvsHaveBranches(doneMap, branchEnvs, source);
216
245
  }
217
246
  const ordered = orderEnvironments(branchEnvs, order, canonical, source);
218
247
  const terminalEnv = ordered.at(-1);
219
- const rungs = buildRungs(ordered, branches, done, DONE_DEFAULTS[tracker], canonical, terminalEnv);
248
+ const rungs = buildRungs({
249
+ orderedEnvs: ordered,
250
+ branches,
251
+ done,
252
+ defaults: DONE_DEFAULTS[tracker],
253
+ canonical,
254
+ terminalEnv,
255
+ });
220
256
  // terminalOnly guards DSS-2's native closure: a sole surviving LOWER rung
221
257
  // (skip-collapsed ladder) must never be treated as the terminal env.
222
- const terminalOnly = rungs.length === 1 &&
223
- rungs[0] !== undefined &&
224
- rungs[0].env === terminalEnv;
225
- return { rungs, terminalOnly };
258
+ const terminalOnly = rungs.length === 1 && rungs[0]?.env === terminalEnv;
259
+ return {
260
+ rungs,
261
+ terminalOnly,
262
+ ...(terminalEnv === undefined ? {} : { terminalEnv }),
263
+ };
226
264
  }
227
265
  /** Strict ISO-8601 UTC timestamp (`Z` suffix, optional milliseconds). */
228
266
  const ISO_UTC_PATTERN = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/u;
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-status-sync.js","sourceRoot":"","sources":["../../src/core/deploy-status-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-status-sync.js","sourceRoot":"","sources":["../../src/core/deploy-status-sync.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Pure transition planner for deploy-status-sync (DSS-2).
3
+ *
4
+ * Given the resolved deploy ladder, a target environment, and the fetched
5
+ * tracker item states, decide — with zero IO — what should happen to each
6
+ * item: promote to the rung's done status (closing natively only at the
7
+ * universe's terminal env), skip items at-or-beyond the rung (never moving
8
+ * anything backward), skip containers per `leaf-only-lifecycle`, and turn an
9
+ * unconfigured environment into an explanatory no-op naming the exact
10
+ * missing config key. All status vocabulary is config-sourced via the DSS-1
11
+ * resolver's ladder; this module never invents status names.
12
+ * @module core/deploy-status-transition
13
+ */
14
+ import { type DeployLadder, type DeployLadderRung, type Tracker } from "./deploy-status-sync.js";
15
+ /** Marker prefixing every managed comment the engine writes. */
16
+ export declare const DEPLOY_STATUS_SYNC_MARKER = "[lisa-deploy-status-sync]";
17
+ /** Vendor-neutral snapshot of one tracker item, fetched by an adapter. */
18
+ export interface TrackerItemState {
19
+ /** Canonical work-item ref (`owner/repo#N` or `KEY-N`) */
20
+ readonly ref: string;
21
+ /** Raw item type (e.g. `Epic`, `type:Story`), when the tracker exposes it */
22
+ readonly type?: string;
23
+ /** Number of child items not yet terminal */
24
+ readonly openChildren: number;
25
+ /** Current status within the configured done vocabulary, when recognizable */
26
+ readonly currentStatus?: string;
27
+ /** True when the item is natively closed/terminal */
28
+ readonly closed: boolean;
29
+ }
30
+ /** Promote one leaf to the rung's done status (and optionally close). */
31
+ export interface PromoteAction {
32
+ readonly kind: "promote";
33
+ readonly ref: string;
34
+ /** Config-sourced done status of the target rung */
35
+ readonly doneStatus: string;
36
+ /** True only at the universe's terminal env (native closure) */
37
+ readonly close: boolean;
38
+ /** Deterministic managed-comment body (marker-prefixed, no timestamps) */
39
+ readonly commentBody: string;
40
+ }
41
+ /** Skip an item already at-or-beyond the target rung — zero writes. */
42
+ export interface SkipAtOrBeyondAction {
43
+ readonly kind: "skip-at-or-beyond";
44
+ readonly ref: string;
45
+ readonly reason: string;
46
+ }
47
+ /** Skip a container per leaf-only-lifecycle, with a rollup comment. */
48
+ export interface SkipContainerAction {
49
+ readonly kind: "skip-container";
50
+ readonly ref: string;
51
+ readonly reason: string;
52
+ /** Deterministic rollup body (identical across env events) */
53
+ readonly commentBody: string;
54
+ }
55
+ /** Skip a closed item whose status is outside the config vocabulary. */
56
+ export interface SkipUnrecognizedStatusAction {
57
+ readonly kind: "skip-unrecognized-status";
58
+ readonly ref: string;
59
+ readonly reason: string;
60
+ }
61
+ /** One planned action for one extracted work-item ref. */
62
+ export type ItemAction = PromoteAction | SkipAtOrBeyondAction | SkipContainerAction | SkipUnrecognizedStatusAction;
63
+ /** Input to {@link planTransitions}. */
64
+ export interface TransitionPlanInput {
65
+ /** Resolved ladder from the DSS-1 resolver (config-sourced vocabulary) */
66
+ readonly ladder: DeployLadder;
67
+ /** Environment the deploy landed in */
68
+ readonly env: string;
69
+ /** Tracker vendor (names the done-map config key in no-ops) */
70
+ readonly tracker: Tracker;
71
+ /** Branch that deployed (comment context only) */
72
+ readonly branch: string;
73
+ /** Head SHA of the deployed range (comment context only) */
74
+ readonly headSha: string;
75
+ /** Fetched item states for every extracted ref */
76
+ readonly items: readonly TrackerItemState[];
77
+ }
78
+ /** The full plan: either per-item actions or an explanatory no-op. */
79
+ export type TransitionPlan = {
80
+ readonly kind: "no-op";
81
+ readonly env: string;
82
+ /** Operator-readable explanation naming the missing config key */
83
+ readonly reason: string;
84
+ } | {
85
+ readonly kind: "plan";
86
+ readonly env: string;
87
+ readonly rung: DeployLadderRung;
88
+ readonly actions: readonly ItemAction[];
89
+ };
90
+ /**
91
+ * Plan all transitions for a deploy event. Pure — performs no IO; callers
92
+ * fetch item states through an adapter and execute the returned actions.
93
+ * @param input - Ladder, env, tracker, range context, and item states
94
+ * @returns Explanatory no-op or per-item action plan
95
+ */
96
+ export declare function planTransitions(input: TransitionPlanInput): TransitionPlan;
97
+ //# sourceMappingURL=deploy-status-transition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-status-transition.d.ts","sourceRoot":"","sources":["../../src/core/deploy-status-transition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * Pure transition planner for deploy-status-sync (DSS-2).
3
+ *
4
+ * Given the resolved deploy ladder, a target environment, and the fetched
5
+ * tracker item states, decide — with zero IO — what should happen to each
6
+ * item: promote to the rung's done status (closing natively only at the
7
+ * universe's terminal env), skip items at-or-beyond the rung (never moving
8
+ * anything backward), skip containers per `leaf-only-lifecycle`, and turn an
9
+ * unconfigured environment into an explanatory no-op naming the exact
10
+ * missing config key. All status vocabulary is config-sourced via the DSS-1
11
+ * resolver's ladder; this module never invents status names.
12
+ * @module core/deploy-status-transition
13
+ */
14
+ import { doneMapPath, } from "./deploy-status-sync.js";
15
+ /** Marker prefixing every managed comment the engine writes. */
16
+ export const DEPLOY_STATUS_SYNC_MARKER = "[lisa-deploy-status-sync]";
17
+ const PROD_SPELLINGS = new Set(["prod", "production"]);
18
+ /**
19
+ * Find the ladder rung for an environment, honoring the sole
20
+ * `prod` ↔ `production` alias (a ladder built from `branches.prod` may be
21
+ * addressed as `production` and vice versa).
22
+ * @param ladder - Resolved deploy ladder
23
+ * @param env - Requested environment name
24
+ * @returns The matching rung, or undefined when unconfigured
25
+ */
26
+ function findRung(ladder, env) {
27
+ const exact = ladder.rungs.find(rung => rung.env === env);
28
+ if (exact !== undefined || !PROD_SPELLINGS.has(env))
29
+ return exact;
30
+ return ladder.rungs.find(rung => PROD_SPELLINGS.has(rung.env));
31
+ }
32
+ /**
33
+ * Build the deterministic promotion comment body. No timestamps — a re-run
34
+ * of the same event must produce a byte-identical body so the managed
35
+ * comment upsert resolves to `unchanged` with zero edit calls.
36
+ * @param input - Planner input (env, branch, head)
37
+ * @param rung - Target rung
38
+ * @param close - Whether terminal closure applies
39
+ * @returns Marker-prefixed comment body
40
+ */
41
+ function promotionBody(input, rung, close) {
42
+ const closure = close
43
+ ? "\nTerminal environment reached; item closed natively (leaf-only-lifecycle)."
44
+ : "";
45
+ return `${DEPLOY_STATUS_SYNC_MARKER}\nDeploy status sync: "${input.env}" deploy of branch "${input.branch}" (head ${input.headSha}) → "${rung.doneStatus}".${closure}`;
46
+ }
47
+ /** Deterministic rollup body for skipped containers (env-independent). */
48
+ const CONTAINER_ROLLUP_BODY = `${DEPLOY_STATUS_SYNC_MARKER}\nRollup: container skipped per leaf-only-lifecycle — containers are never transitioned by deploy events; leaf items advance individually.`;
49
+ /**
50
+ * Whether an item is a container (epic-typed or has open children), per the
51
+ * assertLeaf semantics of the work-item contract.
52
+ * @param item - Fetched item state
53
+ * @returns True when the item must not be transitioned
54
+ */
55
+ function isContainer(item) {
56
+ const normalizedType = (item.type ?? "")
57
+ .replace(/^type:/i, "")
58
+ .trim()
59
+ .toLowerCase();
60
+ return normalizedType === "epic" || item.openChildren > 0;
61
+ }
62
+ /**
63
+ * Plan the action for one item against the target rung.
64
+ * @param item - Fetched item state
65
+ * @param input - Planner input
66
+ * @param rung - Target rung
67
+ * @param close - Whether terminal closure applies at this rung
68
+ * @param doneStatuses - Ladder done statuses, lowest rung first
69
+ * @returns The planned action
70
+ */
71
+ function planItem(item, input, rung, close, doneStatuses) {
72
+ if (isContainer(item)) {
73
+ return {
74
+ kind: "skip-container",
75
+ ref: item.ref,
76
+ reason: `container (type "${item.type ?? "unknown"}", ${String(item.openChildren)} open children) skipped per leaf-only-lifecycle`,
77
+ commentBody: CONTAINER_ROLLUP_BODY,
78
+ };
79
+ }
80
+ const currentIndex = item.currentStatus === undefined
81
+ ? -1
82
+ : doneStatuses.indexOf(item.currentStatus);
83
+ if (item.closed) {
84
+ if (currentIndex === -1) {
85
+ return {
86
+ kind: "skip-unrecognized-status",
87
+ ref: item.ref,
88
+ reason: `closed at status "${item.currentStatus ?? "(none)"}", which is outside the configured ${doneMapPath(input.tracker)} vocabulary; not moving (config-bound vocabulary)`,
89
+ };
90
+ }
91
+ return {
92
+ kind: "skip-at-or-beyond",
93
+ ref: item.ref,
94
+ reason: `already closed at "${item.currentStatus ?? ""}"`,
95
+ };
96
+ }
97
+ const targetIndex = doneStatuses.indexOf(rung.doneStatus);
98
+ if (currentIndex >= targetIndex) {
99
+ return {
100
+ kind: "skip-at-or-beyond",
101
+ ref: item.ref,
102
+ reason: `current status "${item.currentStatus ?? ""}" is at or beyond "${rung.doneStatus}"`,
103
+ };
104
+ }
105
+ return {
106
+ kind: "promote",
107
+ ref: item.ref,
108
+ doneStatus: rung.doneStatus,
109
+ close,
110
+ commentBody: promotionBody(input, rung, close),
111
+ };
112
+ }
113
+ /**
114
+ * Plan all transitions for a deploy event. Pure — performs no IO; callers
115
+ * fetch item states through an adapter and execute the returned actions.
116
+ * @param input - Ladder, env, tracker, range context, and item states
117
+ * @returns Explanatory no-op or per-item action plan
118
+ */
119
+ export function planTransitions(input) {
120
+ const rung = findRung(input.ladder, input.env);
121
+ if (rung === undefined) {
122
+ return {
123
+ kind: "no-op",
124
+ env: input.env,
125
+ reason: `no-op: environment "${input.env}" has no configured done status — .lisa.config.json is missing ${doneMapPath(input.tracker)}.${input.env}. No transitions attempted.`,
126
+ };
127
+ }
128
+ const close = input.ladder.terminalEnv !== undefined &&
129
+ rung.env === input.ladder.terminalEnv;
130
+ const doneStatuses = input.ladder.rungs.map(entry => entry.doneStatus);
131
+ const actions = input.items.map(item => planItem(item, input, rung, close, doneStatuses));
132
+ return { kind: "plan", env: input.env, rung, actions };
133
+ }
134
+ //# sourceMappingURL=deploy-status-transition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy-status-transition.js","sourceRoot":"","sources":["../../src/core/deploy-status-transition.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4hEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAyvMjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
1
+ {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4hEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA8wMjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
@@ -23,7 +23,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
23
23
  "cdk/copy-overwrite/vitest.cdk.ts": "aea238d214b7eb4c532cebe5bf732dc30b9fd04d938a215bd34a5ec2eff17046",
24
24
  "cdk/copy-overwrite/vitest.config.ts": "ce14179d4ab31011bb012ee1669af7d86b5189bdf2934e0bd9dd666a30e3d01e",
25
25
  "cdk/create-only/.github/workflows/ci.yml": "04cca8fbcb7a5c6da1aeb2b2d00d7a328d15618e4252f1d9dd495052d264d0f5",
26
- "cdk/create-only/.github/workflows/deploy.yml": "2746e78fb0fbe7b23b30bbcb0f83171e16f6804fd467b3d41d3c69970572af3f",
26
+ "cdk/create-only/.github/workflows/deploy.yml": "49c68a12c197b750fc7d7d953a190cfecf3028c60a10ca1f18e148eb9a153ebf",
27
27
  "cdk/create-only/cdk.json": "f89030d8fe145a1dbabd59d89ddee4e16984f222d737f7fcf6b778d911e9fe40",
28
28
  "cdk/create-only/tsconfig.local.json": "d26253827e21fd7c41d30565fe3d339675f119e00bb24c5713a01f57ccd06602",
29
29
  "cdk/create-only/vitest.config.local.ts": "476738b351114a0efbcd3ae4ce1cf016307b55ee41ed8e87c35e28e4639d98f5",
@@ -73,7 +73,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
73
73
  "expo/copy-overwrite/tsconfig.expo.json": "55f3dfe80496f03152d40d364c5a9cabf3fdce3adc8cebea48ba5257d77b7aa9",
74
74
  "expo/copy-overwrite/tsconfig.json": "c92e2c2c109e8794ee351f634361ef46297f5a0cd606aaf5c19911da836df307",
75
75
  "expo/create-only/.github/workflows/ci.yml": "ba73a3d8c9195b6823525a396aef50809bbb3cab5cbdd24ce9ccf6e5efaf3d35",
76
- "expo/create-only/.github/workflows/deploy.yml": "0978b1f4e19e1ff66bb8cdd037d36a3751d4e917db7ceb5bcf100fad36768516",
76
+ "expo/create-only/.github/workflows/deploy.yml": "7307c772b0b841ad67102499b9ba86afc9ee925c55fb4eb0a6b0b520e8d62f92",
77
77
  "expo/create-only/.github/workflows/maestro-e2e.yml": "444367a8cefaa81b484bc6eff5923c34177e10f6a67cbf1befec00c9d0d1d36b",
78
78
  "expo/create-only/.zap/baseline.conf": "ab18d74ba5270dd5d795e740cd6b1292bb78dc36c79a20c1e7b752d14c0c55f5",
79
79
  "expo/create-only/babel.config.js": "faaf96f0d43c724a240a7892584de54ae384eee9ef9d76430d081f37d9f92924",
@@ -106,7 +106,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
106
106
  "harper-fabric/copy-overwrite/tsconfig.eslint.json": "63ddc31cbbdf91ba4def5f04ed76b2a8b61ced456d4472aea77a55cc037a62e1",
107
107
  "harper-fabric/copy-overwrite/tsconfig.json": "64b9f2e919160568712e2641b125aa21bec486532249a7b17e4fb2f4bb3988cc",
108
108
  "harper-fabric/copy-overwrite/vitest.config.ts": "d24cd8d91b9942d8e0bd205ac41e103d49f2cb1e961bcdab259a56f5112e0151",
109
- "harper-fabric/create-only/.github/workflows/deploy.yml": "37cf03c11e892f58c8fb818bbf35242af0e0e920f5d6a5f4716defccbb8d064d",
109
+ "harper-fabric/create-only/.github/workflows/deploy.yml": "dc44723ac2ca6e5b2ba2c8ba1e07d06ef0772ba7a31232c861c1556e893bf5ba",
110
110
  "harper-fabric/create-only/.github/workflows/zap-baseline.yml": "0315cd74dbe463da373b6a2fb75d48f46959df4232a31573fb84b1a4ed8e4e36",
111
111
  "harper-fabric/create-only/.zap/baseline.conf": "68aae4b1b9b5b7253b5aeb792d72b58f64e5eda1dcf8f3062bd9d77494a5a22f",
112
112
  "harper-fabric/create-only/scripts/zap-baseline.sh": "da139276b637080f9877362ce6f9667c1ffd57c9d18ec851999ce4328f309577",
@@ -147,7 +147,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
147
147
  "nestjs/create-only/.github/k6/thresholds/relaxed.json": "350c18b2c588fd628db8a6e82fc5c0b3ffc8a09f1c89b64d1f530350bc64a9ca",
148
148
  "nestjs/create-only/.github/k6/thresholds/strict.json": "e121ec72de4596b95c013a8c71f03653bcdf057cf7f8d1fec6f0e13c1381867f",
149
149
  "nestjs/create-only/.github/workflows/ci.yml": "1cbe153a37e61cef21b0af8d7b2d41e6b59adbf8a4c289475439852896a531fc",
150
- "nestjs/create-only/.github/workflows/deploy.yml": "78abfa87639cb7506418dd34387963a0557614933d823e6fa0413395166b945b",
150
+ "nestjs/create-only/.github/workflows/deploy.yml": "0dc60efd66776bd86b365a7d956db6902f709ded4f06e034f9e9a1c4f510ca07",
151
151
  "nestjs/create-only/.zap/baseline.conf": "a7cd559b014555ef2efe7a6ce129384ec376ce4d66d5bc3ae9e2f3f883172c4d",
152
152
  "nestjs/create-only/scripts/zap-baseline.sh": "de3a66a780076f98d5c6306c03b5decac8afbc9ff37583e5e6463c56f3399e3e",
153
153
  "nestjs/create-only/tsconfig.local.json": "0b720ddad0d18f52dadf33bdc4a0aec0eb65c506bc8ebb692f880bdf31d1011d",
@@ -308,7 +308,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
308
308
  "plugins/src/base/rules/eager/claim-archaeology.md": "96afa034075593dfb7433c5c990b472a6b6f7320332da42ef54b1f01fa45664b",
309
309
  "plugins/src/base/rules/eager/claim-evidence-mapping.md": "d12a6153b8c22db2826153c479d107c7a885e22cbcdd49e4fd8193e0cbbe8ae3",
310
310
  "plugins/src/base/rules/eager/coding-philosophy.md": "cf2c52032e0368d81f17f002fed5c957ab350d01fc4a43f66b5f366516bac54a",
311
- "plugins/src/base/rules/eager/config-resolution.md": "1e6324bd037ea08b6c0179999578788e9f20ae2d256547527abf623a7d0dbc2f",
311
+ "plugins/src/base/rules/eager/config-resolution.md": "19eb8edca6913eff5b1a32cbfbca9e3c6ec85310781b425ecc4694610e884712",
312
312
  "plugins/src/base/rules/eager/convergent-review.md": "ba4ba53863ef99be353c07c01195fa4ae2923ef2b2a5ad4427072802c260d208",
313
313
  "plugins/src/base/rules/eager/dependency-decision-records.md": "e22888f107906992e863fca50f26c2c4b124da7132535cacfac71e4f3085728f",
314
314
  "plugins/src/base/rules/eager/dependency-internalization-kit.md": "9e2cc78afffc477c14718390ed88c42f781911c51fb7c13dada497f9e956b1a3",
@@ -340,7 +340,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
340
340
  "plugins/src/base/rules/reference/claim-archaeology.md": "fff025d47848c768d5b2c7047de744b7151eb2e44148d2df058c87310859457b",
341
341
  "plugins/src/base/rules/reference/claim-evidence-mapping.md": "49a3bbf4e8a9a8ca9e13eeafa672517d077060cfeb5d9710881ec9f5c3f3ec75",
342
342
  "plugins/src/base/rules/reference/coding-philosophy.md": "fed8381f16a5d6793a49d84d5813d62125808cb2f4981a558b119cf63e2586d9",
343
- "plugins/src/base/rules/reference/config-resolution.md": "ffb231a7218235b5a8e8c4945f899e49f609b939e401e7c38bbed43ce8ab805e",
343
+ "plugins/src/base/rules/reference/config-resolution.md": "ee6b1f8e92954546181a6b36b61d0a32501ad5aea89b5b258e2eeb223047a8f7",
344
344
  "plugins/src/base/rules/reference/convergent-review.md": "788a9d4dc2af7a928c3ccbb4d53a92856bb3544941ce512cfe38068d6b35850d",
345
345
  "plugins/src/base/rules/reference/dependency-decision-records.md": "84f9fb8fa0a606307e828ec355ccbf2258beeeb88795dd113abe9bb2c37db39f",
346
346
  "plugins/src/base/rules/reference/dependency-internalization-kit.md": "8c8e9bddbe2165905c3919ae9dd3d131b557cf9c7eb370393dfa85827076c73b",
@@ -892,7 +892,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
892
892
  "rails/create-only/.github/workflows/claude-nightly-test-coverage.yml": "f7f2eeb05ddd18e196c4b292c0a846e765ed8b67ddeacfc6b19c3d676d91e459",
893
893
  "rails/create-only/.github/workflows/claude-nightly-test-improvement.yml": "9195acb1564f960bc5831c82b1ad9ae2ce94460458e5b58d3b827e0eb1deb84b",
894
894
  "rails/create-only/.github/workflows/claude-sync-down-branches.yml": "072cc8290eec15ef6d55c2583e94ae49cda4a56a0fea252556a8fce8170cc540",
895
- "rails/create-only/.github/workflows/deploy.yml": "e87c9f59fe653b29cb8a1a4d78b5d433f051366fe985035d56bd922fbd9603f8",
895
+ "rails/create-only/.github/workflows/deploy.yml": "b24144ffa1b4dbb5087f48d4240e524aad850eb72d7c9c15fdfad8b582677fe5",
896
896
  "rails/create-only/.mise.toml": "28be5746256a30ad2260da7d37244cc461f8963ce5d5a81ddce71b48f0ab6ef0",
897
897
  "rails/create-only/.mutant.yml": "73dbc96f1370e2a5afa474b0a1063f6b752c60c620220c4b057d0a71c42cde1d",
898
898
  "rails/create-only/.reek.yml": "383a70f946c0a2824a3f357623224d94c63ee9a8b8de924e8a3879a6017fc09f",
@@ -981,7 +981,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
981
981
  "typescript/copy-contents/.husky/pre-push": "001b5c2a779cf242c8d49029651f92ebddebf4ab706d58269d46e2be88a9df5b",
982
982
  "typescript/copy-contents/.husky/prepare-commit-msg": "58671fb61f6fcc1fc384a2d7295f16949faa58150a8213e0a39d3c70fad728b5",
983
983
  "typescript/copy-overwrite/.claude/hooks/worktree-create.sh": "0185adc91889a7c2a41b3609fe529ac89ff8149600f8d00aa8065ea3c397c0d1",
984
- "typescript/copy-overwrite/.github/GITHUB_ACTIONS.md": "eb70191370c5481c8e1ec30bc1c19dac4611f678219c46012f5a32e49989af90",
984
+ "typescript/copy-overwrite/.github/GITHUB_ACTIONS.md": "02f71566d0995c95db5ea0d34a74b71fdc95bd0337a97670f1d8abd25e3cc2b7",
985
985
  "typescript/copy-overwrite/.github/dependabot.yml": "6db1f1e6469845da81d2d724a446cc3feb42c970907796d3a1dee1eabfc7ba6b",
986
986
  "typescript/copy-overwrite/.lintstagedrc.json": "5a2f5f9ad454e7b9e1e065cb3b1768f6a9897e453b0afee508b98c96bfa67138",
987
987
  "typescript/copy-overwrite/.nvmrc": "0775c6feb7638122e8b68d611cd709bf270f7b5adb5d0d2baa9afab8a6c0fc42",
@@ -6306,6 +6306,15 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6306
6306
  "src/cli/check-learnings-budget-cmd.ts": true,
6307
6307
  "src/cli/cross-pollinate-cmd.ts": true,
6308
6308
  "src/cli/cross-pollinate-nudge.ts": true,
6309
+ "src/cli/deploy-status-adapter-github.ts": true,
6310
+ "src/cli/deploy-status-adapter-jira.ts": true,
6311
+ "src/cli/deploy-status-adapter-linear.ts": true,
6312
+ "src/cli/deploy-status-adapter-shared.ts": true,
6313
+ "src/cli/deploy-status-adapter.ts": true,
6314
+ "src/cli/deploy-status-refs.ts": true,
6315
+ "src/cli/deploy-status-sync-cmd.ts": true,
6316
+ "src/cli/deploy-status-sync-engine.ts": true,
6317
+ "src/cli/deploy-status-sync-exec.ts": true,
6309
6318
  "src/cli/doctor-kane.ts": true,
6310
6319
  "src/cli/doctor-legacy-overlay.ts": true,
6311
6320
  "src/cli/doctor-monitor-thresholds.ts": true,
@@ -6338,6 +6347,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6338
6347
  "src/cli/health-cmd.ts": true,
6339
6348
  "src/cli/index.ts": true,
6340
6349
  "src/cli/kane-cmd.ts": true,
6350
+ "src/cli/kane-commands.ts": true,
6341
6351
  "src/cli/print-update-warning.ts": true,
6342
6352
  "src/cli/prompts.ts": true,
6343
6353
  "src/cli/remote-environment-catalog.ts": true,
@@ -6436,6 +6446,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6436
6446
  "src/core/config-field-validation.ts": true,
6437
6447
  "src/core/config.ts": true,
6438
6448
  "src/core/deploy-status-sync.ts": true,
6449
+ "src/core/deploy-status-transition.ts": true,
6439
6450
  "src/core/git-service.ts": true,
6440
6451
  "src/core/index.ts": true,
6441
6452
  "src/core/instruction-files-migration.ts": true,
@@ -6647,6 +6658,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6647
6658
  "tests/fixtures/wiki-safety/allowed-contacts.md": true,
6648
6659
  "tests/fixtures/wiki-safety/redaction-source.md": true,
6649
6660
  "tests/helpers/__fixtures__/wiki-status-fixture.ts": true,
6661
+ "tests/helpers/deploy-status-cmd-fixture.ts": true,
6650
6662
  "tests/helpers/readiness-workflow-fixtures.ts": true,
6651
6663
  "tests/helpers/safety-net-guard-fixtures.ts": true,
6652
6664
  "tests/helpers/safety-net-guard-harness.ts": true,
@@ -6676,6 +6688,14 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6676
6688
  "tests/unit/claude/claude-md-installer.test.ts": true,
6677
6689
  "tests/unit/cli/apply.test.ts": true,
6678
6690
  "tests/unit/cli/check-learnings-budget-cmd.test.ts": true,
6691
+ "tests/unit/cli/deploy-status-adapter-github.test.ts": true,
6692
+ "tests/unit/cli/deploy-status-adapter-jira.test.ts": true,
6693
+ "tests/unit/cli/deploy-status-adapter-linear.test.ts": true,
6694
+ "tests/unit/cli/deploy-status-refs-hardening.test.ts": true,
6695
+ "tests/unit/cli/deploy-status-refs.test.ts": true,
6696
+ "tests/unit/cli/deploy-status-sync-cmd-exec.test.ts": true,
6697
+ "tests/unit/cli/deploy-status-sync-cmd-output.test.ts": true,
6698
+ "tests/unit/cli/deploy-status-sync-cmd.test.ts": true,
6679
6699
  "tests/unit/cli/doctor-kane.test.ts": true,
6680
6700
  "tests/unit/cli/doctor-monitor-thresholds.test.ts": true,
6681
6701
  "tests/unit/cli/doctor-readiness-blockers.test.ts": true,
@@ -6805,6 +6825,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6805
6825
  "tests/unit/core/deploy-status-sync-config.test.ts": true,
6806
6826
  "tests/unit/core/deploy-status-sync-errors.test.ts": true,
6807
6827
  "tests/unit/core/deploy-status-sync.test.ts": true,
6828
+ "tests/unit/core/deploy-status-transition.test.ts": true,
6808
6829
  "tests/unit/core/instruction-files-migration.test.ts": true,
6809
6830
  "tests/unit/core/kane-cli.test.ts": true,
6810
6831
  "tests/unit/core/kane-pilot.test.ts": true,