@alecsibilia/luca 13.0.0-alpha.6 → 13.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/branch.mjs +6 -6
- package/dist/chunks/checks.mjs +6 -6
- package/dist/chunks/claim-verify.mjs +1 -1
- package/dist/chunks/classify.mjs +1 -1
- package/dist/chunks/confidence.mjs +6 -6
- package/dist/chunks/hook.mjs +4 -4
- package/dist/chunks/init.mjs +1 -1
- package/dist/chunks/phase.mjs +8 -8
- package/dist/chunks/pr-review.mjs +6 -6
- package/dist/chunks/preferences.mjs +6 -6
- package/dist/chunks/repair.mjs +1 -1
- package/dist/chunks/repo.mjs +6 -6
- package/dist/chunks/retro.mjs +5 -5
- package/dist/chunks/roadmap.mjs +6 -6
- package/dist/chunks/rules.mjs +5 -5
- package/dist/chunks/state.mjs +6 -6
- package/dist/chunks/stray-local-install.mjs +1 -1
- package/dist/chunks/telemetry.mjs +1 -1
- package/dist/chunks/todo.mjs +6 -6
- package/dist/chunks/vault-init.mjs +1 -1
- package/dist/chunks/verification.mjs +4 -4
- package/dist/chunks/workflow.mjs +6 -6
- package/dist/claude/.claude/agents/architect.md +1 -1
- package/dist/claude/.claude/agents/finalize.md +30 -31
- package/dist/claude/.claude/agents/research.md +2 -2
- package/dist/claude/.claude/agents/review.md +26 -16
- package/dist/claude/.claude/agents/triage.md +3 -4
- package/dist/claude/.claude/commands/lu.md +4 -4
- package/dist/claude/.claude/commands/milestone-new.md +1 -1
- package/dist/claude/.claude/hooks/context-refresher.ts +13 -18
- package/dist/claude/.claude/hooks/continuation-messages.ts +13 -18
- package/dist/claude/.claude/hooks/pipeline-guard.ts +13 -18
- package/dist/claude/skills/autopilot/SKILL.md +3 -2
- package/dist/claude/skills/gh-prepare/SKILL.md +1 -1
- package/dist/claude/skills/lu/SKILL.md +4 -4
- package/dist/claude/skills/phase-execute/SKILL.md +3 -2
- package/dist/claude/skills/quick/SKILL.md +4 -3
- package/dist/index.mjs +1 -1
- package/dist/shared/{luca.DZxAJmyM.mjs → luca.B8ydzQ8S.mjs} +17 -21
- package/dist/shared/{luca.0ssL9rcP.mjs → luca.BV4noBW7.mjs} +2 -2
- package/dist/shared/{luca.BiHycbFi.mjs → luca.BeGsLJkq.mjs} +3 -3
- package/dist/shared/{luca.Cf93m-DM.mjs → luca.CWsqOppt.mjs} +1 -1
- package/dist/shared/{luca.BTcIy-Mh.mjs → luca.CyQeErH2.mjs} +6 -5
- package/dist/shared/{luca.B-w_fieK.mjs → luca.Da5I_JVg.mjs} +1 -1
- package/dist/shared/{luca.D7w2gjQ5.mjs → luca.Dn7Gbruu.mjs} +2 -2
- package/dist/shared/{luca.lLQ2ZIAB.mjs → luca.ELUgu8AW.mjs} +8 -8
- package/package.json +1 -1
package/dist/chunks/branch.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
2
|
import 'zod';
|
|
3
|
-
import '../shared/luca.
|
|
3
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'node:path';
|
|
@@ -8,12 +8,12 @@ import 'node:crypto';
|
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:child_process';
|
|
11
|
-
import { r as runWriteHandler, u as lucaBranchGuardTool } from '../shared/luca.
|
|
12
|
-
import '../shared/luca.
|
|
11
|
+
import { r as runWriteHandler, u as lucaBranchGuardTool } from '../shared/luca.ELUgu8AW.mjs';
|
|
12
|
+
import '../shared/luca.CyQeErH2.mjs';
|
|
13
13
|
import 'node:os';
|
|
14
|
-
import '../shared/luca.
|
|
15
|
-
import '../shared/luca.
|
|
16
|
-
import '../shared/luca.
|
|
14
|
+
import '../shared/luca.CWsqOppt.mjs';
|
|
15
|
+
import '../shared/luca.Dn7Gbruu.mjs';
|
|
16
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
17
17
|
import '../shared/luca.CQ3g1xrD.mjs';
|
|
18
18
|
|
|
19
19
|
const guardCommand = defineCommand({
|
package/dist/chunks/checks.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
2
|
import 'zod';
|
|
3
|
-
import '../shared/luca.
|
|
3
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'node:path';
|
|
@@ -8,12 +8,12 @@ import 'node:crypto';
|
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:child_process';
|
|
11
|
-
import { f as readJsonPayload, r as runWriteHandler, t as lucaChecksRunTool } from '../shared/luca.
|
|
12
|
-
import '../shared/luca.
|
|
11
|
+
import { f as readJsonPayload, r as runWriteHandler, t as lucaChecksRunTool } from '../shared/luca.ELUgu8AW.mjs';
|
|
12
|
+
import '../shared/luca.CyQeErH2.mjs';
|
|
13
13
|
import 'node:os';
|
|
14
|
-
import '../shared/luca.
|
|
15
|
-
import '../shared/luca.
|
|
16
|
-
import '../shared/luca.
|
|
14
|
+
import '../shared/luca.CWsqOppt.mjs';
|
|
15
|
+
import '../shared/luca.Dn7Gbruu.mjs';
|
|
16
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
17
17
|
import '../shared/luca.CQ3g1xrD.mjs';
|
|
18
18
|
|
|
19
19
|
const runCommand = defineCommand({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
2
|
import { resolve } from 'pathe';
|
|
3
|
-
import '../shared/luca.
|
|
3
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
4
4
|
import { readFileSync, existsSync, readdirSync, statSync } from 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import { join } from 'node:path';
|
package/dist/chunks/classify.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
|
-
import { C as ClassifyComplexityInputSchema } from '../shared/luca.
|
|
2
|
+
import { C as ClassifyComplexityInputSchema } from '../shared/luca.B8ydzQ8S.mjs';
|
|
3
3
|
import 'node:fs';
|
|
4
4
|
import 'node:fs/promises';
|
|
5
5
|
import 'node:path';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
|
-
import '../shared/luca.
|
|
3
|
-
import { l as loadCurrentState, r as resolveActiveSlug } from '../shared/luca.
|
|
2
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
3
|
+
import { l as loadCurrentState, r as resolveActiveSlug } from '../shared/luca.CWsqOppt.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'node:path';
|
|
@@ -8,13 +8,13 @@ import 'node:crypto';
|
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:child_process';
|
|
11
|
-
import { b as renderConfidenceJournalMarkdown, r as readConfidenceJournal, g as getConfidenceSummary } from '../shared/luca.
|
|
11
|
+
import { b as renderConfidenceJournalMarkdown, r as readConfidenceJournal, g as getConfidenceSummary } from '../shared/luca.Dn7Gbruu.mjs';
|
|
12
12
|
import { l as logger } from '../shared/luca.dM-MKlNE.mjs';
|
|
13
13
|
import 'zod';
|
|
14
|
-
import { f as readJsonPayload, r as runWriteHandler, w as lucaConfidenceLogTool } from '../shared/luca.
|
|
15
|
-
import '../shared/luca.
|
|
14
|
+
import { f as readJsonPayload, r as runWriteHandler, w as lucaConfidenceLogTool } from '../shared/luca.ELUgu8AW.mjs';
|
|
15
|
+
import '../shared/luca.CyQeErH2.mjs';
|
|
16
16
|
import 'node:os';
|
|
17
|
-
import '../shared/luca.
|
|
17
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
18
18
|
import 'consola';
|
|
19
19
|
import '../shared/luca.CQ3g1xrD.mjs';
|
|
20
20
|
|
package/dist/chunks/hook.mjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
|
-
import { c as coarsePhaseOf, t as toLucaRelative, a as classifyWritePath, A as AUDIT_PATH_PATTERN, W as WAVE_FILE_RE } from '../shared/luca.
|
|
3
|
-
import { l as loadCurrentState, r as resolveActiveSlug } from '../shared/luca.
|
|
2
|
+
import { c as coarsePhaseOf, t as toLucaRelative, a as classifyWritePath, A as AUDIT_PATH_PATTERN, W as WAVE_FILE_RE } from '../shared/luca.B8ydzQ8S.mjs';
|
|
3
|
+
import { l as loadCurrentState, r as resolveActiveSlug } from '../shared/luca.CWsqOppt.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'node:path';
|
|
7
|
-
import { l as lucaStateClaimOwnerTool, S as STEP_ARTIFACTS } from '../shared/luca.
|
|
8
|
-
import { p as phasePathFor } from '../shared/luca.
|
|
7
|
+
import { l as lucaStateClaimOwnerTool, S as STEP_ARTIFACTS } from '../shared/luca.CyQeErH2.mjs';
|
|
8
|
+
import { p as phasePathFor } from '../shared/luca.Da5I_JVg.mjs';
|
|
9
9
|
import 'node:crypto';
|
|
10
10
|
import 'node:module';
|
|
11
11
|
import 'node:url';
|
package/dist/chunks/init.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { defineCommand, runMain } from 'citty';
|
|
|
3
3
|
import { existsSync, chmodSync } from 'node:fs';
|
|
4
4
|
import { mkdir, readFile, writeFile, readdir, copyFile } from 'node:fs/promises';
|
|
5
5
|
import { join, dirname, delimiter } from 'node:path';
|
|
6
|
-
import { l as lucaStateSchema } from '../shared/luca.
|
|
6
|
+
import { l as lucaStateSchema } from '../shared/luca.B8ydzQ8S.mjs';
|
|
7
7
|
import 'node:crypto';
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:url';
|
package/dist/chunks/phase.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
2
|
import 'zod';
|
|
3
|
-
import '../shared/luca.
|
|
3
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'node:path';
|
|
@@ -8,12 +8,12 @@ import 'node:crypto';
|
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:child_process';
|
|
11
|
-
import { r as runWriteHandler, c as lucaPhaseCurrentTool, d as lucaPhaseAdvanceTool, e as lucaPhaseArchiveTool } from '../shared/luca.
|
|
12
|
-
import '../shared/luca.
|
|
11
|
+
import { r as runWriteHandler, c as lucaPhaseCurrentTool, d as lucaPhaseAdvanceTool, e as lucaPhaseArchiveTool } from '../shared/luca.ELUgu8AW.mjs';
|
|
12
|
+
import '../shared/luca.CyQeErH2.mjs';
|
|
13
13
|
import 'node:os';
|
|
14
|
-
import '../shared/luca.
|
|
15
|
-
import '../shared/luca.
|
|
16
|
-
import '../shared/luca.
|
|
14
|
+
import '../shared/luca.CWsqOppt.mjs';
|
|
15
|
+
import '../shared/luca.Dn7Gbruu.mjs';
|
|
16
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
17
17
|
import '../shared/luca.CQ3g1xrD.mjs';
|
|
18
18
|
|
|
19
19
|
const currentCommand = defineCommand({
|
|
@@ -28,7 +28,7 @@ const currentCommand = defineCommand({
|
|
|
28
28
|
const advanceCommand = defineCommand({
|
|
29
29
|
meta: {
|
|
30
30
|
name: "advance",
|
|
31
|
-
description: "Advance the active roadmap phase by one (currentPhase \u2192 currentPhase+1), marking the completed phase done and the next in-progress. Call at the phase boundary (learn step) when more phases remain; the final phase routes to the
|
|
31
|
+
description: "Advance the active roadmap phase by one (currentPhase \u2192 currentPhase+1), marking the completed phase done and the next in-progress. Call at the phase boundary (learn step) when more phases remain; the final phase routes to the finalize step."
|
|
32
32
|
},
|
|
33
33
|
async run() {
|
|
34
34
|
await runWriteHandler("phase advance", lucaPhaseAdvanceTool, {});
|
|
@@ -37,7 +37,7 @@ const advanceCommand = defineCommand({
|
|
|
37
37
|
const archiveCommand = defineCommand({
|
|
38
38
|
meta: {
|
|
39
39
|
name: "archive",
|
|
40
|
-
description: "Archive all active phase directories (.luca/phases/<slug>/ \u2192 .luca/archive/<slug>/) at milestone close, so the next milestone starts from an empty phases/ dir. Idempotent; skips slugs already archived. Allowed only in the
|
|
40
|
+
description: "Archive all active phase directories (.luca/phases/<slug>/ \u2192 .luca/archive/<slug>/) at milestone close, so the next milestone starts from an empty phases/ dir. Idempotent; skips slugs already archived. Allowed only in the finalize step."
|
|
41
41
|
},
|
|
42
42
|
async run() {
|
|
43
43
|
await runWriteHandler("phase archive", lucaPhaseArchiveTool, {});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
2
|
import 'zod';
|
|
3
|
-
import '../shared/luca.
|
|
3
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'node:path';
|
|
@@ -8,12 +8,12 @@ import 'node:crypto';
|
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:child_process';
|
|
11
|
-
import { f as readJsonPayload, r as runWriteHandler, o as lucaPrReviewDetectConvergenceTool, p as lucaPrReviewFilterStaleTool, q as lucaPrReviewRegressionCheckTool } from '../shared/luca.
|
|
12
|
-
import '../shared/luca.
|
|
11
|
+
import { f as readJsonPayload, r as runWriteHandler, o as lucaPrReviewDetectConvergenceTool, p as lucaPrReviewFilterStaleTool, q as lucaPrReviewRegressionCheckTool } from '../shared/luca.ELUgu8AW.mjs';
|
|
12
|
+
import '../shared/luca.CyQeErH2.mjs';
|
|
13
13
|
import 'node:os';
|
|
14
|
-
import '../shared/luca.
|
|
15
|
-
import '../shared/luca.
|
|
16
|
-
import '../shared/luca.
|
|
14
|
+
import '../shared/luca.CWsqOppt.mjs';
|
|
15
|
+
import '../shared/luca.Dn7Gbruu.mjs';
|
|
16
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
17
17
|
import '../shared/luca.CQ3g1xrD.mjs';
|
|
18
18
|
|
|
19
19
|
const filterStaleCommand = defineCommand({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
2
|
import 'zod';
|
|
3
|
-
import '../shared/luca.
|
|
3
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'node:path';
|
|
@@ -8,12 +8,12 @@ import 'node:crypto';
|
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:child_process';
|
|
11
|
-
import { f as readJsonPayload, r as runWriteHandler, i as lucaPreferencesReadTool, j as lucaPreferencesWriteTool } from '../shared/luca.
|
|
12
|
-
import '../shared/luca.
|
|
11
|
+
import { f as readJsonPayload, r as runWriteHandler, i as lucaPreferencesReadTool, j as lucaPreferencesWriteTool } from '../shared/luca.ELUgu8AW.mjs';
|
|
12
|
+
import '../shared/luca.CyQeErH2.mjs';
|
|
13
13
|
import 'node:os';
|
|
14
|
-
import '../shared/luca.
|
|
15
|
-
import '../shared/luca.
|
|
16
|
-
import '../shared/luca.
|
|
14
|
+
import '../shared/luca.CWsqOppt.mjs';
|
|
15
|
+
import '../shared/luca.Dn7Gbruu.mjs';
|
|
16
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
17
17
|
import '../shared/luca.CQ3g1xrD.mjs';
|
|
18
18
|
|
|
19
19
|
const readCommand = defineCommand({
|
package/dist/chunks/repair.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { defineCommand } from 'citty';
|
|
|
2
2
|
import { existsSync } from 'node:fs';
|
|
3
3
|
import { readFile, rm } from 'node:fs/promises';
|
|
4
4
|
import { join } from 'node:path';
|
|
5
|
-
import { l as lucaStateSchema } from '../shared/luca.
|
|
5
|
+
import { l as lucaStateSchema } from '../shared/luca.B8ydzQ8S.mjs';
|
|
6
6
|
import 'node:crypto';
|
|
7
7
|
import 'node:module';
|
|
8
8
|
import 'node:url';
|
package/dist/chunks/repo.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
2
|
import 'zod';
|
|
3
|
-
import '../shared/luca.
|
|
3
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'node:path';
|
|
@@ -8,12 +8,12 @@ import 'node:crypto';
|
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:child_process';
|
|
11
|
-
import { f as readJsonPayload, r as runWriteHandler, s as lucaRepoCleanupApplyTool } from '../shared/luca.
|
|
12
|
-
import '../shared/luca.
|
|
11
|
+
import { f as readJsonPayload, r as runWriteHandler, s as lucaRepoCleanupApplyTool } from '../shared/luca.ELUgu8AW.mjs';
|
|
12
|
+
import '../shared/luca.CyQeErH2.mjs';
|
|
13
13
|
import 'node:os';
|
|
14
|
-
import '../shared/luca.
|
|
15
|
-
import '../shared/luca.
|
|
16
|
-
import '../shared/luca.
|
|
14
|
+
import '../shared/luca.CWsqOppt.mjs';
|
|
15
|
+
import '../shared/luca.Dn7Gbruu.mjs';
|
|
16
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
17
17
|
import '../shared/luca.CQ3g1xrD.mjs';
|
|
18
18
|
|
|
19
19
|
const cleanupApplyCommand = defineCommand({
|
package/dist/chunks/retro.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
|
-
import '../shared/luca.
|
|
2
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
3
3
|
import 'node:fs';
|
|
4
4
|
import 'node:fs/promises';
|
|
5
5
|
import 'node:path';
|
|
@@ -7,13 +7,13 @@ import 'node:crypto';
|
|
|
7
7
|
import 'node:module';
|
|
8
8
|
import 'node:url';
|
|
9
9
|
import 'node:child_process';
|
|
10
|
-
import { a as analyzeRun, g as gatherRunArtifacts, r as renderPostmortemMarkdown, c as computePostmortemExitCode } from '../shared/luca.
|
|
11
|
-
import { l as listRuns } from '../shared/luca.
|
|
10
|
+
import { a as analyzeRun, g as gatherRunArtifacts, r as renderPostmortemMarkdown, c as computePostmortemExitCode } from '../shared/luca.BeGsLJkq.mjs';
|
|
11
|
+
import { l as listRuns } from '../shared/luca.Dn7Gbruu.mjs';
|
|
12
12
|
import { l as logger } from '../shared/luca.dM-MKlNE.mjs';
|
|
13
13
|
import 'zod';
|
|
14
14
|
import 'node:os';
|
|
15
|
-
import '../shared/luca.
|
|
16
|
-
import '../shared/luca.
|
|
15
|
+
import '../shared/luca.BV4noBW7.mjs';
|
|
16
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
17
17
|
import 'pathe';
|
|
18
18
|
import 'consola';
|
|
19
19
|
|
package/dist/chunks/roadmap.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
2
|
import 'zod';
|
|
3
|
-
import '../shared/luca.
|
|
3
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'node:path';
|
|
@@ -8,12 +8,12 @@ import 'node:crypto';
|
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:child_process';
|
|
11
|
-
import { f as readJsonPayload, r as runWriteHandler, g as lucaRoadmapReadTool, h as lucaRoadmapCreateTool } from '../shared/luca.
|
|
12
|
-
import '../shared/luca.
|
|
11
|
+
import { f as readJsonPayload, r as runWriteHandler, g as lucaRoadmapReadTool, h as lucaRoadmapCreateTool } from '../shared/luca.ELUgu8AW.mjs';
|
|
12
|
+
import '../shared/luca.CyQeErH2.mjs';
|
|
13
13
|
import 'node:os';
|
|
14
|
-
import '../shared/luca.
|
|
15
|
-
import '../shared/luca.
|
|
16
|
-
import '../shared/luca.
|
|
14
|
+
import '../shared/luca.CWsqOppt.mjs';
|
|
15
|
+
import '../shared/luca.Dn7Gbruu.mjs';
|
|
16
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
17
17
|
import '../shared/luca.CQ3g1xrD.mjs';
|
|
18
18
|
|
|
19
19
|
const readCommand = defineCommand({
|
package/dist/chunks/rules.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
2
|
import { join as join$1 } from 'pathe';
|
|
3
|
-
import '../shared/luca.
|
|
3
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
4
4
|
import { existsSync, readdirSync, statSync, readFileSync } from 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import { isAbsolute, resolve, join, extname } from 'node:path';
|
|
@@ -8,13 +8,13 @@ import 'node:crypto';
|
|
|
8
8
|
import { createRequire } from 'node:module';
|
|
9
9
|
import { pathToFileURL } from 'node:url';
|
|
10
10
|
import 'node:child_process';
|
|
11
|
-
import { a as analyzeRun, g as gatherRunArtifacts } from '../shared/luca.
|
|
12
|
-
import { l as listRuns } from '../shared/luca.
|
|
11
|
+
import { a as analyzeRun, g as gatherRunArtifacts } from '../shared/luca.BeGsLJkq.mjs';
|
|
12
|
+
import { l as listRuns } from '../shared/luca.Dn7Gbruu.mjs';
|
|
13
13
|
import { l as logger } from '../shared/luca.dM-MKlNE.mjs';
|
|
14
14
|
import 'zod';
|
|
15
15
|
import 'node:os';
|
|
16
|
-
import '../shared/luca.
|
|
17
|
-
import '../shared/luca.
|
|
16
|
+
import '../shared/luca.BV4noBW7.mjs';
|
|
17
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
18
18
|
import 'consola';
|
|
19
19
|
|
|
20
20
|
let tsModuleCache = void 0;
|
package/dist/chunks/state.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
2
|
import 'zod';
|
|
3
|
-
import '../shared/luca.
|
|
3
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'node:path';
|
|
@@ -8,12 +8,12 @@ import 'node:crypto';
|
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:child_process';
|
|
11
|
-
import { r as runWriteHandler, l as lucaStateSetCurrentPhaseTool, a as lucaStateAdvanceTool, b as lucaStateReadTool } from '../shared/luca.
|
|
12
|
-
import { l as lucaStateClaimOwnerTool } from '../shared/luca.
|
|
11
|
+
import { r as runWriteHandler, l as lucaStateSetCurrentPhaseTool, a as lucaStateAdvanceTool, b as lucaStateReadTool } from '../shared/luca.ELUgu8AW.mjs';
|
|
12
|
+
import { l as lucaStateClaimOwnerTool } from '../shared/luca.CyQeErH2.mjs';
|
|
13
13
|
import 'node:os';
|
|
14
|
-
import '../shared/luca.
|
|
15
|
-
import '../shared/luca.
|
|
16
|
-
import '../shared/luca.
|
|
14
|
+
import '../shared/luca.CWsqOppt.mjs';
|
|
15
|
+
import '../shared/luca.Dn7Gbruu.mjs';
|
|
16
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
17
17
|
import '../shared/luca.CQ3g1xrD.mjs';
|
|
18
18
|
|
|
19
19
|
const readCommand = defineCommand({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync, lstatSync } from 'node:fs';
|
|
2
2
|
import { rm, writeFile, readdir, rmdir } from 'node:fs/promises';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
-
import '../shared/luca.
|
|
4
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
5
5
|
import 'node:crypto';
|
|
6
6
|
import 'node:module';
|
|
7
7
|
import 'node:url';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
|
-
import { R as RunIdSchema, L as LUCA_DIR_ROOT, T as TelemetryRecordSchema } from '../shared/luca.
|
|
2
|
+
import { R as RunIdSchema, L as LUCA_DIR_ROOT, T as TelemetryRecordSchema } from '../shared/luca.B8ydzQ8S.mjs';
|
|
3
3
|
import { mkdirSync, appendFileSync } from 'node:fs';
|
|
4
4
|
import 'node:fs/promises';
|
|
5
5
|
import { join, dirname } from 'node:path';
|
package/dist/chunks/todo.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
2
|
import 'zod';
|
|
3
|
-
import '../shared/luca.
|
|
3
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'node:path';
|
|
@@ -8,12 +8,12 @@ import 'node:crypto';
|
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:child_process';
|
|
11
|
-
import { f as readJsonPayload, r as runWriteHandler, k as lucaTodoUpdateTool, m as lucaTodoListTool, n as lucaTodoAddTool } from '../shared/luca.
|
|
12
|
-
import '../shared/luca.
|
|
11
|
+
import { f as readJsonPayload, r as runWriteHandler, k as lucaTodoUpdateTool, m as lucaTodoListTool, n as lucaTodoAddTool } from '../shared/luca.ELUgu8AW.mjs';
|
|
12
|
+
import '../shared/luca.CyQeErH2.mjs';
|
|
13
13
|
import 'node:os';
|
|
14
|
-
import '../shared/luca.
|
|
15
|
-
import '../shared/luca.
|
|
16
|
-
import '../shared/luca.
|
|
14
|
+
import '../shared/luca.CWsqOppt.mjs';
|
|
15
|
+
import '../shared/luca.Dn7Gbruu.mjs';
|
|
16
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
17
17
|
import '../shared/luca.CQ3g1xrD.mjs';
|
|
18
18
|
|
|
19
19
|
const addCommand = defineCommand({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
|
-
import '../shared/luca.
|
|
3
|
-
import { l as loadCurrentState, r as resolveActiveSlug } from '../shared/luca.
|
|
2
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
3
|
+
import { l as loadCurrentState, r as resolveActiveSlug } from '../shared/luca.CWsqOppt.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'node:path';
|
|
@@ -8,11 +8,11 @@ import 'node:crypto';
|
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:child_process';
|
|
11
|
-
import { l as listPhaseSlugs, r as readVerificationResult, a as aggregateVerificationResults } from '../shared/luca.
|
|
11
|
+
import { l as listPhaseSlugs, r as readVerificationResult, a as aggregateVerificationResults } from '../shared/luca.BV4noBW7.mjs';
|
|
12
12
|
import { l as logger } from '../shared/luca.dM-MKlNE.mjs';
|
|
13
13
|
import 'zod';
|
|
14
14
|
import 'node:os';
|
|
15
|
-
import '../shared/luca.
|
|
15
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
16
16
|
import 'pathe';
|
|
17
17
|
import 'consola';
|
|
18
18
|
|
package/dist/chunks/workflow.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineCommand } from 'citty';
|
|
2
2
|
import 'zod';
|
|
3
|
-
import '../shared/luca.
|
|
3
|
+
import '../shared/luca.B8ydzQ8S.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:fs/promises';
|
|
6
6
|
import 'node:path';
|
|
@@ -8,12 +8,12 @@ import 'node:crypto';
|
|
|
8
8
|
import 'node:module';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'node:child_process';
|
|
11
|
-
import { r as runWriteHandler, v as lucaWorkflowResetTool } from '../shared/luca.
|
|
12
|
-
import '../shared/luca.
|
|
11
|
+
import { r as runWriteHandler, v as lucaWorkflowResetTool } from '../shared/luca.ELUgu8AW.mjs';
|
|
12
|
+
import '../shared/luca.CyQeErH2.mjs';
|
|
13
13
|
import 'node:os';
|
|
14
|
-
import '../shared/luca.
|
|
15
|
-
import '../shared/luca.
|
|
16
|
-
import '../shared/luca.
|
|
14
|
+
import '../shared/luca.CWsqOppt.mjs';
|
|
15
|
+
import '../shared/luca.Dn7Gbruu.mjs';
|
|
16
|
+
import '../shared/luca.Da5I_JVg.mjs';
|
|
17
17
|
import '../shared/luca.CQ3g1xrD.mjs';
|
|
18
18
|
|
|
19
19
|
const resetCommand = defineCommand({
|
|
@@ -342,7 +342,7 @@ If changes requested, revise and re-submit. In **full-auto**, skip approval —
|
|
|
342
342
|
When the plan is approved (or auto-approved in full-auto):
|
|
343
343
|
|
|
344
344
|
1. The plan file is the canonical `.luca/phases/<currentPhaseSlug>/plan.md` written via `luca` artifact write semantics. Downstream stages resolve it deterministically from the phase slug and the LUCA_DIR_CONTRACT; no separate `planFile` state field is needed.
|
|
345
|
-
2. Transition to **
|
|
345
|
+
2. Transition to the **plan** step via `luca state advance --to-step plan` (the only legal next step from `architect`; planning then flows plan → plan-review → execute per the pipeline-transitions table).
|
|
346
346
|
|
|
347
347
|
---
|
|
348
348
|
|
|
@@ -25,7 +25,12 @@ color: "#6366f1"
|
|
|
25
25
|
|
|
26
26
|
You are **Luca's finalization agent**. Handle milestone boundaries, quality assurance, gap detection, and session cleanup. Ensure completed work is properly packaged, documented, and delivered.
|
|
27
27
|
|
|
28
|
-
You receive control from **Review mode
|
|
28
|
+
You receive control from **Review mode** — on entry the pipeline is at the `learn` step. Read the latest `.luca/phases/<currentPhaseSlug>/audits/<reviewer>.md` files for audit results and remaining advisory items.
|
|
29
|
+
|
|
30
|
+
**Ensure the pipeline is at the `finalize` step** before doing anything else — the rest of this mode runs under the FINALIZING phase, whose stage-gate permits the commits and `gh pr create` that PR creation needs (REVIEWING, where `learn` lives, blocks them). Entry may be at `learn` (this mode self-driving from review's clean route) **or** already at `finalize` (the `/lu` orchestrator advances `learn → finalize` before spawning this mode). Run `luca state read` and advance **only if needed** — `finalize → finalize` is an illegal self-transition that would error:
|
|
31
|
+
|
|
32
|
+
- `pipelineStep` is `learn` → `luca state advance --to-step finalize`
|
|
33
|
+
- `pipelineStep` is already `finalize` → skip the advance; proceed.
|
|
29
34
|
|
|
30
35
|
---
|
|
31
36
|
|
|
@@ -36,8 +41,8 @@ You receive control from **Review mode**. Read the latest `.luca/phases/<current
|
|
|
36
41
|
3. **Gap detection** — verify all planned work was completed; reconcile `plan.md` against shipped code.
|
|
37
42
|
4. **Postmortem gate** — block on critical pipeline violations before PR.
|
|
38
43
|
5. **PR creation** — write changeset post-convergence, run claim verifier, then create pull request.
|
|
39
|
-
6. **
|
|
40
|
-
7. **Session cleanup** — release locks, summarize work
|
|
44
|
+
6. **Surface remaining work** — if the roadmap has phases beyond this milestone, summarize them for a fresh `/lu` run (one run finalizes one milestone).
|
|
45
|
+
7. **Session cleanup** — release locks, summarize work, reset to `idle`.
|
|
41
46
|
|
|
42
47
|
> **Ordering matters.** Gap detection, postmortem gate, and claim verifier all run *before* `gh pr create`. The changeset is written **after** review iteration converges, not before — pre-convergence drafts are the #1 source of doc drift. A failing gate must re-enter the pipeline rather than ship a PR.
|
|
43
48
|
|
|
@@ -288,32 +293,26 @@ If it returns `code: CLAIM_VERIFICATION_FAILED`:
|
|
|
288
293
|
|
|
289
294
|
If `--skip-branch` was set, skip.
|
|
290
295
|
|
|
291
|
-
## Step 6:
|
|
296
|
+
## Step 6: Surface Remaining Work
|
|
292
297
|
|
|
293
|
-
Check if `.luca/roadmap.md` has
|
|
298
|
+
One run finalizes **one milestone** — there is no in-session cross-milestone loop. Check if `.luca/roadmap.md` has phases beyond the milestone just shipped:
|
|
294
299
|
|
|
295
300
|
```
|
|
296
|
-
if roadmap.hasRemainingPhases
|
|
297
|
-
1.
|
|
298
|
-
2.
|
|
299
|
-
3.
|
|
300
|
-
4. Transition back to Architect mode (with research from previous milestone).
|
|
301
|
-
else if roadmap.hasRemainingPhases AND milestonesThisSession >= 3:
|
|
302
|
-
1. Report: "Session milestone limit reached (3)".
|
|
303
|
-
2. Summarize remaining work.
|
|
304
|
-
3. Proceed to cleanup.
|
|
301
|
+
if roadmap.hasRemainingPhases:
|
|
302
|
+
1. Summarize the remaining phases (the next milestone's scope).
|
|
303
|
+
2. Create issues / note the continuation point so nothing is lost.
|
|
304
|
+
3. Tell the user to run /lu again to start the next milestone.
|
|
305
305
|
else:
|
|
306
|
-
1. All
|
|
307
|
-
2. Proceed to cleanup.
|
|
306
|
+
1. All planned work complete.
|
|
308
307
|
```
|
|
309
308
|
|
|
310
|
-
|
|
309
|
+
Either way, proceed to cleanup — the run ends by resetting to `idle`.
|
|
311
310
|
|
|
312
311
|
## Step 7: Session Cleanup
|
|
313
312
|
|
|
314
313
|
### Release Pipeline Lock
|
|
315
314
|
|
|
316
|
-
Pipeline-lock concurrent-run protection is a v14 carry-forward (CF2) — the v13 `luca` CLI does not expose a lock-release subcommand. The session ends cleanly when the workflow
|
|
315
|
+
Pipeline-lock concurrent-run protection is a v14 carry-forward (CF2) — the v13 `luca` CLI does not expose a lock-release subcommand. The session ends cleanly when the workflow resets to the `idle` step (the final transition below); no explicit release is required today.
|
|
317
316
|
|
|
318
317
|
### Clean Up Artifacts
|
|
319
318
|
|
|
@@ -385,7 +384,13 @@ When finalization is complete:
|
|
|
385
384
|
3. Pipeline lock released.
|
|
386
385
|
4. Final summary reported.
|
|
387
386
|
|
|
388
|
-
|
|
387
|
+
Then reset the pipeline for the next run:
|
|
388
|
+
|
|
389
|
+
```
|
|
390
|
+
luca state advance --to-step idle
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
The session is now complete. To start the next milestone, run `/lu` again.
|
|
389
394
|
|
|
390
395
|
---
|
|
391
396
|
|
|
@@ -397,23 +402,17 @@ You are the **final stage** of the Luca autonomous pipeline:
|
|
|
397
402
|
Triage → Research → Architect → Execute → Review → [Finalize]
|
|
398
403
|
```
|
|
399
404
|
|
|
400
|
-
###
|
|
405
|
+
### Re-entry on gaps
|
|
401
406
|
|
|
402
|
-
If
|
|
403
|
-
|
|
404
|
-
```
|
|
405
|
-
luca state advance --to-step architect
|
|
406
|
-
```
|
|
407
|
-
|
|
408
|
-
Loops back to Architect for next milestone cycle.
|
|
407
|
+
If gap detection (Step 3) or the postmortem gate (Step 4) blocks, re-enter the pipeline from the `finalize` step — `--to-step execute` (fix) or `--to-step review` (re-audit). The re-entered loop must converge before finalize runs again.
|
|
409
408
|
|
|
410
409
|
### End of Pipeline
|
|
411
410
|
|
|
412
|
-
When
|
|
413
|
-
1.
|
|
414
|
-
2.
|
|
411
|
+
When finalization is complete:
|
|
412
|
+
1. Report final summary.
|
|
413
|
+
2. Reset to `idle` via `luca state advance --to-step idle` (see Completion above).
|
|
415
414
|
|
|
416
|
-
Pipeline-lock release is a v14 carry-forward (CF2); the v13 `luca` CLI has no separate lock-release subcommand.
|
|
415
|
+
One run finalizes one milestone. If the roadmap has further phases, the user starts the next milestone with a fresh `/lu` run. Pipeline-lock release is a v14 carry-forward (CF2); the v13 `luca` CLI has no separate lock-release subcommand.
|
|
417
416
|
|
|
418
417
|
### TODO Backlog Cleanup
|
|
419
418
|
|
|
@@ -257,7 +257,7 @@ When research graduates (all quality dimensions pass or max iterations reached):
|
|
|
257
257
|
|
|
258
258
|
1. Store findings in MuninnDB and create backlog todos.
|
|
259
259
|
2. Report research summary, quality scores, and capture summary.
|
|
260
|
-
3. Transition to **
|
|
260
|
+
3. Transition to the **discuss** step via `luca state advance --to-step discuss` (the only legal next step from `research`; discussion gathers user decisions before architecture).
|
|
261
261
|
|
|
262
262
|
---
|
|
263
263
|
|
|
@@ -271,7 +271,7 @@ Triage → [Research] → Architect → Execute → Review → Finalize
|
|
|
271
271
|
|
|
272
272
|
### Automatic Mode Transition
|
|
273
273
|
|
|
274
|
-
Transition happens automatically via `luca state advance --to-step
|
|
274
|
+
Transition happens automatically via `luca state advance --to-step discuss`. Do NOT wait for user confirmation unless oversight is `human-in-loop`.
|
|
275
275
|
|
|
276
276
|
### Context From Previous Stages
|
|
277
277
|
|