agent-work-loop 0.6.33 → 0.6.35

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 (42) hide show
  1. package/README.md +6 -0
  2. package/dist/{brief-IE2AC5XA.js → brief-GQRHGJQN.js} +4 -4
  3. package/dist/{changelog-7XV2TAVB.js → changelog-HZMH3RPD.js} +4 -4
  4. package/dist/{chunk-OA346OKL.js → chunk-4ZLARTXS.js} +1 -1
  5. package/dist/{chunk-NV5FE6II.js → chunk-6F4VAVKF.js} +2 -2
  6. package/dist/{chunk-Q34HYTEX.js → chunk-73QAFIZS.js} +1 -1
  7. package/dist/{chunk-RBLDM2LU.js → chunk-7D4T7HFK.js} +1 -1
  8. package/dist/{chunk-XFYYCBQD.js → chunk-7TMAQRJS.js} +16 -3
  9. package/dist/{chunk-I2F7DUOQ.js → chunk-CQ2PT4HP.js} +4 -4
  10. package/dist/{chunk-RQZBANFI.js → chunk-FKBBGXGF.js} +4 -4
  11. package/dist/{chunk-HNBBLKNT.js → chunk-GF4BMY4W.js} +4 -4
  12. package/dist/{chunk-LX57XSW3.js → chunk-NOU677FX.js} +1 -1
  13. package/dist/{chunk-C2EWSFNH.js → chunk-OJ7YO3MY.js} +1 -1
  14. package/dist/{chunk-EW5CLZ7C.js → chunk-OJMHX4AM.js} +3 -3
  15. package/dist/{chunk-L3G3B7FT.js → chunk-TGLJWWLM.js} +8 -8
  16. package/dist/{chunk-TWL3QIQN.js → chunk-UNANHUG3.js} +1 -1
  17. package/dist/{chunk-IQNGZFEK.js → chunk-XW6R4UZE.js} +4 -4
  18. package/dist/{chunk-3ADAPFWK.js → chunk-YE4BYU36.js} +5 -5
  19. package/dist/cli.js +120 -48
  20. package/dist/{commit-QPFG6Y6H.js → commit-SU6CTBU3.js} +5 -5
  21. package/dist/{config-7OAT6KH3.js → config-Z4G5SBWJ.js} +2 -2
  22. package/dist/{doctor-E56OQZZH.js → doctor-AWK3SC7Y.js} +7 -7
  23. package/dist/{evolve-QJACOUJV.js → evolve-SQJ5LIE4.js} +6 -6
  24. package/dist/{feedback-3K6AJBG5.js → feedback-TPITVUZL.js} +4 -4
  25. package/dist/{gotchas-LZYMD22W.js → gotchas-UEZG3HVO.js} +6 -6
  26. package/dist/{hold-recheck-GCQRCB5X.js → hold-recheck-CWCSW53F.js} +15 -15
  27. package/dist/{init-7BDRW6AP.js → init-AVVD77XM.js} +1 -1
  28. package/dist/{lane-V3EFI7SW.js → lane-IAGRF6JX.js} +14 -14
  29. package/dist/{loop-summary-QNH423MW.js → loop-summary-L4UTUOPY.js} +5 -5
  30. package/dist/{metrics-HCUMZSAU.js → metrics-SOYVRSNM.js} +3 -3
  31. package/dist/{record-A35XVG5F.js → record-V6V5XPPA.js} +4 -4
  32. package/dist/{remove-SSTHJZ5G.js → remove-5EMNMWTP.js} +39 -14
  33. package/dist/{review-44SX5ERY.js → review-RMY7QFZN.js} +12 -12
  34. package/dist/{rules-GSOMM5VP.js → rules-ASJFXFGG.js} +7 -7
  35. package/dist/{state-46G4FKH3.js → state-6TNG2EC5.js} +3 -3
  36. package/dist/{status-RHIO7OI6.js → status-NKYMDRXV.js} +15 -15
  37. package/dist/{update-AKGNAL2F.js → update-3AYB3V4I.js} +4 -4
  38. package/dist/{verify-R3ISFRBC.js → verify-KSZEOELP.js} +9 -9
  39. package/dist/{version-check-2DSSLKUD.js → version-check-GLMAE256.js} +4 -4
  40. package/dist/{work-ETVZJUFX.js → work-45HQITYZ.js} +13 -13
  41. package/engine/version.json +1 -1
  42. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  computeUpdateAvailable,
4
4
  readCachedLatestVersion,
5
5
  version
6
- } from "./chunk-Q34HYTEX.js";
6
+ } from "./chunk-73QAFIZS.js";
7
7
  import {
8
8
  caps,
9
9
  gradient,
@@ -41,16 +41,88 @@ function renderGettingStartedCard(c) {
41
41
  }
42
42
  function renderExamplesCard(c) {
43
43
  const t = makeTokens(c);
44
- const examples = [
45
- { cmd: "awl commit AC-01 --start", note: "\uAD6C\uD604 \uC2DC\uC791 \uC2DC \uBCA0\uC774\uC2A4\uB77C\uC778\uBD80\uD130 \uC7A1\uB294\uB2E4" },
46
- { cmd: 'awl commit AC-01 -m "\uC644\uB8CC \uC870\uAC74 \uC124\uBA85"', note: "<criterion> \uC790\uB9AC\uC5D4 \uC644\uB8CC\uC870\uAC74 ID(AC-01)" },
47
- { cmd: "awl review AC-01..AC-03", note: "<range> \uC790\uB9AC\uC5D4 \uC644\uB8CC\uC870\uAC74 \uBC94\uC704" },
48
- { cmd: "awl status --pipeline", note: "[options] \uC790\uB9AC\uC5D4 --json/--pipeline \uAC19\uC740 \uD50C\uB798\uADF8" }
44
+ const groups = [
45
+ {
46
+ label: "\uC2DC\uC791\xB7\uC810\uAC80",
47
+ examples: [
48
+ { cmd: "awl init --yes", note: "\uAC10\uC9C0\uB41C \uAC12\uC73C\uB85C \uC790\uB3D9 \uC124\uC815" },
49
+ { cmd: "awl status --pipeline", note: "[options] \uC790\uB9AC\uC5D4 --json/--pipeline \uAC19\uC740 \uD50C\uB798\uADF8" },
50
+ { cmd: "awl doctor --json", note: "\uC124\uCE58\xB7\uD658\uACBD \uC810\uAC80 \uACB0\uACFC\uB97C JSON\uC73C\uB85C" },
51
+ { cmd: "awl version-check --json", note: "\uC124\uCE58 \uBC84\uC804\uACFC npm \uCD5C\uC2E0 \uBC84\uC804 \uBE44\uAD50" }
52
+ ]
53
+ },
54
+ {
55
+ label: "\uC644\uB8CC\uC870\uAC74 \uAC8C\uC774\uD2B8",
56
+ examples: [
57
+ { cmd: "awl commit AC-01 --start", note: "\uAD6C\uD604 \uC2DC\uC791 \uC2DC \uBCA0\uC774\uC2A4\uB77C\uC778\uBD80\uD130 \uC7A1\uB294\uB2E4" },
58
+ {
59
+ cmd: 'awl commit AC-01 -m "\uC644\uB8CC \uC870\uAC74 \uC124\uBA85"',
60
+ note: "<criterion> \uC790\uB9AC\uC5D4 \uC644\uB8CC\uC870\uAC74 ID(AC-01)"
61
+ },
62
+ { cmd: "awl review AC-01..AC-03", note: "<range> \uC790\uB9AC\uC5D4 \uC644\uB8CC\uC870\uAC74 \uBC94\uC704" }
63
+ ]
64
+ },
65
+ {
66
+ label: "\uC6CC\uD06C\uC544\uC774\uD15C\xB7\uB808\uC778",
67
+ examples: [
68
+ {
69
+ cmd: 'awl work new WI-01 "\uC5EC\uBC31 \uC2DC\uC2A4\uD15C \uCD94\uAC00" --worktree',
70
+ note: "\uACA9\uB9AC \uC6CC\uD06C\uD2B8\uB9AC\uB85C \uC0C8 \uC6CC\uD06C\uC544\uC774\uD15C \uC2DC\uC791"
71
+ },
72
+ { cmd: "awl work list --json", note: "\uD604\uC7AC+\uBCF4\uAD00\uB41C \uC6CC\uD06C\uC544\uC774\uD15C \uC804\uBD80" },
73
+ { cmd: "awl work done WI-01", note: "\uC644\uB8CC \uCC98\uB9AC + \uC0C1\uD0DC \uC2A4\uB0C5\uC0F7 \uD68C\uC218" },
74
+ { cmd: "awl lane new my-lane", note: "\uACA9\uB9AC \uB808\uC778(worktree+\uC804\uC6A9 home) \uC0DD\uC131" },
75
+ { cmd: "awl lane ls --json", note: "\uB808\uC778 \uBAA9\uB85D" },
76
+ { cmd: "awl lane rm my-lane", note: "\uBBF8\uBA38\uC9C0 \uCEE4\uBC0B \uC788\uC73C\uBA74 --force \uC5C6\uC774 \uAC70\uBD80" }
77
+ ]
78
+ },
79
+ {
80
+ label: "\uAE30\uB85D\xB7\uADDC\uCE59\xB7\uAD50\uD6C8",
81
+ examples: [
82
+ {
83
+ cmd: "awl records --type narrative --workitem WI-01 --json",
84
+ note: "\uAE30\uB85D \uC885\uB958\xB7\uC6CC\uD06C\uC544\uC774\uD15C\uC73C\uB85C \uD544\uD130"
85
+ },
86
+ { cmd: "awl gotchas --json", note: "\uC544\uC9C1 \uADDC\uCE59 \uC548 \uB41C \uAD50\uD6C8 \uBAA9\uB85D" },
87
+ {
88
+ cmd: 'awl rules promote G-001 --applies "..." --counter "..."',
89
+ note: "\uBC18\uBCF5\uB418\uB294 \uAD50\uD6C8\uC744 \uADDC\uCE59\uC73C\uB85C \uC2B9\uACA9"
90
+ },
91
+ {
92
+ cmd: "awl loop-summary --workitems WI-01,WI-02",
93
+ note: "\uC5EC\uB7EC \uC6CC\uD06C\uC544\uC774\uD15C \uBC30\uCE58 \uC694\uC57D"
94
+ }
95
+ ]
96
+ },
97
+ {
98
+ label: "\uC124\uC815\xB7\uAD00\uB9AC",
99
+ examples: [
100
+ { cmd: 'awl config set verify.lint.cmd "biome check ."', note: "\uAC80\uC99D \uBA85\uB839\uC5B4 \uC9C1\uC811 \uC9C0\uC815" },
101
+ { cmd: "awl update --all", note: "\uB4F1\uB85D\uB41C \uBAA8\uB4E0 \uD504\uB85C\uC81D\uD2B8 \uC2A4\uD0AC \uB3D9\uAE30\uD654" },
102
+ { cmd: "awl remove --project", note: "\uB85C\uCEEC\uB9CC \uC2A4\uCE94(\uB4DC\uB77C\uC774\uB7F0 \uAE30\uBCF8, --yes \uB85C \uC2E4\uD589)" }
103
+ ]
104
+ },
105
+ {
106
+ label: "\uADF8 \uC678 \uC870\uD68C",
107
+ examples: [
108
+ { cmd: "awl brief --today", note: "\uC624\uB298 \uD558\uB8E8 \uC694\uC57D" },
109
+ { cmd: "awl metrics --compare", note: "\uC138\uB300 \uAC04 \uBE44\uAD50" },
110
+ { cmd: "awl feedback --severity high", note: "awl \uC790\uCCB4\uC5D0 \uB300\uD55C \uD53C\uB4DC\uBC31, \uC2EC\uAC01\uB3C4 \uD544\uD130" },
111
+ { cmd: "awl changelog --workitem WI-01", note: "\uADF8 \uC6CC\uD06C\uC544\uC774\uD15C\uC758 \uBCC0\uACBD \uC774\uB825" }
112
+ ]
113
+ }
49
114
  ];
50
- const cmdWidth = Math.max(...examples.map((e) => visibleWidth(e.cmd)));
51
- const lines = examples.map(
52
- (e) => `${t.accent(padVisible(e.cmd, cmdWidth))} ${t.muted(`# ${e.note}`)}`
53
- );
115
+ const lines = [];
116
+ groups.forEach((group, i) => {
117
+ if (i > 0) {
118
+ lines.push("");
119
+ }
120
+ lines.push(t.muted(group.label));
121
+ const cmdWidth = Math.max(...group.examples.map((e) => visibleWidth(e.cmd)));
122
+ for (const e of group.examples) {
123
+ lines.push(` ${t.accent(padVisible(e.cmd, cmdWidth))} ${t.muted(`# ${e.note}`)}`);
124
+ }
125
+ });
54
126
  return sectionBox("\uC608\uC2DC", lines, c);
55
127
  }
56
128
  var DENSE_AWL = `
@@ -150,14 +222,14 @@ function buildProgram() {
150
222
  program.name("awl").version(versionString(), "-v, --version", "\uBC84\uC804\uC744 \uCD9C\uB825\uD569\uB2C8\uB2E4").helpOption("-h, --help", "\uB3C4\uC6C0\uB9D0\uC744 \uCD9C\uB825\uD569\uB2C8\uB2E4").addHelpText("beforeAll", (ctx) => ctx.command === program ? `${renderBanner()}
151
223
  ` : "").option("--examples", "\uC790\uC8FC \uC4F0\uB294 \uBA85\uB839 \uC608\uC2DC\uB97C \uBCF4\uC5EC\uC90D\uB2C8\uB2E4").showHelpAfterError();
152
224
  program.command("init").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 Agent Work Loop \uB97C \uC124\uC815\uD569\uB2C8\uB2E4").option("--yes", "\uC9C8\uBB38 \uC5C6\uC774 \uC790\uB3D9 \uAC10\uC9C0\uB41C \uAC12\uC73C\uB85C \uC9C4\uD589\uD569\uB2C8\uB2E4 (\uBE44\uB300\uD654\uD615)").action(async (opts) => {
153
- const { runInit } = await import("./init-7BDRW6AP.js");
225
+ const { runInit } = await import("./init-AVVD77XM.js");
154
226
  await runInit({ yes: opts.yes === true });
155
227
  });
156
228
  program.command("status").description("\uC9C0\uAE08 \uC5B4\uB514\uAE4C\uC9C0 \uC654\uB294\uC9C0 \uD55C\uB208\uC5D0 \uBD05\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--pipeline", ".tasks \uB808\uC778(plan/exec/review)\uC758 workitem \uC0C1\uD0DC\uB97C \uBC30\uC9C0\uB85C \uBD05\uB2C8\uB2E4").option(
157
229
  "--archive",
158
230
  "(--pipeline\uACFC \uD568\uAED8) \uC720\uC608 \uAE30\uAC04(3\uC77C) \uC9C0\uB09C \uC644\uB8CC workitem\uC744 .tasks/archive/ \uB85C \uBCF4\uAD00\uD569\uB2C8\uB2E4"
159
231
  ).action(async (opts) => {
160
- const { runStatus } = await import("./status-RHIO7OI6.js");
232
+ const { runStatus } = await import("./status-NKYMDRXV.js");
161
233
  await runStatus({
162
234
  json: opts.json === true,
163
235
  pipeline: opts.pipeline === true,
@@ -165,15 +237,15 @@ function buildProgram() {
165
237
  });
166
238
  });
167
239
  program.command("brief").description("KST \uC624\uB298(\uB610\uB294 --date)\uC758 \uC9C4\uD589\uBD84\uC744 \uBAA8\uC544 \uB0C5\uB2C8\uB2E4(\uC2A4\uD0AC \uC18C\uBE44\uC6A9 --json)").option("--today", "\uC624\uB298(KST) \uAE30\uC900\uC73C\uB85C \uBAA8\uC74D\uB2C8\uB2E4(\uAE30\uBCF8)").option("--date <YYYY-MM-DD>", "KST \uAE30\uC900 \uD2B9\uC815 \uB0A0\uC9DC\uB85C \uBAA8\uC74D\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
168
- const { runBrief } = await import("./brief-IE2AC5XA.js");
240
+ const { runBrief } = await import("./brief-GQRHGJQN.js");
169
241
  await runBrief({ today: opts.today === true, date: opts.date, json: opts.json === true });
170
242
  });
171
243
  program.command("doctor").description("\uC124\uCE58\uC640 \uD658\uACBD\uC744 \uC810\uAC80\uD569\uB2C8\uB2E4 (\uC544\uBB34\uAC83\uB3C4 \uACE0\uCE58\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
172
- const { runDoctor } = await import("./doctor-E56OQZZH.js");
244
+ const { runDoctor } = await import("./doctor-AWK3SC7Y.js");
173
245
  await runDoctor({ json: opts.json === true });
174
246
  });
175
247
  program.command("version-check").description("\uBC84\uC804 \uBD88\uC77C\uCE58\uB97C \uAC80\uC0AC\uD569\uB2C8\uB2E4 (package/engine/\uD504\uB85C\uC81D\uD2B8/\uC2A4\uD0AC)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
176
- const { runVersionCheck } = await import("./version-check-2DSSLKUD.js");
248
+ const { runVersionCheck } = await import("./version-check-GLMAE256.js");
177
249
  await runVersionCheck({ json: opts.json === true });
178
250
  });
179
251
  program.command("update").description(
@@ -182,12 +254,12 @@ function buildProgram() {
182
254
  "-l, --local",
183
255
  "\uB4F1\uB85D\uB41C \uD504\uB85C\uC81D\uD2B8 \uC804\uBD80\uC758 \uB85C\uCEEC \uC2A4\uD0AC\uC744 \uC9C0\uAE08 \uC124\uCE58\uB41C \uC5D4\uC9C4\uC5D0 \uB9DE\uCDB0 \uC7AC\uB3D9\uAE30\uD654\uD569\uB2C8\uB2E4"
184
256
  ).option("-a, --all", "\uC804\uC5ED\uACFC \uB4F1\uB85D\uB41C \uD504\uB85C\uC81D\uD2B8 \uB85C\uCEEC\uC744 \uBAA8\uB450 \uAC31\uC2E0\uD569\uB2C8\uB2E4").action(async (opts) => {
185
- const { runUpdate } = await import("./update-AKGNAL2F.js");
257
+ const { runUpdate } = await import("./update-3AYB3V4I.js");
186
258
  runUpdate(opts);
187
259
  });
188
260
  program.command("remove").description("awl \uC774 \uC190\uB304 \uD754\uC801\uC744 \uC9C0\uC6C1\uB2C8\uB2E4 (\uAE30\uBCF8\uC740 \uB4DC\uB77C\uC774\uB7F0 \u2014 --yes \uC5C6\uC774\uB294 \uC0AD\uC81C\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4)").option("--yes", "\uC2E4\uC81C\uB85C \uC0AD\uC81C\uD569\uB2C8\uB2E4 (\uAE30\uBCF8\uC740 \uB4DC\uB77C\uC774\uB7F0)").option("--project", "\uC774 \uD504\uB85C\uC81D\uD2B8 \uB85C\uCEEC\uB9CC \uC815\uB9AC\uD569\uB2C8\uB2E4 (\uAE30\uBCF8\uAC12)").option("--global", "\uC804\uC5ED(~/.awl)\uB9CC \uC815\uB9AC\uD569\uB2C8\uB2E4 \u2014 \uB2E4\uB978 \uD504\uB85C\uC81D\uD2B8\uC758 \uD559\uC2B5\uB3C4 \uD568\uAED8 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4").option("--all", "\uD504\uB85C\uC81D\uD2B8 \uB85C\uCEEC + \uC804\uC5ED\uC744 \uBAA8\uB450 \uC815\uB9AC\uD569\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(
189
261
  async (opts) => {
190
- const { runRemove } = await import("./remove-SSTHJZ5G.js");
262
+ const { runRemove } = await import("./remove-5EMNMWTP.js");
191
263
  await runRemove({
192
264
  yes: opts.yes === true,
193
265
  project: opts.project === true,
@@ -199,22 +271,22 @@ function buildProgram() {
199
271
  );
200
272
  const config = program.command("config").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uC124\uC815\uC744 \uBD05\uB2C8\uB2E4 (TTY \uBA74 \uC218\uC815\uB3C4)");
201
273
  config.action(async () => {
202
- const { runConfig } = await import("./config-7OAT6KH3.js");
274
+ const { runConfig } = await import("./config-Z4G5SBWJ.js");
203
275
  await runConfig();
204
276
  });
205
277
  config.command("set [key] [value]").description("\uC124\uC815 \uAC12\uC744 \uBC14\uAFC9\uB2C8\uB2E4 (\uD0A4 \uC0DD\uB7B5 \uC2DC \uBAA9\uB85D, cmd \uB294 \uC2E4\uC81C\uB85C \uC2E4\uD589\uD574 \uBD05\uB2C8\uB2E4)").option("--force", "\uAC80\uC99D\uC5D0 \uC2E4\uD328\uD574\uB3C4 \uC800\uC7A5\uD569\uB2C8\uB2E4").action(
206
278
  async (key, value, opts) => {
207
- const { runConfigSet } = await import("./config-7OAT6KH3.js");
279
+ const { runConfigSet } = await import("./config-Z4G5SBWJ.js");
208
280
  await runConfigSet(key, value, { force: opts.force === true });
209
281
  }
210
282
  );
211
283
  const work = program.command("work").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uAD00\uB9AC\uD569\uB2C8\uB2E4");
212
284
  work.option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
213
- const { runWorkList } = await import("./work-ETVZJUFX.js");
285
+ const { runWorkList } = await import("./work-45HQITYZ.js");
214
286
  runWorkList({ json: opts.json === true });
215
287
  });
216
288
  work.command("list").description("\uB4F1\uB85D\uB41C \uC6CC\uD06C\uC544\uC774\uD15C \uBAA9\uB85D\uACFC \uC9C4\uD589 \uC0C1\uD669\uC744 \uBD05\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
217
- const { runWorkList } = await import("./work-ETVZJUFX.js");
289
+ const { runWorkList } = await import("./work-45HQITYZ.js");
218
290
  runWorkList({ json: opts.json === true });
219
291
  });
220
292
  work.command("new <id> [description]").description("\uC0C8 \uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uB9CC\uB4E4\uACE0 \uC804\uD658\uD569\uB2C8\uB2E4 (\uD604\uC7AC \uC6CC\uD06C\uC544\uC774\uD15C\uC740 \uBCF4\uAD00\uB429\uB2C8\uB2E4)").option("--worktree [branch]", "\uACA9\uB9AC\uB41C git worktree \uB97C \uB9CC\uB4E4\uC5B4 \uADF8 \uC548\uC5D0\uC11C \uC2DC\uC791\uD569\uB2C8\uB2E4").option("--skip-baseline", "\uAC80\uC99D \uBCA0\uC774\uC2A4\uB77C\uC778 \uCEA1\uCC98\uB97C \uAC74\uB108\uB701\uB2C8\uB2E4 (\uB290\uB9B0 \uD504\uB85C\uC81D\uD2B8\uC6A9)").option(
@@ -222,7 +294,7 @@ function buildProgram() {
222
294
  "records(~/.awl)\uB97C \uC774 \uC6CC\uD06C\uC544\uC774\uD15C \uC804\uC6A9 AWL_HOME \uC73C\uB85C \uACA9\uB9AC\uD569\uB2C8\uB2E4 (\uBCD1\uB82C \uC138\uC158\uC6A9)"
223
295
  ).option("--experiment <json>", '\uC2E4\uD5D8 \uCF00\uC774\uC2A4 \uBA54\uD0C0 JSON (\uC608: {"model":"lite","mode":"loop"})').action(
224
296
  async (id, description, opts) => {
225
- const { runWorkNew } = await import("./work-ETVZJUFX.js");
297
+ const { runWorkNew } = await import("./work-45HQITYZ.js");
226
298
  const parsedExp = parseExperimentOption(opts.experiment);
227
299
  if (!parsedExp.ok) {
228
300
  process.stderr.write(`
@@ -234,52 +306,52 @@ function buildProgram() {
234
306
  }
235
307
  );
236
308
  work.command("switch <id>").description("\uB2E4\uB978 \uC6CC\uD06C\uC544\uC774\uD15C\uC73C\uB85C \uC804\uD658\uD569\uB2C8\uB2E4 (\uD604\uC7AC \uC6CC\uD06C\uC544\uC774\uD15C\uC740 \uBCF4\uAD00\uB429\uB2C8\uB2E4)").action(async (id) => {
237
- const { runWorkSwitch } = await import("./work-ETVZJUFX.js");
309
+ const { runWorkSwitch } = await import("./work-45HQITYZ.js");
238
310
  await runWorkSwitch(id);
239
311
  });
240
312
  work.command("abandon <id>").description("\uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uC911\uB2E8 \uCC98\uB9AC\uD569\uB2C8\uB2E4 (\uC0AD\uC81C\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4, \uAE30\uB85D\uC740 \uB0A8\uC2B5\uB2C8\uB2E4)").action(async (id) => {
241
- const { runWorkAbandon } = await import("./work-ETVZJUFX.js");
313
+ const { runWorkAbandon } = await import("./work-45HQITYZ.js");
242
314
  runWorkAbandon(id);
243
315
  });
244
316
  work.command("done <id>").description(
245
317
  "\uC644\uB8CC\uB41C \uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uC815\uB9AC\uD569\uB2C8\uB2E4 (\uC6CC\uD06C\uD2B8\uB9AC \uC81C\uAC70 + \uC0C1\uD0DC \uC2A4\uB0C5\uC0F7 \uD68C\uC218, \uAE30\uB85D\uC740 \uB0A8\uC2B5\uB2C8\uB2E4)"
246
318
  ).option("--force", "\uC815\uB9AC\uB418\uC9C0 \uC54A\uC740 \uBCC0\uACBD\uC774 \uC788\uC5B4\uB3C4 \uC6CC\uD06C\uD2B8\uB9AC\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4").action(async (id, opts) => {
247
- const { runWorkDone } = await import("./work-ETVZJUFX.js");
319
+ const { runWorkDone } = await import("./work-45HQITYZ.js");
248
320
  await runWorkDone(id, { force: opts.force === true });
249
321
  });
250
322
  const lane = program.command("lane").description("\uACA9\uB9AC \uB808\uC778(worktree)\uC73C\uB85C \uD30C\uC774\uD504\uB77C\uC778\uC744 \uBCD1\uB82C \uC2E4\uD589\uD569\uB2C8\uB2E4 (\uB808\uC778 \uC0DD\uC131\xB7\uC870\uD68C\xB7\uC815\uB9AC)");
251
323
  lane.option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
252
- const { runLaneList } = await import("./lane-V3EFI7SW.js");
324
+ const { runLaneList } = await import("./lane-IAGRF6JX.js");
253
325
  await runLaneList({ json: opts.json === true });
254
326
  });
255
327
  lane.command("new <name> [description]").description("\uACA9\uB9AC \uB808\uC778\uC744 \uB9CC\uB4ED\uB2C8\uB2E4 (worktree + \uC804\uC6A9 AWL_HOME + \uC2A4\uD0AC \uC7AC\uC124\uCE58 + \uAE30\uB3D9 \uC548\uB0B4)").action(async (name, description) => {
256
- const { runLaneNew } = await import("./lane-V3EFI7SW.js");
328
+ const { runLaneNew } = await import("./lane-IAGRF6JX.js");
257
329
  await runLaneNew(name, description);
258
330
  });
259
331
  lane.command("ls").description("\uD604\uC874 \uB808\uC778\uC744 \uC774\uB984\xB7\uACBD\uB85C\xB7\uBE0C\uB79C\uCE58\uC640 \uD568\uAED8 \uB098\uC5F4\uD569\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
260
- const { runLaneList } = await import("./lane-V3EFI7SW.js");
332
+ const { runLaneList } = await import("./lane-IAGRF6JX.js");
261
333
  await runLaneList({ json: opts.json === true });
262
334
  });
263
335
  lane.command("rm <name>").description("\uB808\uC778\uC758 \uC6CC\uD06C\uD2B8\uB9AC\uB97C \uD68C\uC218\uD558\uACE0 \uB514\uB809\uD1A0\uB9AC\uB97C \uC81C\uAC70\uD569\uB2C8\uB2E4").option("--force", "\uCEE4\uBC0B\uB418\uC9C0 \uC54A\uC740 \uBCC0\uACBD\uC774 \uC788\uC5B4\uB3C4 \uC81C\uAC70\uD569\uB2C8\uB2E4").action(async (name, opts) => {
264
- const { runLaneRemove } = await import("./lane-V3EFI7SW.js");
336
+ const { runLaneRemove } = await import("./lane-IAGRF6JX.js");
265
337
  await runLaneRemove(name, { force: opts.force === true });
266
338
  });
267
339
  program.command("records").description("\uC313\uC778 \uAE30\uB85D\uC744 \uBD05\uB2C8\uB2E4").option("--type <type>", "\uD0C0\uC785\uC73C\uB85C \uAC70\uB985\uB2C8\uB2E4 (attempt, blocked \uB4F1)").option("--workitem <id>", "\uC6CC\uD06C\uC544\uC774\uD15C\uC73C\uB85C \uAC70\uB985\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
268
- const { runRecords } = await import("./record-A35XVG5F.js");
340
+ const { runRecords } = await import("./record-V6V5XPPA.js");
269
341
  runRecords({ type: opts.type, workitem: opts.workitem, json: opts.json === true });
270
342
  });
271
343
  const rules = program.command("rules").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uC801\uC6A9\uB418\uB294 \uADDC\uCE59\uC744 \uBD05\uB2C8\uB2E4").enablePositionalOptions();
272
344
  rules.option("--scope <scope>", "\uBC94\uC704\uB85C \uAC70\uB985\uB2C8\uB2E4 (implement \uB4F1)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
273
- const { runRules } = await import("./rules-GSOMM5VP.js");
345
+ const { runRules } = await import("./rules-ASJFXFGG.js");
274
346
  runRules({ scope: opts.scope, json: opts.json === true });
275
347
  });
276
348
  rules.command("edit").description("$EDITOR \uB85C \uADDC\uCE59 \uD30C\uC77C\uC744 \uC5FD\uB2C8\uB2E4").action(async () => {
277
- const { runRules } = await import("./rules-GSOMM5VP.js");
349
+ const { runRules } = await import("./rules-ASJFXFGG.js");
278
350
  runRules({ edit: true });
279
351
  });
280
352
  rules.command("promote <gotchaId>").description("\uAD50\uD6C8\uC744 \uADDC\uCE59\uC73C\uB85C \uC2B9\uACA9\uD569\uB2C8\uB2E4 (applies/counter \uD544\uC218, \uC0AC\uB78C\uC774 \uC2E4\uD589)").option("--applies <cond>", "\uC801\uC6A9 \uC870\uAC74 (\uD544\uC218)").option("--counter <cond>", "\uBC18\uC99D \uC870\uAC74 (\uD544\uC218)").option("--rule-scope <scope>", "\uB85C\uB4DC \uB2E8\uACC4 (audit/criteria/implement/commit/review)").action(
281
353
  async (gotchaId, opts) => {
282
- const { runRulesPromote } = await import("./rules-GSOMM5VP.js");
354
+ const { runRulesPromote } = await import("./rules-ASJFXFGG.js");
283
355
  runRulesPromote(gotchaId, {
284
356
  applies: opts.applies,
285
357
  counter: opts.counter,
@@ -288,16 +360,16 @@ function buildProgram() {
288
360
  }
289
361
  );
290
362
  program.command("gotchas").description("\uC544\uC9C1 \uADDC\uCE59\uC774 \uB418\uC9C0 \uC54A\uC740 \uD568\uC815\uC744 \uBD05\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
291
- const { runGotchas } = await import("./gotchas-LZYMD22W.js");
363
+ const { runGotchas } = await import("./gotchas-UEZG3HVO.js");
292
364
  runGotchas({ json: opts.json === true });
293
365
  });
294
366
  program.command("metrics").description("\uC6CC\uD06C\uC544\uC774\uD15C(\uC138\uB300)\uBCC4 \uD504\uB85D\uC2DC \uC9C0\uD45C \uCD94\uC138\uB97C \uBD05\uB2C8\uB2E4 (\uD1A0\uD070 \uC9C1\uC811 \uCE21\uC815 \uC544\uB2D8)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--compare", "\uC2E4\uD5D8 \uCF00\uC774\uC2A4(experiment model/mode/taskType)\uBCC4\uB85C \uC9C0\uD45C\uB97C \uBE44\uAD50\uD569\uB2C8\uB2E4").action(async (opts) => {
295
- const { runMetrics } = await import("./metrics-HCUMZSAU.js");
367
+ const { runMetrics } = await import("./metrics-SOYVRSNM.js");
296
368
  runMetrics({ json: opts.json === true, compare: opts.compare === true });
297
369
  });
298
370
  program.command("loop-summary").description("\uB8E8\uD504/\uD30C\uC774\uD504\uB77C\uC778 \uC644\uB8CC\uB97C 4\uB80C\uC988(\uAC1C\uC785\xB7\uD488\uC9C8\xB7\uD6A8\uC728\xB7\uC0B0\uCD9C)\uB85C \uC694\uC57D\uD569\uB2C8\uB2E4").option("--workitem <id>", "\uB300\uC0C1 \uC6CC\uD06C\uC544\uC774\uD15C (\uAE30\uBCF8: \uD604\uC7AC)").option("--workitems <ids>", "\uBC30\uCE58 \uBAA8\uB4DC: \uCF64\uB9C8\uB85C \uAD6C\uBD84\uD55C \uC6CC\uD06C\uC544\uC774\uD15C \uBAA9\uB85D").option("--since <iso>", "\uBC30\uCE58 \uBAA8\uB4DC: \uC774 \uC2DC\uAC01(ISO) \uC774\uD6C4 \uC644\uB8CC\uB41C \uC6CC\uD06C\uC544\uC774\uD15C \uC804\uBD80").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(
299
371
  async (opts) => {
300
- const { runLoopSummary } = await import("./loop-summary-QNH423MW.js");
372
+ const { runLoopSummary } = await import("./loop-summary-L4UTUOPY.js");
301
373
  runLoopSummary({
302
374
  workitem: opts.workitem,
303
375
  workitems: parseWorkitemsOption(opts.workitems),
@@ -307,7 +379,7 @@ function buildProgram() {
307
379
  }
308
380
  );
309
381
  program.command("feedback").description("awl \uB3C4\uAD6C \uC790\uCCB4 \uD53C\uB4DC\uBC31\uC744 area \uBCC4\uB85C \uBB36\uC5B4 \uBD05\uB2C8\uB2E4 (\uD574\uBC95\uC740 \uC81C\uC2DC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--area <area>", "area \uB85C \uAC70\uB985\uB2C8\uB2E4 (commit, gate, verify \uB4F1)").option("--severity <sev>", "severity \uB85C \uAC70\uB985\uB2C8\uB2E4 (high/medium/low)").option("--since <date>", "\uC774 ISO \uB0A0\uC9DC \uC774\uD6C4 \uC218\uC9D1\uBD84\uB9CC \uBD05\uB2C8\uB2E4 (\uC608: 2026-07-01)").action(async (opts) => {
310
- const { runFeedback } = await import("./feedback-3K6AJBG5.js");
382
+ const { runFeedback } = await import("./feedback-TPITVUZL.js");
311
383
  runFeedback({
312
384
  json: opts.json === true,
313
385
  area: opts.area,
@@ -316,12 +388,12 @@ function buildProgram() {
316
388
  });
317
389
  });
318
390
  program.command("changelog").description("Gate 2 \uC2B9\uC778 \uB4A4 CHANGELOG.md\uC5D0 \uC62E\uAE38 \uCD08\uC548\uC744 \uB9CC\uB4ED\uB2C8\uB2E4 (\uD30C\uC77C\uC740 \uC4F0\uC9C0 \uC54A\uC74C)").option("--workitem <id>", "\uB300\uC0C1 \uC6CC\uD06C\uC544\uC774\uD15C (\uAE30\uBCF8: \uD604\uC7AC)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
319
- const { runChangelogDraft } = await import("./changelog-7XV2TAVB.js");
391
+ const { runChangelogDraft } = await import("./changelog-HZMH3RPD.js");
320
392
  runChangelogDraft({ workitem: opts.workitem, json: opts.json === true });
321
393
  });
322
394
  program.command("commit <criterion>").description("\uC644\uB8CC \uC870\uAC74 \uC791\uC5C5\uC744 \uACA9\uB9AC \uCEE4\uBC0B\uD569\uB2C8\uB2E4 (\uB0B4 \uBCC0\uACBD\uB9CC)").option("--start", "\uBCA0\uC774\uC2A4\uB77C\uC778\uC744 \uC7A1\uC2B5\uB2C8\uB2E4 (\uC791\uC5C5 \uC2DC\uC791 \uC2DC)").option("-m, --message <msg>", "\uCEE4\uBC0B \uBA54\uC2DC\uC9C0").option("--base <ref>", "\uBCA0\uC774\uC2A4 \uB4DC\uB9AC\uD504\uD2B8\uB97C \uD655\uC778\uD560 \uAE30\uC900 \uBE0C\uB79C\uCE58").option("--force", "\uBCF4\uD638 \uD30C\uC77C \uBCC0\uACBD \uAC80\uC0AC\uB97C \uC0AC\uB78C\uC774 \uD655\uC778\uD558\uACE0 \uC6B0\uD68C\uD569\uB2C8\uB2E4").action(
323
395
  async (criterion, opts) => {
324
- const { runCommit } = await import("./commit-QPFG6Y6H.js");
396
+ const { runCommit } = await import("./commit-SU6CTBU3.js");
325
397
  await runCommit(criterion, {
326
398
  start: opts.start,
327
399
  message: opts.message,
@@ -331,12 +403,12 @@ function buildProgram() {
331
403
  }
332
404
  );
333
405
  program.command("review <range>").description("\uB9AC\uBDF0\uC5B4\uC5D0\uAC8C \uB118\uAE38 \uC790\uB8CC\uB97C \uC870\uB9BD\uD569\uB2C8\uB2E4 (provenance \uD3EC\uD568)").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--base <ref>", "diff \uAE30\uC900 (\uAE30\uBCF8\uC740 \uC644\uB8CC \uC870\uAC74 baseline)").action(async (range, opts) => {
334
- const { runReview } = await import("./review-44SX5ERY.js");
406
+ const { runReview } = await import("./review-RMY7QFZN.js");
335
407
  await runReview(range, { json: opts.json === true, base: opts.base });
336
408
  });
337
409
  program.command("record <type>", { hidden: true }).description("\uAD6C\uC870\uD654\uB41C \uAE30\uB85D\uC744 \uB0A8\uAE41\uB2C8\uB2E4").option("--json <data>", "\uAE30\uB85D\uD560 \uB370\uC774\uD130 (JSON \uBB38\uC790\uC5F4)").option("--file <path>", "\uB370\uC774\uD130 \uD30C\uC77C \uACBD\uB85C (\uD070 \uB370\uC774\uD130\uC6A9)").option("--diff", "git diff \uB97C \uCEA1\uCC98\uD574 \uCCA8\uBD80\uD569\uB2C8\uB2E4 (blocked)").option("--workitem <id>", "\uC774 \uAE30\uB85D\uB9CC \uB2E4\uB978 \uC6CC\uD06C\uC544\uC774\uD15C\uC73C\uB85C \uB0A8\uAE41\uB2C8\uB2E4(\uAE30\uBCF8\uC740 \uD604\uC7AC \uC6CC\uD06C\uC544\uC774\uD15C)").action(
338
410
  async (type, opts) => {
339
- const { runRecord } = await import("./record-A35XVG5F.js");
411
+ const { runRecord } = await import("./record-V6V5XPPA.js");
340
412
  await runRecord(type, {
341
413
  json: opts.json,
342
414
  file: opts.file,
@@ -350,7 +422,7 @@ function buildProgram() {
350
422
  "\uBCC0\uACBD\uB41C \uD30C\uC77C\uC5D0 \uAD00\uB828\uB41C \uD14C\uC2A4\uD2B8\uB9CC \uC2E4\uD589\uD569\uB2C8\uB2E4(relatedCmd \uD544\uC694, \uC5C6\uC73C\uBA74 \uC804\uCCB4 \uD14C\uC2A4\uD2B8\uB85C \uD3F4\uBC31)"
351
423
  ).action(
352
424
  async (opts) => {
353
- const { runVerify } = await import("./verify-R3ISFRBC.js");
425
+ const { runVerify } = await import("./verify-KSZEOELP.js");
354
426
  await runVerify({
355
427
  json: opts.json === true,
356
428
  bail: opts.bail === true,
@@ -361,17 +433,17 @@ function buildProgram() {
361
433
  }
362
434
  );
363
435
  program.command("hold-recheck", { hidden: true }).description(".tasks/plan \uC758 \uC758\uC874\uD615 hold \uB97C \uC7AC\uC810\uAC80\uD574 \uCC29\uC9C0+\uD569\uACA9\uD55C \uC758\uC874\uC774\uBA74 \uC790\uB3D9 un-hold \uD569\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
364
- const { runHoldRecheck } = await import("./hold-recheck-GCQRCB5X.js");
436
+ const { runHoldRecheck } = await import("./hold-recheck-CWCSW53F.js");
365
437
  await runHoldRecheck({ json: opts.json === true });
366
438
  });
367
439
  const state = program.command("state", { hidden: true }).description("\uB8E8\uD504 \uC0C1\uD0DC\uB97C \uC77D\uACE0 \uC501\uB2C8\uB2E4");
368
440
  state.command("get").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
369
- const { runStateGet } = await import("./state-46G4FKH3.js");
441
+ const { runStateGet } = await import("./state-6TNG2EC5.js");
370
442
  runStateGet({ json: opts.json === true });
371
443
  });
372
444
  state.command("set").requiredOption("--json <patch>", "\uBD80\uBD84 \uAC31\uC2E0 (JSON \uBB38\uC790\uC5F4)").action(async (opts) => {
373
- const { runStateSet } = await import("./state-46G4FKH3.js");
374
- const { hasApprovedGate1 } = await import("./record-A35XVG5F.js");
445
+ const { runStateSet } = await import("./state-6TNG2EC5.js");
446
+ const { hasApprovedGate1 } = await import("./record-V6V5XPPA.js");
375
447
  runStateSet(opts.json, {
376
448
  // phase:'loop' 로의 전이는 이 워크아이템에 "승인된" 게이트1 레코드가 있을
377
449
  // 때만 허용한다(0.6.3, 적대검증 발견). 예전엔 gate:1 레코드의 존재만 봐서
@@ -382,7 +454,7 @@ function buildProgram() {
382
454
  });
383
455
  program.command("evolve", { hidden: true }).description("\uAE30\uB85D\uC744 \uBAA8\uC544 \uAD50\uD6C8\uC73C\uB85C, \uAD50\uD6C8\uC744 \uADDC\uCE59\uC73C\uB85C \uC787\uC2B5\uB2C8\uB2E4").option("--collect", "\uC774\uBC88 \uC6CC\uD06C\uC544\uC774\uD15C\uC758 \uAE30\uB85D\uC744 \uBAA8\uC544 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--record", "\uAD50\uD6C8\uC744 gotchas \uC5D0 \uAE30\uB85D\uD569\uB2C8\uB2E4 (--json \uC73C\uB85C \uB370\uC774\uD130)").option("--json [data]", "collect: \uCD9C\uB825 \uD50C\uB798\uADF8 / record: \uAD50\uD6C8 \uB370\uC774\uD130(JSON \uBB38\uC790\uC5F4)").option("--workitem <wi>", "\uC6CC\uD06C\uC544\uC774\uD15C\uC73C\uB85C \uAC70\uB985\uB2C8\uB2E4 (--collect)").option("--from <YYYY-MM>", "\uAE30\uAC04 \uC2DC\uC791 \uC6D4\uB85C \uC77D\uAE30\uB97C \uC881\uD799\uB2C8\uB2E4 (--collect, \uC5C6\uC73C\uBA74 \uC804\uB7C9)").option("--to <YYYY-MM>", "\uAE30\uAC04 \uB05D \uC6D4 (--collect)").action(
384
456
  async (opts) => {
385
- const m = await import("./evolve-QJACOUJV.js");
457
+ const m = await import("./evolve-SQJ5LIE4.js");
386
458
  if (opts.collect && opts.record) {
387
459
  process.stderr.write("\n --collect \uC640 --record \uB294 \uB3D9\uC2DC\uC5D0 \uC4F8 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n");
388
460
  process.exit(1);
@@ -401,7 +473,7 @@ function buildProgram() {
401
473
  }
402
474
  );
403
475
  program.command("defer-summary", { hidden: true }).description("\uBCF4\uB958\uD55C \uC911\uC694 \uD56D\uBAA9(\uC0AC\uB78C \uCD5C\uC885 \uD655\uC778 \uD56D\uBAA9)\uC744 \uCD5C\uC885 \uC694\uC57D\uD569\uB2C8\uB2E4").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").option("--workitem <wi>", "\uC6CC\uD06C\uC544\uC774\uD15C \uC9C0\uC815(\uC5C6\uC73C\uBA74 \uD604\uC7AC)").action(async (opts) => {
404
- const m = await import("./record-A35XVG5F.js");
476
+ const m = await import("./record-V6V5XPPA.js");
405
477
  m.runDeferSummary({ json: opts.json === true, workitem: opts.workitem });
406
478
  });
407
479
  program.action((opts, command) => {
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  protectedFilesMessage
3
- } from "./chunk-LX57XSW3.js";
3
+ } from "./chunk-NOU677FX.js";
4
4
  import {
5
5
  hasApprovedGate1
6
- } from "./chunk-NV5FE6II.js";
6
+ } from "./chunk-6F4VAVKF.js";
7
7
  import {
8
8
  getCriterion,
9
9
  loadState,
10
10
  setCriterion,
11
11
  writeState
12
- } from "./chunk-TWL3QIQN.js";
12
+ } from "./chunk-UNANHUG3.js";
13
13
  import {
14
14
  loadConfig,
15
15
  resolveProjectRoot,
16
16
  run
17
- } from "./chunk-RBLDM2LU.js";
18
- import "./chunk-XFYYCBQD.js";
17
+ } from "./chunk-7D4T7HFK.js";
18
+ import "./chunk-7TMAQRJS.js";
19
19
  import {
20
20
  caps,
21
21
  feedback,
@@ -13,8 +13,8 @@ import {
13
13
  runConfig,
14
14
  runConfigSet,
15
15
  validateConfig
16
- } from "./chunk-RBLDM2LU.js";
17
- import "./chunk-XFYYCBQD.js";
16
+ } from "./chunk-7D4T7HFK.js";
17
+ import "./chunk-7TMAQRJS.js";
18
18
  import "./chunk-SUF5ISJM.js";
19
19
  export {
20
20
  KNOWN_LANGUAGES,
@@ -8,13 +8,13 @@ import {
8
8
  gitHasCommits,
9
9
  renderText,
10
10
  runDoctor
11
- } from "./chunk-3ADAPFWK.js";
12
- import "./chunk-EW5CLZ7C.js";
13
- import "./chunk-Q34HYTEX.js";
14
- import "./chunk-NV5FE6II.js";
15
- import "./chunk-TWL3QIQN.js";
16
- import "./chunk-RBLDM2LU.js";
17
- import "./chunk-XFYYCBQD.js";
11
+ } from "./chunk-YE4BYU36.js";
12
+ import "./chunk-OJMHX4AM.js";
13
+ import "./chunk-73QAFIZS.js";
14
+ import "./chunk-6F4VAVKF.js";
15
+ import "./chunk-UNANHUG3.js";
16
+ import "./chunk-7D4T7HFK.js";
17
+ import "./chunk-7TMAQRJS.js";
18
18
  import "./chunk-SUF5ISJM.js";
19
19
  export {
20
20
  collectChecks,
@@ -13,12 +13,12 @@ import {
13
13
  runEvolveCollect,
14
14
  runEvolveRecord,
15
15
  writeGeneration
16
- } from "./chunk-RQZBANFI.js";
17
- import "./chunk-OA346OKL.js";
18
- import "./chunk-NV5FE6II.js";
19
- import "./chunk-TWL3QIQN.js";
20
- import "./chunk-RBLDM2LU.js";
21
- import "./chunk-XFYYCBQD.js";
16
+ } from "./chunk-FKBBGXGF.js";
17
+ import "./chunk-4ZLARTXS.js";
18
+ import "./chunk-6F4VAVKF.js";
19
+ import "./chunk-UNANHUG3.js";
20
+ import "./chunk-7D4T7HFK.js";
21
+ import "./chunk-7TMAQRJS.js";
22
22
  import "./chunk-SUF5ISJM.js";
23
23
  export {
24
24
  GOTCHA_RELATION_TYPES,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  readRecords
3
- } from "./chunk-NV5FE6II.js";
4
- import "./chunk-TWL3QIQN.js";
5
- import "./chunk-RBLDM2LU.js";
6
- import "./chunk-XFYYCBQD.js";
3
+ } from "./chunk-6F4VAVKF.js";
4
+ import "./chunk-UNANHUG3.js";
5
+ import "./chunk-7D4T7HFK.js";
6
+ import "./chunk-7TMAQRJS.js";
7
7
  import {
8
8
  caps,
9
9
  makeColors,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  loadGotchaList
3
- } from "./chunk-RQZBANFI.js";
4
- import "./chunk-OA346OKL.js";
5
- import "./chunk-NV5FE6II.js";
6
- import "./chunk-TWL3QIQN.js";
7
- import "./chunk-RBLDM2LU.js";
8
- import "./chunk-XFYYCBQD.js";
3
+ } from "./chunk-FKBBGXGF.js";
4
+ import "./chunk-4ZLARTXS.js";
5
+ import "./chunk-6F4VAVKF.js";
6
+ import "./chunk-UNANHUG3.js";
7
+ import "./chunk-7D4T7HFK.js";
8
+ import "./chunk-7TMAQRJS.js";
9
9
  import {
10
10
  caps,
11
11
  makeColors,
@@ -1,23 +1,23 @@
1
1
  import {
2
2
  pipelineLanes
3
- } from "./chunk-I2F7DUOQ.js";
4
- import "./chunk-HNBBLKNT.js";
5
- import "./chunk-L3G3B7FT.js";
3
+ } from "./chunk-CQ2PT4HP.js";
4
+ import "./chunk-GF4BMY4W.js";
5
+ import "./chunk-TGLJWWLM.js";
6
6
  import "./chunk-D5OINC3G.js";
7
- import "./chunk-IQNGZFEK.js";
8
- import "./chunk-LX57XSW3.js";
9
- import "./chunk-3ADAPFWK.js";
10
- import "./chunk-EW5CLZ7C.js";
11
- import "./chunk-Q34HYTEX.js";
12
- import "./chunk-C2EWSFNH.js";
13
- import "./chunk-RQZBANFI.js";
14
- import "./chunk-OA346OKL.js";
15
- import "./chunk-NV5FE6II.js";
16
- import "./chunk-TWL3QIQN.js";
7
+ import "./chunk-XW6R4UZE.js";
8
+ import "./chunk-NOU677FX.js";
9
+ import "./chunk-YE4BYU36.js";
10
+ import "./chunk-OJMHX4AM.js";
11
+ import "./chunk-73QAFIZS.js";
12
+ import "./chunk-OJ7YO3MY.js";
13
+ import "./chunk-FKBBGXGF.js";
14
+ import "./chunk-4ZLARTXS.js";
15
+ import "./chunk-6F4VAVKF.js";
16
+ import "./chunk-UNANHUG3.js";
17
17
  import {
18
18
  resolveProjectRoot
19
- } from "./chunk-RBLDM2LU.js";
20
- import "./chunk-XFYYCBQD.js";
19
+ } from "./chunk-7D4T7HFK.js";
20
+ import "./chunk-7TMAQRJS.js";
21
21
  import {
22
22
  caps,
23
23
  makeColors,
@@ -45,7 +45,7 @@ import {
45
45
  writeConfig,
46
46
  writeSkillsVersionStamp,
47
47
  writeState
48
- } from "./chunk-XFYYCBQD.js";
48
+ } from "./chunk-7TMAQRJS.js";
49
49
  import "./chunk-SUF5ISJM.js";
50
50
  export {
51
51
  LANG_OPTIONS,
@@ -10,21 +10,21 @@ import {
10
10
  runLaneRemove,
11
11
  unmergedCommitCount,
12
12
  worktreeUntracked
13
- } from "./chunk-HNBBLKNT.js";
14
- import "./chunk-L3G3B7FT.js";
13
+ } from "./chunk-GF4BMY4W.js";
14
+ import "./chunk-TGLJWWLM.js";
15
15
  import "./chunk-D5OINC3G.js";
16
- import "./chunk-IQNGZFEK.js";
17
- import "./chunk-LX57XSW3.js";
18
- import "./chunk-3ADAPFWK.js";
19
- import "./chunk-EW5CLZ7C.js";
20
- import "./chunk-Q34HYTEX.js";
21
- import "./chunk-C2EWSFNH.js";
22
- import "./chunk-RQZBANFI.js";
23
- import "./chunk-OA346OKL.js";
24
- import "./chunk-NV5FE6II.js";
25
- import "./chunk-TWL3QIQN.js";
26
- import "./chunk-RBLDM2LU.js";
27
- import "./chunk-XFYYCBQD.js";
16
+ import "./chunk-XW6R4UZE.js";
17
+ import "./chunk-NOU677FX.js";
18
+ import "./chunk-YE4BYU36.js";
19
+ import "./chunk-OJMHX4AM.js";
20
+ import "./chunk-73QAFIZS.js";
21
+ import "./chunk-OJ7YO3MY.js";
22
+ import "./chunk-FKBBGXGF.js";
23
+ import "./chunk-4ZLARTXS.js";
24
+ import "./chunk-6F4VAVKF.js";
25
+ import "./chunk-UNANHUG3.js";
26
+ import "./chunk-7D4T7HFK.js";
27
+ import "./chunk-7TMAQRJS.js";
28
28
  import "./chunk-SUF5ISJM.js";
29
29
  export {
30
30
  WORKTREES_DIR,
@@ -6,18 +6,18 @@ import {
6
6
  computeDurationMs,
7
7
  fmtDuration,
8
8
  loadGenerations
9
- } from "./chunk-OA346OKL.js";
9
+ } from "./chunk-4ZLARTXS.js";
10
10
  import {
11
11
  collectDeferred,
12
12
  readRecords
13
- } from "./chunk-NV5FE6II.js";
13
+ } from "./chunk-6F4VAVKF.js";
14
14
  import {
15
15
  loadState
16
- } from "./chunk-TWL3QIQN.js";
16
+ } from "./chunk-UNANHUG3.js";
17
17
  import {
18
18
  requireConfig
19
- } from "./chunk-RBLDM2LU.js";
20
- import "./chunk-XFYYCBQD.js";
19
+ } from "./chunk-7D4T7HFK.js";
20
+ import "./chunk-7TMAQRJS.js";
21
21
  import {
22
22
  caps,
23
23
  makeColors,
@@ -8,9 +8,9 @@ import {
8
8
  renderMetrics,
9
9
  renderMetricsCaveat,
10
10
  runMetrics
11
- } from "./chunk-OA346OKL.js";
12
- import "./chunk-RBLDM2LU.js";
13
- import "./chunk-XFYYCBQD.js";
11
+ } from "./chunk-4ZLARTXS.js";
12
+ import "./chunk-7D4T7HFK.js";
13
+ import "./chunk-7TMAQRJS.js";
14
14
  import "./chunk-SUF5ISJM.js";
15
15
  export {
16
16
  computeDurationMs,