agent-work-loop 0.6.43 → 0.6.45
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/README.md +3 -3
- package/dist/{brief-GOGJDLY7.js → brief-SGMFXOY2.js} +5 -5
- package/dist/{changelog-NLYZTB44.js → changelog-VNJ4EQ74.js} +5 -5
- package/dist/{chunk-SKLSWS5J.js → chunk-5MXSJD3C.js} +2 -2
- package/dist/{chunk-I5SS6HFR.js → chunk-DQF7RF37.js} +11 -11
- package/dist/{chunk-MBEY33YA.js → chunk-EHJYX57P.js} +2 -2
- package/dist/{chunk-UNAASSQ4.js → chunk-FGHILN3D.js} +6 -0
- package/dist/{chunk-QVP5DUND.js → chunk-FK3Q7UY2.js} +3 -3
- package/dist/{chunk-TQUXHTN5.js → chunk-HAUTKVB5.js} +4 -4
- package/dist/{chunk-JQV65R3M.js → chunk-IA32FVBA.js} +6 -7
- package/dist/{chunk-I5WWLNA6.js → chunk-ISLNBWKV.js} +13 -13
- package/dist/{chunk-SOUTYYY4.js → chunk-IVEV5L7P.js} +2 -2
- package/dist/{chunk-JR6MKCC4.js → chunk-MLTY3EE6.js} +62 -3
- package/dist/{chunk-OVLA5DET.js → chunk-PUINOFOR.js} +5 -7
- package/dist/{chunk-YC23SNVC.js → chunk-QKKMA2VT.js} +5 -5
- package/dist/{chunk-7CPPZX6X.js → chunk-SJG22DAK.js} +27 -6
- package/dist/{chunk-UJ6CK5HC.js → chunk-VE2GVNNS.js} +2 -2
- package/dist/{chunk-I3WXYD5C.js → chunk-VVZOIFL4.js} +1 -1
- package/dist/{chunk-E6MULIMV.js → chunk-ZRKOZQKP.js} +5 -5
- package/dist/cli.js +58 -46
- package/dist/{commit-BKN3ZJI7.js → commit-GPQATPEA.js} +6 -6
- package/dist/{config-DX3WL2JT.js → config-QTEKLFZP.js} +3 -3
- package/dist/{doctor-TBRNCTDS.js → doctor-TMMIO4CE.js} +8 -8
- package/dist/{evolve-EMGWWWY3.js → evolve-N3S32P5I.js} +7 -7
- package/dist/{feedback-ZAAM5VYL.js → feedback-log-UCNJ2GVT.js} +11 -11
- package/dist/{gotchas-6ZWHP5Z6.js → gotchas-PDG2ZZFQ.js} +7 -7
- package/dist/{hold-recheck-K7DV64KW.js → hold-recheck-UNAILFN5.js} +6 -17
- package/dist/{init-3X6NVQQW.js → init-3B4ZRGWY.js} +2 -2
- package/dist/lane-24GAVVR6.js +39 -0
- package/dist/{loop-summary-CD6EIAHZ.js → loop-summary-CODZMRUY.js} +6 -6
- package/dist/{metrics-VVXCH6TR.js → metrics-ZR7BPATB.js} +4 -4
- package/dist/{record-AC7LPU36.js → record-TSB22DIO.js} +5 -5
- package/dist/{remove-C64QRELY.js → remove-J7B32U75.js} +16 -16
- package/dist/{review-VCVPT3P6.js → review-EM5Q2ZJX.js} +15 -15
- package/dist/{rules-2DIFP7K2.js → rules-QLUXNSCN.js} +8 -8
- package/dist/{state-UIHEGC5P.js → state-6IIH7SW2.js} +4 -4
- package/dist/status-2LPWVCHT.js +29 -0
- package/dist/{update-KCQWDQDF.js → update-CKGPHO5B.js} +2 -2
- package/dist/{verify-Y36JFAA7.js → verify-VWKIBPZD.js} +10 -10
- package/dist/version-check-3BZXXAQD.js +14 -0
- package/dist/{work-HHTQTJZW.js → work-PEJN55JB.js} +14 -14
- package/engine/skills/claude/awl-loop/reference.md +1 -1
- package/engine/skills/claude/awl-pipeline/SKILL.md +1 -1
- package/engine/templates/block-publish.mjs +20 -2
- package/engine/templates/pre-push.sample +8 -2
- package/engine/version.json +1 -1
- package/package.json +1 -1
- package/dist/lane-QPZE7KYI.js +0 -41
- package/dist/status-2PUVZCFI.js +0 -40
- package/dist/version-check-XLXT7NSG.js +0 -14
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
computeDurationMs
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IVEV5L7P.js";
|
|
4
4
|
import {
|
|
5
5
|
computeCoverage,
|
|
6
6
|
readRecords
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-FK3Q7UY2.js";
|
|
8
8
|
import {
|
|
9
9
|
loadState
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-VE2GVNNS.js";
|
|
11
11
|
import {
|
|
12
12
|
requireConfig
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-MLTY3EE6.js";
|
|
14
14
|
import {
|
|
15
15
|
caps,
|
|
16
16
|
generationsDir,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
lockFile,
|
|
20
20
|
makeColors,
|
|
21
21
|
signal
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-FGHILN3D.js";
|
|
23
23
|
|
|
24
24
|
// src/commands/evolve.ts
|
|
25
25
|
import fs from "fs";
|
package/dist/cli.js
CHANGED
|
@@ -3,9 +3,10 @@ import {
|
|
|
3
3
|
computeUpdateAvailable,
|
|
4
4
|
readCachedLatestVersion,
|
|
5
5
|
version
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-5MXSJD3C.js";
|
|
7
7
|
import {
|
|
8
8
|
caps,
|
|
9
|
+
engineDir,
|
|
9
10
|
gradient,
|
|
10
11
|
installedEngineVersion,
|
|
11
12
|
makeColors,
|
|
@@ -14,9 +15,10 @@ import {
|
|
|
14
15
|
sectionBox,
|
|
15
16
|
signal,
|
|
16
17
|
visibleWidth
|
|
17
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-FGHILN3D.js";
|
|
18
19
|
|
|
19
20
|
// src/program.ts
|
|
21
|
+
import os from "os";
|
|
20
22
|
import { Command } from "commander";
|
|
21
23
|
var BANNER = `
|
|
22
24
|
[ AGENT WORK LOOP v${version} ]
|
|
@@ -107,7 +109,7 @@ function renderExamplesCard(c) {
|
|
|
107
109
|
examples: [
|
|
108
110
|
{ cmd: "awl brief --today", note: "\uC624\uB298 \uD558\uB8E8 \uC694\uC57D" },
|
|
109
111
|
{ 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" },
|
|
112
|
+
{ cmd: "awl feedback-log --severity high", note: "awl \uC790\uCCB4\uC5D0 \uB300\uD55C \uD53C\uB4DC\uBC31, \uC2EC\uAC01\uB3C4 \uD544\uD130" },
|
|
111
113
|
{ cmd: "awl changelog --workitem WI-01", note: "\uADF8 \uC6CC\uD06C\uC544\uC774\uD15C\uC758 \uBCC0\uACBD \uC774\uB825" }
|
|
112
114
|
]
|
|
113
115
|
}
|
|
@@ -154,11 +156,16 @@ ${renderGettingStartedCard(c)}
|
|
|
154
156
|
|
|
155
157
|
${color.dim("\uC608\uC2DC\uB294 awl --examples \uB85C \uBD05\uB2C8\uB2E4.")}`;
|
|
156
158
|
}
|
|
159
|
+
function displayHomePath(p) {
|
|
160
|
+
const home = os.homedir();
|
|
161
|
+
return p.startsWith(home) ? `~${p.slice(home.length)}` : p;
|
|
162
|
+
}
|
|
157
163
|
function versionString(c = caps()) {
|
|
158
164
|
const color = makeColors(c.color);
|
|
159
165
|
const s = makeSymbols(c);
|
|
160
166
|
const engineVer = installedEngineVersion();
|
|
161
|
-
const
|
|
167
|
+
const enginePath = displayHomePath(engineDir());
|
|
168
|
+
const heading = `awl v${version} ${color.dim("(\uC124\uCE58\uB41C npm \uD328\uD0A4\uC9C0 \uBC84\uC804 \u2014 CLI \uBCF8\uCCB4)")}`;
|
|
162
169
|
let base;
|
|
163
170
|
if (engineVer === null) {
|
|
164
171
|
base = [
|
|
@@ -169,7 +176,10 @@ function versionString(c = caps()) {
|
|
|
169
176
|
` ${color.dim("'awl init'\uC744 \uC2E4\uD589\uD558\uC5EC \uD15C\uD50C\uB9BF\uC744 \uC124\uCE58\uD558\uC138\uC694.")}`
|
|
170
177
|
].join("\n");
|
|
171
178
|
} else {
|
|
172
|
-
const template =
|
|
179
|
+
const template = [
|
|
180
|
+
` ${s.lastBranch} Engine Template: v${engineVer} ${color.dim(`(${enginePath} \uC5D0 \uBCF5\uC0AC\uB41C \uC5D4\uC9C4 \uBC84\uC804)`)}`,
|
|
181
|
+
` ${color.dim("\uD328\uD0A4\uC9C0 \uC124\uCE58 \uD6C4, \uD30C\uC77C \uAD00\uB9AC\uB97C \uC704\uD574 \uC804\uC5ED\uC5D0 \uC5D4\uC9C4 \uD15C\uD50C\uB9BF \uD615\uD0DC\uB85C \uBCF5\uC0AC\uBCF8\uC744 \uB9CC\uB4ED\uB2C8\uB2E4.")}`
|
|
182
|
+
].join("\n");
|
|
173
183
|
if (engineVer === version) {
|
|
174
184
|
base = `${heading}
|
|
175
185
|
${template}`;
|
|
@@ -179,7 +189,7 @@ ${template}`;
|
|
|
179
189
|
template,
|
|
180
190
|
"",
|
|
181
191
|
` ${signal(c, "warn")} \uBC84\uC804 \uBD88\uC77C\uCE58 \uAC10\uC9C0!`,
|
|
182
|
-
|
|
192
|
+
` CLI \uBCF8\uCCB4\uC640 ${enginePath} \uC758 \uC5D4\uC9C4 \uD15C\uD50C\uB9BF \uBC84\uC804\uC774 \uB2E4\uB985\uB2C8\uB2E4.`,
|
|
183
193
|
` ${color.dim("\uD574\uACB0\uD558\uB824\uBA74 awl update \uB85C \uC5D4\uC9C4\uC744 \uAC31\uC2E0\uD558\uC138\uC694.")}`
|
|
184
194
|
].join("\n");
|
|
185
195
|
}
|
|
@@ -222,14 +232,14 @@ function buildProgram() {
|
|
|
222
232
|
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()}
|
|
223
233
|
` : "").option("--examples", "\uC790\uC8FC \uC4F0\uB294 \uBA85\uB839 \uC608\uC2DC\uB97C \uBCF4\uC5EC\uC90D\uB2C8\uB2E4").showHelpAfterError();
|
|
224
234
|
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) => {
|
|
225
|
-
const { runInit } = await import("./init-
|
|
235
|
+
const { runInit } = await import("./init-3B4ZRGWY.js");
|
|
226
236
|
await runInit({ yes: opts.yes === true });
|
|
227
237
|
});
|
|
228
238
|
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(
|
|
229
239
|
"--archive",
|
|
230
240
|
"(--pipeline\uACFC \uD568\uAED8) \uC720\uC608 \uAE30\uAC04(3\uC77C) \uC9C0\uB09C \uC644\uB8CC workitem\uC744 .tasks/archive/ \uB85C \uBCF4\uAD00\uD569\uB2C8\uB2E4"
|
|
231
241
|
).action(async (opts) => {
|
|
232
|
-
const { runStatus } = await import("./status-
|
|
242
|
+
const { runStatus } = await import("./status-2LPWVCHT.js");
|
|
233
243
|
await runStatus({
|
|
234
244
|
json: opts.json === true,
|
|
235
245
|
pipeline: opts.pipeline === true,
|
|
@@ -237,15 +247,15 @@ function buildProgram() {
|
|
|
237
247
|
});
|
|
238
248
|
});
|
|
239
249
|
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) => {
|
|
240
|
-
const { runBrief } = await import("./brief-
|
|
250
|
+
const { runBrief } = await import("./brief-SGMFXOY2.js");
|
|
241
251
|
await runBrief({ today: opts.today === true, date: opts.date, json: opts.json === true });
|
|
242
252
|
});
|
|
243
253
|
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) => {
|
|
244
|
-
const { runDoctor } = await import("./doctor-
|
|
254
|
+
const { runDoctor } = await import("./doctor-TMMIO4CE.js");
|
|
245
255
|
await runDoctor({ json: opts.json === true });
|
|
246
256
|
});
|
|
247
257
|
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) => {
|
|
248
|
-
const { runVersionCheck } = await import("./version-check-
|
|
258
|
+
const { runVersionCheck } = await import("./version-check-3BZXXAQD.js");
|
|
249
259
|
await runVersionCheck({ json: opts.json === true });
|
|
250
260
|
});
|
|
251
261
|
program.command("update").description(
|
|
@@ -254,12 +264,12 @@ function buildProgram() {
|
|
|
254
264
|
"-l, --local",
|
|
255
265
|
"\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"
|
|
256
266
|
).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) => {
|
|
257
|
-
const { runUpdate } = await import("./update-
|
|
267
|
+
const { runUpdate } = await import("./update-CKGPHO5B.js");
|
|
258
268
|
runUpdate(opts);
|
|
259
269
|
});
|
|
260
270
|
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(
|
|
261
271
|
async (opts) => {
|
|
262
|
-
const { runRemove } = await import("./remove-
|
|
272
|
+
const { runRemove } = await import("./remove-J7B32U75.js");
|
|
263
273
|
await runRemove({
|
|
264
274
|
yes: opts.yes === true,
|
|
265
275
|
project: opts.project === true,
|
|
@@ -271,22 +281,22 @@ function buildProgram() {
|
|
|
271
281
|
);
|
|
272
282
|
const config = program.command("config").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uC124\uC815\uC744 \uBD05\uB2C8\uB2E4 (TTY \uBA74 \uC218\uC815\uB3C4)");
|
|
273
283
|
config.action(async () => {
|
|
274
|
-
const { runConfig } = await import("./config-
|
|
284
|
+
const { runConfig } = await import("./config-QTEKLFZP.js");
|
|
275
285
|
await runConfig();
|
|
276
286
|
});
|
|
277
287
|
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(
|
|
278
288
|
async (key, value, opts) => {
|
|
279
|
-
const { runConfigSet } = await import("./config-
|
|
289
|
+
const { runConfigSet } = await import("./config-QTEKLFZP.js");
|
|
280
290
|
await runConfigSet(key, value, { force: opts.force === true });
|
|
281
291
|
}
|
|
282
292
|
);
|
|
283
293
|
const work = program.command("work").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC758 \uC6CC\uD06C\uC544\uC774\uD15C\uC744 \uAD00\uB9AC\uD569\uB2C8\uB2E4");
|
|
284
294
|
work.option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
285
|
-
const { runWorkList } = await import("./work-
|
|
295
|
+
const { runWorkList } = await import("./work-PEJN55JB.js");
|
|
286
296
|
runWorkList({ json: opts.json === true });
|
|
287
297
|
});
|
|
288
298
|
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) => {
|
|
289
|
-
const { runWorkList } = await import("./work-
|
|
299
|
+
const { runWorkList } = await import("./work-PEJN55JB.js");
|
|
290
300
|
runWorkList({ json: opts.json === true });
|
|
291
301
|
});
|
|
292
302
|
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(
|
|
@@ -294,7 +304,7 @@ function buildProgram() {
|
|
|
294
304
|
"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)"
|
|
295
305
|
).option("--experiment <json>", '\uC2E4\uD5D8 \uCF00\uC774\uC2A4 \uBA54\uD0C0 JSON (\uC608: {"model":"lite","mode":"loop"})').action(
|
|
296
306
|
async (id, description, opts) => {
|
|
297
|
-
const { runWorkNew } = await import("./work-
|
|
307
|
+
const { runWorkNew } = await import("./work-PEJN55JB.js");
|
|
298
308
|
const parsedExp = parseExperimentOption(opts.experiment);
|
|
299
309
|
if (!parsedExp.ok) {
|
|
300
310
|
process.stderr.write(`
|
|
@@ -306,52 +316,52 @@ function buildProgram() {
|
|
|
306
316
|
}
|
|
307
317
|
);
|
|
308
318
|
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) => {
|
|
309
|
-
const { runWorkSwitch } = await import("./work-
|
|
319
|
+
const { runWorkSwitch } = await import("./work-PEJN55JB.js");
|
|
310
320
|
await runWorkSwitch(id);
|
|
311
321
|
});
|
|
312
322
|
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) => {
|
|
313
|
-
const { runWorkAbandon } = await import("./work-
|
|
323
|
+
const { runWorkAbandon } = await import("./work-PEJN55JB.js");
|
|
314
324
|
runWorkAbandon(id);
|
|
315
325
|
});
|
|
316
326
|
work.command("done <id>").description(
|
|
317
327
|
"\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)"
|
|
318
328
|
).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) => {
|
|
319
|
-
const { runWorkDone } = await import("./work-
|
|
329
|
+
const { runWorkDone } = await import("./work-PEJN55JB.js");
|
|
320
330
|
await runWorkDone(id, { force: opts.force === true });
|
|
321
331
|
});
|
|
322
332
|
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)");
|
|
323
333
|
lane.option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
324
|
-
const { runLaneList } = await import("./lane-
|
|
334
|
+
const { runLaneList } = await import("./lane-24GAVVR6.js");
|
|
325
335
|
await runLaneList({ json: opts.json === true });
|
|
326
336
|
});
|
|
327
337
|
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) => {
|
|
328
|
-
const { runLaneNew } = await import("./lane-
|
|
338
|
+
const { runLaneNew } = await import("./lane-24GAVVR6.js");
|
|
329
339
|
await runLaneNew(name, description);
|
|
330
340
|
});
|
|
331
341
|
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) => {
|
|
332
|
-
const { runLaneList } = await import("./lane-
|
|
342
|
+
const { runLaneList } = await import("./lane-24GAVVR6.js");
|
|
333
343
|
await runLaneList({ json: opts.json === true });
|
|
334
344
|
});
|
|
335
345
|
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) => {
|
|
336
|
-
const { runLaneRemove } = await import("./lane-
|
|
346
|
+
const { runLaneRemove } = await import("./lane-24GAVVR6.js");
|
|
337
347
|
await runLaneRemove(name, { force: opts.force === true });
|
|
338
348
|
});
|
|
339
349
|
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) => {
|
|
340
|
-
const { runRecords } = await import("./record-
|
|
350
|
+
const { runRecords } = await import("./record-TSB22DIO.js");
|
|
341
351
|
runRecords({ type: opts.type, workitem: opts.workitem, json: opts.json === true });
|
|
342
352
|
});
|
|
343
353
|
const rules = program.command("rules").description("\uC774 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uC801\uC6A9\uB418\uB294 \uADDC\uCE59\uC744 \uBD05\uB2C8\uB2E4").enablePositionalOptions();
|
|
344
354
|
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) => {
|
|
345
|
-
const { runRules } = await import("./rules-
|
|
355
|
+
const { runRules } = await import("./rules-QLUXNSCN.js");
|
|
346
356
|
runRules({ scope: opts.scope, json: opts.json === true });
|
|
347
357
|
});
|
|
348
358
|
rules.command("edit").description("$EDITOR \uB85C \uADDC\uCE59 \uD30C\uC77C\uC744 \uC5FD\uB2C8\uB2E4").action(async () => {
|
|
349
|
-
const { runRules } = await import("./rules-
|
|
359
|
+
const { runRules } = await import("./rules-QLUXNSCN.js");
|
|
350
360
|
runRules({ edit: true });
|
|
351
361
|
});
|
|
352
362
|
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(
|
|
353
363
|
async (gotchaId, opts) => {
|
|
354
|
-
const { runRulesPromote } = await import("./rules-
|
|
364
|
+
const { runRulesPromote } = await import("./rules-QLUXNSCN.js");
|
|
355
365
|
runRulesPromote(gotchaId, {
|
|
356
366
|
applies: opts.applies,
|
|
357
367
|
counter: opts.counter,
|
|
@@ -360,16 +370,16 @@ function buildProgram() {
|
|
|
360
370
|
}
|
|
361
371
|
);
|
|
362
372
|
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) => {
|
|
363
|
-
const { runGotchas } = await import("./gotchas-
|
|
373
|
+
const { runGotchas } = await import("./gotchas-PDG2ZZFQ.js");
|
|
364
374
|
runGotchas({ json: opts.json === true });
|
|
365
375
|
});
|
|
366
376
|
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) => {
|
|
367
|
-
const { runMetrics } = await import("./metrics-
|
|
377
|
+
const { runMetrics } = await import("./metrics-ZR7BPATB.js");
|
|
368
378
|
runMetrics({ json: opts.json === true, compare: opts.compare === true });
|
|
369
379
|
});
|
|
370
380
|
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(
|
|
371
381
|
async (opts) => {
|
|
372
|
-
const { runLoopSummary } = await import("./loop-summary-
|
|
382
|
+
const { runLoopSummary } = await import("./loop-summary-CODZMRUY.js");
|
|
373
383
|
runLoopSummary({
|
|
374
384
|
workitem: opts.workitem,
|
|
375
385
|
workitems: parseWorkitemsOption(opts.workitems),
|
|
@@ -378,9 +388,11 @@ function buildProgram() {
|
|
|
378
388
|
});
|
|
379
389
|
}
|
|
380
390
|
);
|
|
381
|
-
program.command("feedback").description(
|
|
382
|
-
|
|
383
|
-
|
|
391
|
+
program.command("feedback-log").description(
|
|
392
|
+
"awl \uB3C4\uAD6C \uC790\uCCB4\uC5D0 \uB0A8\uACA8\uC9C4 \uD53C\uB4DC\uBC31 \uAE30\uB85D(awl-feedback)\uC744 area \uBCC4\uB85C \uBB36\uC5B4 \uAC80\uD1A0\uD569\uB2C8\uB2E4 (\uD574\uBC95\uC740 \uC81C\uC2DC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4)"
|
|
393
|
+
).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) => {
|
|
394
|
+
const { runFeedbackLog } = await import("./feedback-log-UCNJ2GVT.js");
|
|
395
|
+
runFeedbackLog({
|
|
384
396
|
json: opts.json === true,
|
|
385
397
|
area: opts.area,
|
|
386
398
|
severity: opts.severity,
|
|
@@ -388,12 +400,12 @@ function buildProgram() {
|
|
|
388
400
|
});
|
|
389
401
|
});
|
|
390
402
|
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) => {
|
|
391
|
-
const { runChangelogDraft } = await import("./changelog-
|
|
403
|
+
const { runChangelogDraft } = await import("./changelog-VNJ4EQ74.js");
|
|
392
404
|
runChangelogDraft({ workitem: opts.workitem, json: opts.json === true });
|
|
393
405
|
});
|
|
394
406
|
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(
|
|
395
407
|
async (criterion, opts) => {
|
|
396
|
-
const { runCommit } = await import("./commit-
|
|
408
|
+
const { runCommit } = await import("./commit-GPQATPEA.js");
|
|
397
409
|
await runCommit(criterion, {
|
|
398
410
|
start: opts.start,
|
|
399
411
|
message: opts.message,
|
|
@@ -403,12 +415,12 @@ function buildProgram() {
|
|
|
403
415
|
}
|
|
404
416
|
);
|
|
405
417
|
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) => {
|
|
406
|
-
const { runReview } = await import("./review-
|
|
418
|
+
const { runReview } = await import("./review-EM5Q2ZJX.js");
|
|
407
419
|
await runReview(range, { json: opts.json === true, base: opts.base });
|
|
408
420
|
});
|
|
409
421
|
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(
|
|
410
422
|
async (type, opts) => {
|
|
411
|
-
const { runRecord } = await import("./record-
|
|
423
|
+
const { runRecord } = await import("./record-TSB22DIO.js");
|
|
412
424
|
await runRecord(type, {
|
|
413
425
|
json: opts.json,
|
|
414
426
|
file: opts.file,
|
|
@@ -422,7 +434,7 @@ function buildProgram() {
|
|
|
422
434
|
"\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)"
|
|
423
435
|
).action(
|
|
424
436
|
async (opts) => {
|
|
425
|
-
const { runVerify } = await import("./verify-
|
|
437
|
+
const { runVerify } = await import("./verify-VWKIBPZD.js");
|
|
426
438
|
await runVerify({
|
|
427
439
|
json: opts.json === true,
|
|
428
440
|
bail: opts.bail === true,
|
|
@@ -433,17 +445,17 @@ function buildProgram() {
|
|
|
433
445
|
}
|
|
434
446
|
);
|
|
435
447
|
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) => {
|
|
436
|
-
const { runHoldRecheck } = await import("./hold-recheck-
|
|
448
|
+
const { runHoldRecheck } = await import("./hold-recheck-UNAILFN5.js");
|
|
437
449
|
await runHoldRecheck({ json: opts.json === true });
|
|
438
450
|
});
|
|
439
451
|
const state = program.command("state", { hidden: true }).description("\uB8E8\uD504 \uC0C1\uD0DC\uB97C \uC77D\uACE0 \uC501\uB2C8\uB2E4");
|
|
440
452
|
state.command("get").option("--json", "\uAE30\uACC4\uAC00 \uC77D\uC744 \uC218 \uC788\uB294 JSON\uC73C\uB85C \uCD9C\uB825\uD569\uB2C8\uB2E4").action(async (opts) => {
|
|
441
|
-
const { runStateGet } = await import("./state-
|
|
453
|
+
const { runStateGet } = await import("./state-6IIH7SW2.js");
|
|
442
454
|
runStateGet({ json: opts.json === true });
|
|
443
455
|
});
|
|
444
456
|
state.command("set").requiredOption("--json <patch>", "\uBD80\uBD84 \uAC31\uC2E0 (JSON \uBB38\uC790\uC5F4)").action(async (opts) => {
|
|
445
|
-
const { runStateSet } = await import("./state-
|
|
446
|
-
const { hasApprovedGate1 } = await import("./record-
|
|
457
|
+
const { runStateSet } = await import("./state-6IIH7SW2.js");
|
|
458
|
+
const { hasApprovedGate1 } = await import("./record-TSB22DIO.js");
|
|
447
459
|
runStateSet(opts.json, {
|
|
448
460
|
// phase:'loop' 로의 전이는 이 워크아이템에 "승인된" 게이트1 레코드가 있을
|
|
449
461
|
// 때만 허용한다(0.6.3, 적대검증 발견). 예전엔 gate:1 레코드의 존재만 봐서
|
|
@@ -454,7 +466,7 @@ function buildProgram() {
|
|
|
454
466
|
});
|
|
455
467
|
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(
|
|
456
468
|
async (opts) => {
|
|
457
|
-
const m = await import("./evolve-
|
|
469
|
+
const m = await import("./evolve-N3S32P5I.js");
|
|
458
470
|
if (opts.collect && opts.record) {
|
|
459
471
|
process.stderr.write("\n --collect \uC640 --record \uB294 \uB3D9\uC2DC\uC5D0 \uC4F8 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.\n");
|
|
460
472
|
process.exit(1);
|
|
@@ -473,7 +485,7 @@ function buildProgram() {
|
|
|
473
485
|
}
|
|
474
486
|
);
|
|
475
487
|
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) => {
|
|
476
|
-
const m = await import("./record-
|
|
488
|
+
const m = await import("./record-TSB22DIO.js");
|
|
477
489
|
m.runDeferSummary({ json: opts.json === true, workitem: opts.workitem });
|
|
478
490
|
});
|
|
479
491
|
program.action((opts, command) => {
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import {
|
|
2
2
|
protectedFilesMessage
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VVZOIFL4.js";
|
|
4
4
|
import {
|
|
5
5
|
hasApprovedGate1
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-FK3Q7UY2.js";
|
|
7
7
|
import {
|
|
8
8
|
getCriterion,
|
|
9
9
|
loadState,
|
|
10
10
|
setCriterion,
|
|
11
11
|
writeState
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-VE2GVNNS.js";
|
|
13
13
|
import {
|
|
14
14
|
loadConfig,
|
|
15
15
|
resolveProjectRoot,
|
|
16
16
|
run
|
|
17
|
-
} from "./chunk-
|
|
18
|
-
import "./chunk-
|
|
17
|
+
} from "./chunk-MLTY3EE6.js";
|
|
18
|
+
import "./chunk-SJG22DAK.js";
|
|
19
19
|
import {
|
|
20
20
|
caps,
|
|
21
21
|
feedback,
|
|
22
22
|
makeColors,
|
|
23
23
|
makeTokens,
|
|
24
24
|
signal
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-FGHILN3D.js";
|
|
26
26
|
|
|
27
27
|
// src/commands/commit.ts
|
|
28
28
|
import fs from "fs";
|
|
@@ -16,9 +16,9 @@ import {
|
|
|
16
16
|
runConfig,
|
|
17
17
|
runConfigSet,
|
|
18
18
|
validateConfig
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
19
|
+
} from "./chunk-MLTY3EE6.js";
|
|
20
|
+
import "./chunk-SJG22DAK.js";
|
|
21
|
+
import "./chunk-FGHILN3D.js";
|
|
22
22
|
export {
|
|
23
23
|
DEFAULT_FEEDBACK_PATH,
|
|
24
24
|
KNOWN_LANGUAGES,
|
|
@@ -8,14 +8,14 @@ import {
|
|
|
8
8
|
gitHasCommits,
|
|
9
9
|
renderText,
|
|
10
10
|
runDoctor
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-DQF7RF37.js";
|
|
12
|
+
import "./chunk-FK3Q7UY2.js";
|
|
13
|
+
import "./chunk-VE2GVNNS.js";
|
|
14
|
+
import "./chunk-HAUTKVB5.js";
|
|
15
|
+
import "./chunk-5MXSJD3C.js";
|
|
16
|
+
import "./chunk-MLTY3EE6.js";
|
|
17
|
+
import "./chunk-SJG22DAK.js";
|
|
18
|
+
import "./chunk-FGHILN3D.js";
|
|
19
19
|
export {
|
|
20
20
|
collectChecks,
|
|
21
21
|
computeFileSizeOutliers,
|
|
@@ -13,13 +13,13 @@ import {
|
|
|
13
13
|
runEvolveCollect,
|
|
14
14
|
runEvolveRecord,
|
|
15
15
|
writeGeneration
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-ZRKOZQKP.js";
|
|
17
|
+
import "./chunk-IVEV5L7P.js";
|
|
18
|
+
import "./chunk-FK3Q7UY2.js";
|
|
19
|
+
import "./chunk-VE2GVNNS.js";
|
|
20
|
+
import "./chunk-MLTY3EE6.js";
|
|
21
|
+
import "./chunk-SJG22DAK.js";
|
|
22
|
+
import "./chunk-FGHILN3D.js";
|
|
23
23
|
export {
|
|
24
24
|
GOTCHA_RELATION_TYPES,
|
|
25
25
|
acquireLock,
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readRecords
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-FK3Q7UY2.js";
|
|
4
|
+
import "./chunk-VE2GVNNS.js";
|
|
5
|
+
import "./chunk-MLTY3EE6.js";
|
|
6
|
+
import "./chunk-SJG22DAK.js";
|
|
7
7
|
import {
|
|
8
8
|
caps,
|
|
9
9
|
makeColors,
|
|
10
10
|
sectionBox,
|
|
11
11
|
signal
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-FGHILN3D.js";
|
|
13
13
|
|
|
14
|
-
// src/commands/feedback.ts
|
|
14
|
+
// src/commands/feedback-log.ts
|
|
15
15
|
var SEVERITY_RANK = { high: 0, medium: 1, low: 2 };
|
|
16
16
|
function loadAwlFeedback(filter = {}) {
|
|
17
17
|
let records = readRecords().filter((r) => r.type === "awl-feedback");
|
|
@@ -60,7 +60,7 @@ function buildFeedbackReport(records) {
|
|
|
60
60
|
const prioritized = Object.entries(areas).filter(([, g]) => g.count >= 2).sort(([, a], [, b]) => b.count - a.count).map(([area]) => area);
|
|
61
61
|
return { collectedFrom: workitems.size, areas, prioritized };
|
|
62
62
|
}
|
|
63
|
-
function
|
|
63
|
+
function renderFeedbackLog(report, c) {
|
|
64
64
|
const color = makeColors(c.color);
|
|
65
65
|
const entries = Object.entries(report.areas).sort(([, a], [, b]) => b.count - a.count);
|
|
66
66
|
if (entries.length === 0) {
|
|
@@ -98,7 +98,7 @@ function renderFeedback(report, c) {
|
|
|
98
98
|
}
|
|
99
99
|
return sectionBox(`awl \uC790\uCCB4 \uD53C\uB4DC\uBC31 \xB7 \uC6CC\uD06C\uC544\uC774\uD15C ${report.collectedFrom}\uAC1C\uC5D0\uC11C \uC218\uC9D1`, out, c);
|
|
100
100
|
}
|
|
101
|
-
function
|
|
101
|
+
function runFeedbackLog(opts) {
|
|
102
102
|
if (isInvalidSince(opts.since)) {
|
|
103
103
|
process.stderr.write(
|
|
104
104
|
`
|
|
@@ -113,13 +113,13 @@ function runFeedback(opts) {
|
|
|
113
113
|
`);
|
|
114
114
|
return;
|
|
115
115
|
}
|
|
116
|
-
process.stdout.write(`${
|
|
116
|
+
process.stdout.write(`${renderFeedbackLog(report, caps())}
|
|
117
117
|
`);
|
|
118
118
|
}
|
|
119
119
|
export {
|
|
120
120
|
buildFeedbackReport,
|
|
121
121
|
isInvalidSince,
|
|
122
122
|
loadAwlFeedback,
|
|
123
|
-
|
|
124
|
-
|
|
123
|
+
renderFeedbackLog,
|
|
124
|
+
runFeedbackLog
|
|
125
125
|
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
loadGotchaList
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-ZRKOZQKP.js";
|
|
4
|
+
import "./chunk-IVEV5L7P.js";
|
|
5
|
+
import "./chunk-FK3Q7UY2.js";
|
|
6
|
+
import "./chunk-VE2GVNNS.js";
|
|
7
|
+
import "./chunk-MLTY3EE6.js";
|
|
8
|
+
import "./chunk-SJG22DAK.js";
|
|
9
9
|
import {
|
|
10
10
|
caps,
|
|
11
11
|
makeColors,
|
|
12
12
|
sectionBox
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-FGHILN3D.js";
|
|
14
14
|
|
|
15
15
|
// src/commands/gotchas.ts
|
|
16
16
|
function loadGotchas() {
|
|
@@ -1,29 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pipelineLanes
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-D5OINC3G.js";
|
|
7
|
-
import "./chunk-YC23SNVC.js";
|
|
8
|
-
import "./chunk-I3WXYD5C.js";
|
|
9
|
-
import "./chunk-I5SS6HFR.js";
|
|
10
|
-
import "./chunk-TQUXHTN5.js";
|
|
11
|
-
import "./chunk-SKLSWS5J.js";
|
|
12
|
-
import "./chunk-MBEY33YA.js";
|
|
13
|
-
import "./chunk-E6MULIMV.js";
|
|
14
|
-
import "./chunk-SOUTYYY4.js";
|
|
15
|
-
import "./chunk-QVP5DUND.js";
|
|
16
|
-
import "./chunk-UJ6CK5HC.js";
|
|
3
|
+
} from "./chunk-PUINOFOR.js";
|
|
4
|
+
import "./chunk-FK3Q7UY2.js";
|
|
5
|
+
import "./chunk-VE2GVNNS.js";
|
|
17
6
|
import {
|
|
18
7
|
resolveProjectRoot
|
|
19
|
-
} from "./chunk-
|
|
20
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-MLTY3EE6.js";
|
|
9
|
+
import "./chunk-SJG22DAK.js";
|
|
21
10
|
import {
|
|
22
11
|
caps,
|
|
23
12
|
makeColors,
|
|
24
13
|
sectionBox,
|
|
25
14
|
signal
|
|
26
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-FGHILN3D.js";
|
|
27
16
|
|
|
28
17
|
// src/commands/hold-recheck.ts
|
|
29
18
|
import fs from "fs";
|