@harness-engineering/cli 1.25.3 → 1.25.5

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 (115) hide show
  1. package/dist/agents/skills/claude-code/enforce-architecture/SKILL.md +12 -0
  2. package/dist/agents/skills/claude-code/harness-api-design/SKILL.md +12 -0
  3. package/dist/agents/skills/claude-code/harness-architecture-advisor/SKILL.md +12 -0
  4. package/dist/agents/skills/claude-code/harness-auth/SKILL.md +12 -0
  5. package/dist/agents/skills/claude-code/harness-code-review/SKILL.md +30 -6
  6. package/dist/agents/skills/claude-code/harness-database/SKILL.md +12 -0
  7. package/dist/agents/skills/claude-code/harness-debugging/SKILL.md +38 -6
  8. package/dist/agents/skills/claude-code/harness-deployment/SKILL.md +12 -0
  9. package/dist/agents/skills/claude-code/harness-execution/SKILL.md +30 -6
  10. package/dist/agents/skills/claude-code/harness-planning/SKILL.md +20 -9
  11. package/dist/agents/skills/claude-code/harness-pre-commit-review/SKILL.md +59 -6
  12. package/dist/agents/skills/claude-code/harness-refactoring/SKILL.md +28 -7
  13. package/dist/agents/skills/claude-code/harness-security-scan/SKILL.md +12 -0
  14. package/dist/agents/skills/claude-code/harness-skill-authoring/SKILL.md +43 -8
  15. package/dist/agents/skills/claude-code/harness-soundness-review/SKILL.md +59 -7
  16. package/dist/agents/skills/claude-code/harness-tdd/SKILL.md +21 -0
  17. package/dist/agents/skills/claude-code/harness-verification/SKILL.md +31 -6
  18. package/dist/agents/skills/codex/enforce-architecture/SKILL.md +12 -0
  19. package/dist/agents/skills/codex/harness-api-design/SKILL.md +12 -0
  20. package/dist/agents/skills/codex/harness-architecture-advisor/SKILL.md +12 -0
  21. package/dist/agents/skills/codex/harness-auth/SKILL.md +12 -0
  22. package/dist/agents/skills/codex/harness-code-review/SKILL.md +30 -6
  23. package/dist/agents/skills/codex/harness-database/SKILL.md +12 -0
  24. package/dist/agents/skills/codex/harness-debugging/SKILL.md +38 -6
  25. package/dist/agents/skills/codex/harness-deployment/SKILL.md +12 -0
  26. package/dist/agents/skills/codex/harness-execution/SKILL.md +30 -6
  27. package/dist/agents/skills/codex/harness-planning/SKILL.md +20 -9
  28. package/dist/agents/skills/codex/harness-pre-commit-review/SKILL.md +59 -6
  29. package/dist/agents/skills/codex/harness-refactoring/SKILL.md +28 -7
  30. package/dist/agents/skills/codex/harness-security-scan/SKILL.md +12 -0
  31. package/dist/agents/skills/codex/harness-skill-authoring/SKILL.md +43 -8
  32. package/dist/agents/skills/codex/harness-soundness-review/SKILL.md +59 -7
  33. package/dist/agents/skills/codex/harness-tdd/SKILL.md +21 -0
  34. package/dist/agents/skills/codex/harness-verification/SKILL.md +31 -6
  35. package/dist/agents/skills/cursor/enforce-architecture/SKILL.md +12 -0
  36. package/dist/agents/skills/cursor/harness-api-design/SKILL.md +12 -0
  37. package/dist/agents/skills/cursor/harness-architecture-advisor/SKILL.md +12 -0
  38. package/dist/agents/skills/cursor/harness-auth/SKILL.md +12 -0
  39. package/dist/agents/skills/cursor/harness-code-review/SKILL.md +30 -6
  40. package/dist/agents/skills/cursor/harness-database/SKILL.md +12 -0
  41. package/dist/agents/skills/cursor/harness-debugging/SKILL.md +38 -6
  42. package/dist/agents/skills/cursor/harness-deployment/SKILL.md +12 -0
  43. package/dist/agents/skills/cursor/harness-execution/SKILL.md +30 -6
  44. package/dist/agents/skills/cursor/harness-planning/SKILL.md +20 -9
  45. package/dist/agents/skills/cursor/harness-pre-commit-review/SKILL.md +59 -6
  46. package/dist/agents/skills/cursor/harness-refactoring/SKILL.md +28 -7
  47. package/dist/agents/skills/cursor/harness-security-scan/SKILL.md +12 -0
  48. package/dist/agents/skills/cursor/harness-skill-authoring/SKILL.md +43 -8
  49. package/dist/agents/skills/cursor/harness-soundness-review/SKILL.md +59 -7
  50. package/dist/agents/skills/cursor/harness-tdd/SKILL.md +21 -0
  51. package/dist/agents/skills/cursor/harness-verification/SKILL.md +31 -6
  52. package/dist/agents/skills/gemini-cli/enforce-architecture/SKILL.md +12 -0
  53. package/dist/agents/skills/gemini-cli/harness-api-design/SKILL.md +12 -0
  54. package/dist/agents/skills/gemini-cli/harness-architecture-advisor/SKILL.md +12 -0
  55. package/dist/agents/skills/gemini-cli/harness-auth/SKILL.md +12 -0
  56. package/dist/agents/skills/gemini-cli/harness-code-review/SKILL.md +30 -6
  57. package/dist/agents/skills/gemini-cli/harness-database/SKILL.md +12 -0
  58. package/dist/agents/skills/gemini-cli/harness-debugging/SKILL.md +38 -6
  59. package/dist/agents/skills/gemini-cli/harness-deployment/SKILL.md +12 -0
  60. package/dist/agents/skills/gemini-cli/harness-execution/SKILL.md +30 -6
  61. package/dist/agents/skills/gemini-cli/harness-planning/SKILL.md +20 -9
  62. package/dist/agents/skills/gemini-cli/harness-pre-commit-review/SKILL.md +59 -6
  63. package/dist/agents/skills/gemini-cli/harness-refactoring/SKILL.md +28 -7
  64. package/dist/agents/skills/gemini-cli/harness-security-scan/SKILL.md +12 -0
  65. package/dist/agents/skills/gemini-cli/harness-skill-authoring/SKILL.md +43 -8
  66. package/dist/agents/skills/gemini-cli/harness-soundness-review/SKILL.md +59 -7
  67. package/dist/agents/skills/gemini-cli/harness-tdd/SKILL.md +21 -0
  68. package/dist/agents/skills/gemini-cli/harness-verification/SKILL.md +31 -6
  69. package/dist/{agents-md-MCUM4SIZ.js → agents-md-COWXFHR5.js} +2 -2
  70. package/dist/{architecture-HNIO6AUX.js → architecture-EYPG4ZMC.js} +3 -3
  71. package/dist/{assess-project-6MV5TNY3.js → assess-project-JQPEVJIA.js} +1 -1
  72. package/dist/bin/harness-mcp.js +13 -13
  73. package/dist/bin/harness.js +23 -112
  74. package/dist/{check-phase-gate-VCBQHQAC.js → check-phase-gate-AJRMDGYW.js} +3 -3
  75. package/dist/{chunk-6VZQJ5CX.js → chunk-24ZGGCIW.js} +1 -1
  76. package/dist/{chunk-GEEYCQDS.js → chunk-2OIPQMU5.js} +5 -5
  77. package/dist/{chunk-6WFSSYZG.js → chunk-2OM5TA56.js} +211 -56
  78. package/dist/{chunk-FES2YEQU.js → chunk-2TFT7XRX.js} +3 -3
  79. package/dist/{chunk-AT74HEQM.js → chunk-2X336Q7J.js} +1 -1
  80. package/dist/{chunk-IAMXXLUT.js → chunk-2X42NMPD.js} +71 -68
  81. package/dist/{chunk-WIQA4BSH.js → chunk-5R2LFUU3.js} +1 -1
  82. package/dist/{chunk-FIQL2HND.js → chunk-BVRWLK5U.js} +2 -2
  83. package/dist/{chunk-F23H3U5U.js → chunk-HWLHJSJQ.js} +2 -2
  84. package/dist/{chunk-CXJTVICF.js → chunk-JD4FGVHH.js} +2 -2
  85. package/dist/{chunk-FSNPBT74.js → chunk-KDHZAL4B.js} +1 -1
  86. package/dist/{chunk-MI6MA6OP.js → chunk-KHMKAC6E.js} +71 -32
  87. package/dist/{chunk-UQZBZINS.js → chunk-KVK3KAFQ.js} +6 -6
  88. package/dist/{chunk-P7PANON5.js → chunk-KWQTMJ3B.js} +1 -1
  89. package/dist/{chunk-XTITAVUR.js → chunk-KXUCIAM4.js} +1 -1
  90. package/dist/{chunk-TYV4EUAD.js → chunk-PVRKHUTA.js} +6 -6
  91. package/dist/{chunk-YTP2UDPV.js → chunk-Q6ZEUMOF.js} +3 -3
  92. package/dist/{chunk-UV3BZMGT.js → chunk-UB6NZNJJ.js} +2 -2
  93. package/dist/{chunk-47N6R2F4.js → chunk-UI6NWJJK.js} +1 -1
  94. package/dist/{chunk-EHRZMOQ2.js → chunk-WN6YIQ66.js} +1 -1
  95. package/dist/{chunk-M55DGGF3.js → chunk-YFIALHGI.js} +3 -3
  96. package/dist/{chunk-5BQ5BOJL.js → chunk-ZYYVDA5K.js} +1 -1
  97. package/dist/{ci-workflow-RTM7VVTD.js → ci-workflow-35KBJC2U.js} +2 -2
  98. package/dist/{dist-WCSJHQPK.js → dist-UMONICND.js} +15 -1
  99. package/dist/{docs-UBOGGHTY.js → docs-T5J2AJH6.js} +3 -3
  100. package/dist/{engine-MJJAP5CH.js → engine-KWHV2LUX.js} +2 -2
  101. package/dist/{entropy-EMSXF2PX.js → entropy-GEBHWBPR.js} +2 -2
  102. package/dist/{feedback-ZLUX72HD.js → feedback-I4QPE3RI.js} +1 -1
  103. package/dist/{generate-agent-definitions-AWLPJ27C.js → generate-agent-definitions-3XNR77ET.js} +3 -3
  104. package/dist/hooks/telemetry-reporter.js +22 -1
  105. package/dist/index.d.ts +5 -5
  106. package/dist/index.js +22 -22
  107. package/dist/{loader-JVSJZSWZ.js → loader-MN2CZXPG.js} +2 -2
  108. package/dist/{mcp-PMMA53ZX.js → mcp-XSU77BZY.js} +13 -13
  109. package/dist/{performance-7AGWJUY4.js → performance-7I5MCEFP.js} +3 -3
  110. package/dist/{review-pipeline-ZWVQJTJX.js → review-pipeline-PWPKJXSN.js} +2 -2
  111. package/dist/{runtime-D6YUQPP2.js → runtime-ZYEFJSGS.js} +2 -2
  112. package/dist/{security-JLZUAQYT.js → security-OVTGS7DL.js} +1 -1
  113. package/dist/{validate-TIIHRPMA.js → validate-ACIP5BUO.js} +3 -3
  114. package/dist/{validate-cross-check-ZOWFA3DB.js → validate-cross-check-OWITNCHN.js} +2 -2
  115. package/package.json +5 -5
@@ -5,41 +5,41 @@ import {
5
5
  handleCreateSelfReview,
6
6
  handleRequestPeerReview,
7
7
  requestPeerReviewDefinition
8
- } from "./chunk-FES2YEQU.js";
8
+ } from "./chunk-2TFT7XRX.js";
9
9
  import {
10
10
  getSecurityTrendsDefinition,
11
11
  handleGetSecurityTrends,
12
12
  handleRunSecurityScan,
13
13
  runSecurityScanDefinition
14
- } from "./chunk-UV3BZMGT.js";
14
+ } from "./chunk-UB6NZNJJ.js";
15
15
  import {
16
16
  handleRunCodeReview,
17
17
  runCodeReviewDefinition,
18
18
  sortFindingsBySeverity
19
- } from "./chunk-F23H3U5U.js";
19
+ } from "./chunk-HWLHJSJQ.js";
20
20
  import {
21
21
  assessProjectDefinition,
22
22
  handleAssessProject
23
- } from "./chunk-UQZBZINS.js";
23
+ } from "./chunk-KVK3KAFQ.js";
24
24
  import {
25
25
  handleValidateProject,
26
26
  validateToolDefinition
27
- } from "./chunk-YTP2UDPV.js";
27
+ } from "./chunk-Q6ZEUMOF.js";
28
28
  import {
29
29
  checkDependenciesDefinition,
30
30
  handleCheckDependencies
31
- } from "./chunk-CXJTVICF.js";
31
+ } from "./chunk-JD4FGVHH.js";
32
32
  import {
33
33
  resolveProjectConfig
34
- } from "./chunk-47N6R2F4.js";
34
+ } from "./chunk-UI6NWJJK.js";
35
35
  import {
36
36
  checkDocsDefinition,
37
37
  handleCheckDocs
38
- } from "./chunk-GEEYCQDS.js";
38
+ } from "./chunk-2OIPQMU5.js";
39
39
  import {
40
40
  detectEntropyDefinition,
41
41
  handleDetectEntropy
42
- } from "./chunk-M55DGGF3.js";
42
+ } from "./chunk-YFIALHGI.js";
43
43
  import {
44
44
  checkPerformanceDefinition,
45
45
  getCriticalPathsDefinition,
@@ -49,7 +49,7 @@ import {
49
49
  handleGetPerfBaselines,
50
50
  handleUpdatePerfBaselines,
51
51
  updatePerfBaselinesDefinition
52
- } from "./chunk-TYV4EUAD.js";
52
+ } from "./chunk-PVRKHUTA.js";
53
53
  import {
54
54
  resultToMcpResponse
55
55
  } from "./chunk-EPUKTTJZ.js";
@@ -58,7 +58,7 @@ import {
58
58
  } from "./chunk-W6Y7ZW3Y.js";
59
59
  import {
60
60
  resolveConfig
61
- } from "./chunk-WIQA4BSH.js";
61
+ } from "./chunk-5R2LFUU3.js";
62
62
  import {
63
63
  GENERATED_HEADER_CLAUDE,
64
64
  GENERATED_HEADER_CODEX,
@@ -98,7 +98,7 @@ import {
98
98
  scanForInjection,
99
99
  serializeEnvelope,
100
100
  writeTaint
101
- } from "./chunk-MI6MA6OP.js";
101
+ } from "./chunk-KHMKAC6E.js";
102
102
  import {
103
103
  Err,
104
104
  Ok
@@ -280,11 +280,14 @@ function persistToolingConfig(targetDir, resolveResult, framework) {
280
280
  function ensureHarnessGitignore(targetDir) {
281
281
  const gitignorePath = path.join(targetDir, ".harness", ".gitignore");
282
282
  const content = `# Runtime artifacts (generated, ephemeral, session-scoped)
283
+ analyses/
283
284
  graph/
284
285
  debug/
285
286
  hooks/
287
+ interactions/
286
288
  security/
287
289
  sessions/
290
+ workspaces/
288
291
  state.json
289
292
  state/
290
293
  handoff.json
@@ -692,7 +695,7 @@ ${skippedMsg}`
692
695
  async function handleInitProject(input) {
693
696
  const i = input;
694
697
  try {
695
- const { TemplateEngine } = await import("./engine-MJJAP5CH.js");
698
+ const { TemplateEngine } = await import("./engine-KWHV2LUX.js");
696
699
  const engine = new TemplateEngine(resolveTemplatesDir());
697
700
  const safePath = sanitizePath(i.path);
698
701
  const detected = tryDetectFramework(engine, safePath, i);
@@ -714,7 +717,7 @@ var listPersonasDefinition = {
714
717
  inputSchema: { type: "object", properties: {} }
715
718
  };
716
719
  async function handleListPersonas() {
717
- const { listPersonas } = await import("./loader-JVSJZSWZ.js");
720
+ const { listPersonas } = await import("./loader-MN2CZXPG.js");
718
721
  const result = listPersonas(resolvePersonasDir());
719
722
  return resultToMcpResponse(result);
720
723
  }
@@ -738,10 +741,10 @@ async function handleGeneratePersonaArtifacts(input) {
738
741
  if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.name)) {
739
742
  return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.name}`)));
740
743
  }
741
- const { loadPersona } = await import("./loader-JVSJZSWZ.js");
742
- const { generateRuntime } = await import("./runtime-D6YUQPP2.js");
743
- const { generateAgentsMd } = await import("./agents-md-MCUM4SIZ.js");
744
- const { generateCIWorkflow } = await import("./ci-workflow-RTM7VVTD.js");
744
+ const { loadPersona } = await import("./loader-MN2CZXPG.js");
745
+ const { generateRuntime } = await import("./runtime-ZYEFJSGS.js");
746
+ const { generateAgentsMd } = await import("./agents-md-COWXFHR5.js");
747
+ const { generateCIWorkflow } = await import("./ci-workflow-35KBJC2U.js");
745
748
  const personasDir = resolvePersonasDir();
746
749
  const filePath = path3.join(personasDir, `${input.name}.yaml`);
747
750
  if (!filePath.startsWith(personasDir)) {
@@ -796,7 +799,7 @@ async function handleRunPersona(input) {
796
799
  if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.persona)) {
797
800
  return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.persona}`)));
798
801
  }
799
- const { loadPersona } = await import("./loader-JVSJZSWZ.js");
802
+ const { loadPersona } = await import("./loader-MN2CZXPG.js");
800
803
  const { runPersona } = await import("./runner-AAEF2TXY.js");
801
804
  const { executeSkill } = await import("./skill-executor-MOCUIAYS.js");
802
805
  const personasDir = resolvePersonasDir();
@@ -1590,7 +1593,7 @@ async function autoSyncRoadmap(projectPath) {
1590
1593
  try {
1591
1594
  const roadmapFile = path11.join(projectPath, "docs", "roadmap.md");
1592
1595
  if (!fs10.existsSync(roadmapFile)) return;
1593
- const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-WCSJHQPK.js");
1596
+ const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-UMONICND.js");
1594
1597
  const raw = fs10.readFileSync(roadmapFile, "utf-8");
1595
1598
  const parseResult = parseRoadmap(raw);
1596
1599
  if (!parseResult.ok) return;
@@ -1620,7 +1623,7 @@ async function triggerExternalSync(projectPath, roadmapFile) {
1620
1623
  console.warn("[roadmap-sync] GITHUB_TOKEN not found \u2014 external sync skipped");
1621
1624
  return;
1622
1625
  }
1623
- const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-WCSJHQPK.js");
1626
+ const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-UMONICND.js");
1624
1627
  const adapter = new GitHubIssuesSyncAdapter({
1625
1628
  token,
1626
1629
  config: trackerConfig
@@ -1717,12 +1720,12 @@ var manageStateDefinition = {
1717
1720
  }
1718
1721
  };
1719
1722
  async function handleShow(projectPath, input) {
1720
- const { loadState } = await import("./dist-WCSJHQPK.js");
1723
+ const { loadState } = await import("./dist-UMONICND.js");
1721
1724
  return resultToMcpResponse(await loadState(projectPath, input.stream, input.session));
1722
1725
  }
1723
1726
  async function handleLearn(projectPath, input) {
1724
1727
  if (!input.learning) return mcpError("Error: learning is required for learn action");
1725
- const { appendLearning } = await import("./dist-WCSJHQPK.js");
1728
+ const { appendLearning } = await import("./dist-UMONICND.js");
1726
1729
  const result = await appendLearning(
1727
1730
  projectPath,
1728
1731
  input.learning,
@@ -1737,7 +1740,7 @@ async function handleLearn(projectPath, input) {
1737
1740
  async function handleFailure(projectPath, input) {
1738
1741
  if (!input.description) return mcpError("Error: description is required for failure action");
1739
1742
  if (!input.failureType) return mcpError("Error: failureType is required for failure action");
1740
- const { appendFailure } = await import("./dist-WCSJHQPK.js");
1743
+ const { appendFailure } = await import("./dist-UMONICND.js");
1741
1744
  const result = await appendFailure(
1742
1745
  projectPath,
1743
1746
  input.description,
@@ -1750,24 +1753,24 @@ async function handleFailure(projectPath, input) {
1750
1753
  return resultToMcpResponse(Ok({ recorded: true }));
1751
1754
  }
1752
1755
  async function handleArchive(projectPath, input) {
1753
- const { archiveFailures } = await import("./dist-WCSJHQPK.js");
1756
+ const { archiveFailures } = await import("./dist-UMONICND.js");
1754
1757
  const result = await archiveFailures(projectPath, input.stream, input.session);
1755
1758
  if (!result.ok) return resultToMcpResponse(result);
1756
1759
  return resultToMcpResponse(Ok({ archived: true }));
1757
1760
  }
1758
1761
  async function handleReset(projectPath, input) {
1759
- const { saveState, DEFAULT_STATE } = await import("./dist-WCSJHQPK.js");
1762
+ const { saveState, DEFAULT_STATE } = await import("./dist-UMONICND.js");
1760
1763
  const result = await saveState(projectPath, { ...DEFAULT_STATE }, input.stream, input.session);
1761
1764
  if (!result.ok) return resultToMcpResponse(result);
1762
1765
  return resultToMcpResponse(Ok({ reset: true }));
1763
1766
  }
1764
1767
  async function handleGate(projectPath, _input) {
1765
- const { runMechanicalGate } = await import("./dist-WCSJHQPK.js");
1768
+ const { runMechanicalGate } = await import("./dist-UMONICND.js");
1766
1769
  return resultToMcpResponse(await runMechanicalGate(projectPath));
1767
1770
  }
1768
1771
  async function handleSaveHandoff(projectPath, input) {
1769
1772
  if (!input.handoff) return mcpError("Error: handoff is required for save-handoff action");
1770
- const { saveHandoff } = await import("./dist-WCSJHQPK.js");
1773
+ const { saveHandoff } = await import("./dist-UMONICND.js");
1771
1774
  const result = await saveHandoff(
1772
1775
  projectPath,
1773
1776
  input.handoff,
@@ -1779,7 +1782,7 @@ async function handleSaveHandoff(projectPath, input) {
1779
1782
  return resultToMcpResponse(Ok({ saved: true }));
1780
1783
  }
1781
1784
  async function handleLoadHandoff(projectPath, input) {
1782
- const { loadHandoff } = await import("./dist-WCSJHQPK.js");
1785
+ const { loadHandoff } = await import("./dist-UMONICND.js");
1783
1786
  return resultToMcpResponse(await loadHandoff(projectPath, input.stream, input.session));
1784
1787
  }
1785
1788
  async function handleAppendEntry(projectPath, input) {
@@ -1787,7 +1790,7 @@ async function handleAppendEntry(projectPath, input) {
1787
1790
  if (!input.authorSkill) return mcpError("Error: authorSkill is required for append_entry action");
1788
1791
  if (!input.content) return mcpError("Error: content is required for append_entry action");
1789
1792
  if (input.session) {
1790
- const { appendSessionEntry } = await import("./dist-WCSJHQPK.js");
1793
+ const { appendSessionEntry } = await import("./dist-UMONICND.js");
1791
1794
  const result = await appendSessionEntry(
1792
1795
  projectPath,
1793
1796
  input.session,
@@ -1800,7 +1803,7 @@ async function handleAppendEntry(projectPath, input) {
1800
1803
  if (input.section !== "decisions") {
1801
1804
  return mcpError("Error: session is required for non-decisions sections");
1802
1805
  }
1803
- const { loadState, saveState } = await import("./dist-WCSJHQPK.js");
1806
+ const { loadState, saveState } = await import("./dist-UMONICND.js");
1804
1807
  const lr = await loadState(projectPath, input.stream);
1805
1808
  if (!lr.ok) return resultToMcpResponse(lr);
1806
1809
  lr.value.decisions.push({
@@ -1818,7 +1821,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
1818
1821
  if (!input.entryId) return mcpError("Error: entryId is required for update_entry_status action");
1819
1822
  if (!input.newStatus)
1820
1823
  return mcpError("Error: newStatus is required for update_entry_status action");
1821
- const { updateSessionEntryStatus } = await import("./dist-WCSJHQPK.js");
1824
+ const { updateSessionEntryStatus } = await import("./dist-UMONICND.js");
1822
1825
  const result = await updateSessionEntryStatus(
1823
1826
  projectPath,
1824
1827
  input.session,
@@ -1831,7 +1834,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
1831
1834
  async function handleReadSection(projectPath, input) {
1832
1835
  if (!input.session) return mcpError("Error: session is required for read_section action");
1833
1836
  if (!input.section) return mcpError("Error: section is required for read_section action");
1834
- const { readSessionSection } = await import("./dist-WCSJHQPK.js");
1837
+ const { readSessionSection } = await import("./dist-UMONICND.js");
1835
1838
  const result = await readSessionSection(
1836
1839
  projectPath,
1837
1840
  input.session,
@@ -1841,13 +1844,13 @@ async function handleReadSection(projectPath, input) {
1841
1844
  }
1842
1845
  async function handleReadSections(projectPath, input) {
1843
1846
  if (!input.session) return mcpError("Error: session is required for read_sections action");
1844
- const { readSessionSections } = await import("./dist-WCSJHQPK.js");
1847
+ const { readSessionSections } = await import("./dist-UMONICND.js");
1845
1848
  const result = await readSessionSections(projectPath, input.session);
1846
1849
  return resultToMcpResponse(result);
1847
1850
  }
1848
1851
  async function handleArchiveSession(projectPath, input) {
1849
1852
  if (!input.session) return mcpError("Error: session is required for archive_session action");
1850
- const { archiveSession } = await import("./dist-WCSJHQPK.js");
1853
+ const { archiveSession } = await import("./dist-UMONICND.js");
1851
1854
  const result = await archiveSession(projectPath, input.session);
1852
1855
  if (!result.ok) return resultToMcpResponse(result);
1853
1856
  await autoSyncRoadmap(projectPath);
@@ -1911,7 +1914,7 @@ var listStreamsDefinition = {
1911
1914
  };
1912
1915
  async function handleListStreams(input) {
1913
1916
  try {
1914
- const { listStreams, loadStreamIndex } = await import("./dist-WCSJHQPK.js");
1917
+ const { listStreams, loadStreamIndex } = await import("./dist-UMONICND.js");
1915
1918
  const projectPath = sanitizePath(input.path);
1916
1919
  const indexResult = await loadStreamIndex(projectPath);
1917
1920
  const streamsResult = await listStreams(projectPath);
@@ -1949,7 +1952,7 @@ var checkPhaseGateDefinition = {
1949
1952
  };
1950
1953
  async function handleCheckPhaseGate(input) {
1951
1954
  try {
1952
- const { runCheckPhaseGate } = await import("./check-phase-gate-VCBQHQAC.js");
1955
+ const { runCheckPhaseGate } = await import("./check-phase-gate-AJRMDGYW.js");
1953
1956
  const result = await runCheckPhaseGate({ cwd: sanitizePath(input.path) });
1954
1957
  if (result.ok) {
1955
1958
  return { content: [{ type: "text", text: JSON.stringify(result.value) }] };
@@ -2005,7 +2008,7 @@ async function handleValidateCrossCheck(input) {
2005
2008
  };
2006
2009
  }
2007
2010
  try {
2008
- const { runCrossCheck } = await import("./validate-cross-check-ZOWFA3DB.js");
2011
+ const { runCrossCheck } = await import("./validate-cross-check-OWITNCHN.js");
2009
2012
  const specsDir = path12.resolve(projectPath, input.specsDir ?? "docs/specs");
2010
2013
  if (!specsDir.startsWith(projectPath)) {
2011
2014
  return {
@@ -2472,7 +2475,7 @@ function resolveSkillSources(opts) {
2472
2475
  addSource(communityDir, "community");
2473
2476
  const globalCommunityDir = resolveGlobalCommunitySkillsDir();
2474
2477
  addSource(globalCommunityDir, "community");
2475
- if (opts.includeGlobal || sources.length === 0) {
2478
+ if (opts.includeGlobal || opts.global || sources.length === 0) {
2476
2479
  const globalDir = resolveGlobalSkillsDir();
2477
2480
  addSource(globalDir, "global");
2478
2481
  }
@@ -2728,7 +2731,7 @@ async function handleGenerateSlashCommands(input) {
2728
2731
  // src/mcp/resources/state.ts
2729
2732
  async function getStateResource(projectRoot) {
2730
2733
  try {
2731
- const { loadState, migrateToStreams } = await import("./dist-WCSJHQPK.js");
2734
+ const { loadState, migrateToStreams } = await import("./dist-UMONICND.js");
2732
2735
  await migrateToStreams(projectRoot);
2733
2736
  const result = await loadState(projectRoot);
2734
2737
  if (result.ok) {
@@ -3736,7 +3739,7 @@ var generateAgentDefinitionsDefinition = {
3736
3739
  }
3737
3740
  };
3738
3741
  async function handleGenerateAgentDefinitions(input) {
3739
- const { generateAgentDefinitions } = await import("./generate-agent-definitions-AWLPJ27C.js");
3742
+ const { generateAgentDefinitions } = await import("./generate-agent-definitions-3XNR77ET.js");
3740
3743
  const platforms = input.platform === "all" || !input.platform ? ["claude-code", "gemini-cli"] : [input.platform];
3741
3744
  const results = generateAgentDefinitions({
3742
3745
  platforms: [...platforms],
@@ -4064,7 +4067,7 @@ function shouldTriggerExternalSync(input, response) {
4064
4067
  }
4065
4068
  async function handleManageRoadmap(input) {
4066
4069
  try {
4067
- const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-WCSJHQPK.js");
4070
+ const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-UMONICND.js");
4068
4071
  const { Ok: Ok2 } = await import("./dist-3EWNRFFQ.js");
4069
4072
  const projectPath = sanitizePath(input.path);
4070
4073
  const deps = {
@@ -4499,7 +4502,7 @@ async function handleTransition(validInput, projectPath, id) {
4499
4502
  const transition = transitionResult.data;
4500
4503
  const prompt = renderTransition(transition);
4501
4504
  try {
4502
- const { saveHandoff } = await import("./dist-WCSJHQPK.js");
4505
+ const { saveHandoff } = await import("./dist-UMONICND.js");
4503
4506
  await saveHandoff(
4504
4507
  projectPath,
4505
4508
  {
@@ -4567,7 +4570,7 @@ async function handleEmitInteraction(input) {
4567
4570
  }
4568
4571
  async function recordInteraction(projectPath, id, type, decision, stream) {
4569
4572
  try {
4570
- const { loadState, saveState } = await import("./dist-WCSJHQPK.js");
4573
+ const { loadState, saveState } = await import("./dist-UMONICND.js");
4571
4574
  const stateResult = await loadState(projectPath, stream);
4572
4575
  if (stateResult.ok) {
4573
4576
  const state = stateResult.value;
@@ -4714,10 +4717,10 @@ async function handleGatherContext(input) {
4714
4717
  input.include ?? ["state", "learnings", "handoff", "graph", "validation"]
4715
4718
  );
4716
4719
  const errors = [];
4717
- const statePromise = includeSet.has("state") ? import("./dist-WCSJHQPK.js").then(
4720
+ const statePromise = includeSet.has("state") ? import("./dist-UMONICND.js").then(
4718
4721
  (core) => core.loadState(projectPath, void 0, input.session)
4719
4722
  ) : Promise.resolve(null);
4720
- const learningsPromise = includeSet.has("learnings") ? import("./dist-WCSJHQPK.js").then(
4723
+ const learningsPromise = includeSet.has("learnings") ? import("./dist-UMONICND.js").then(
4721
4724
  (core) => core.loadBudgetedLearnings(projectPath, {
4722
4725
  intent: input.intent,
4723
4726
  tokenBudget: input.learningsBudget ?? 1e3,
@@ -4726,7 +4729,7 @@ async function handleGatherContext(input) {
4726
4729
  ...input.depth !== void 0 && { depth: input.depth }
4727
4730
  })
4728
4731
  ) : Promise.resolve(null);
4729
- const handoffPromise = includeSet.has("handoff") ? import("./dist-WCSJHQPK.js").then(
4732
+ const handoffPromise = includeSet.has("handoff") ? import("./dist-UMONICND.js").then(
4730
4733
  (core) => core.loadHandoff(projectPath, void 0, input.session)
4731
4734
  ) : Promise.resolve(null);
4732
4735
  const graphPromise = includeSet.has("graph") ? (async () => {
@@ -4770,11 +4773,11 @@ async function handleGatherContext(input) {
4770
4773
  context: contextBlocks
4771
4774
  };
4772
4775
  })() : Promise.resolve(null);
4773
- const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-WCSJHQPK.js").then(
4776
+ const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-UMONICND.js").then(
4774
4777
  (core) => core.readSessionSections(projectPath, input.session)
4775
4778
  ) : Promise.resolve(null);
4776
4779
  const shouldIncludeEvents = input.includeEvents !== void 0 ? input.includeEvents : includeSet.has("events") || !!input.session && !input.include;
4777
- const eventsPromise = shouldIncludeEvents ? import("./dist-WCSJHQPK.js").then(async (core) => {
4780
+ const eventsPromise = shouldIncludeEvents ? import("./dist-UMONICND.js").then(async (core) => {
4778
4781
  const result = await core.loadEvents(projectPath, {
4779
4782
  session: input.session
4780
4783
  });
@@ -4782,7 +4785,7 @@ async function handleGatherContext(input) {
4782
4785
  return core.formatEventTimeline(result.value);
4783
4786
  }) : Promise.resolve(null);
4784
4787
  const validationPromise = includeSet.has("validation") ? (async () => {
4785
- const { handleValidateProject: handleValidateProject2 } = await import("./validate-TIIHRPMA.js");
4788
+ const { handleValidateProject: handleValidateProject2 } = await import("./validate-ACIP5BUO.js");
4786
4789
  const result = await handleValidateProject2({ path: projectPath });
4787
4790
  const first = result.content[0];
4788
4791
  return first ? JSON.parse(first.text) : null;
@@ -4876,7 +4879,7 @@ async function handleGatherContext(input) {
4876
4879
  };
4877
4880
  if (input.session) {
4878
4881
  try {
4879
- const core = await import("./dist-WCSJHQPK.js");
4882
+ const core = await import("./dist-UMONICND.js");
4880
4883
  core.updateSessionIndex(
4881
4884
  projectPath,
4882
4885
  input.session,
@@ -5028,7 +5031,7 @@ async function handleReviewChanges(input) {
5028
5031
  }
5029
5032
  }
5030
5033
  async function runQuickReview(projectPath, diff, diffLines, downgraded, offset, limit) {
5031
- const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-ZLUX72HD.js");
5034
+ const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-I4QPE3RI.js");
5032
5035
  const result = await handleAnalyzeDiff2({ diff, path: projectPath });
5033
5036
  const firstContent = result.content[0];
5034
5037
  if (!firstContent) throw new Error("Empty analyze_diff response");
@@ -5063,7 +5066,7 @@ function extractFileCount(diffParsed) {
5063
5066
  return files?.length ?? 0;
5064
5067
  }
5065
5068
  async function runStandardReview(projectPath, diff, diffLines, downgraded, offset, limit) {
5066
- const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-ZLUX72HD.js");
5069
+ const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-I4QPE3RI.js");
5067
5070
  const [diffResult, reviewResult] = await Promise.all([
5068
5071
  handleAnalyzeDiff2({ diff, path: projectPath }),
5069
5072
  handleCreateSelfReview2({ path: projectPath, diff })
@@ -5098,7 +5101,7 @@ async function runStandardReview(projectPath, diff, diffLines, downgraded, offse
5098
5101
  };
5099
5102
  }
5100
5103
  async function runDeepReview(projectPath, diff, diffLines, _downgraded, offset, limit) {
5101
- const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-ZWVQJTJX.js");
5104
+ const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-PWPKJXSN.js");
5102
5105
  const result = await handleRunCodeReview2({
5103
5106
  path: projectPath,
5104
5107
  diff,
@@ -5392,7 +5395,7 @@ async function handleDetectStaleConstraints(input) {
5392
5395
  ]
5393
5396
  };
5394
5397
  }
5395
- const { detectStaleConstraints } = await import("./dist-WCSJHQPK.js");
5398
+ const { detectStaleConstraints } = await import("./dist-UMONICND.js");
5396
5399
  const result = detectStaleConstraints(
5397
5400
  store,
5398
5401
  windowDays,
@@ -5512,10 +5515,10 @@ function countCriticalFindings(securityData) {
5512
5515
  return findings.filter((f) => f.severity === "error").length;
5513
5516
  }
5514
5517
  async function runHealthChecks(projectPath) {
5515
- const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-6MV5TNY3.js");
5516
- const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-HNIO6AUX.js");
5517
- const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-EMSXF2PX.js");
5518
- const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-JLZUAQYT.js");
5518
+ const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-JQPEVJIA.js");
5519
+ const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-EYPG4ZMC.js");
5520
+ const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-GEBHWBPR.js");
5521
+ const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-OVTGS7DL.js");
5519
5522
  const [assessResult, depsResult, entropyResult, securityResult] = await Promise.all([
5520
5523
  handleAssessProject2({
5521
5524
  path: projectPath,
@@ -6312,7 +6315,7 @@ async function handleGetDecayTrends(input) {
6312
6315
  };
6313
6316
  }
6314
6317
  try {
6315
- const core = await import("./dist-WCSJHQPK.js");
6318
+ const core = await import("./dist-UMONICND.js");
6316
6319
  const { TimelineManager } = core;
6317
6320
  const manager = new TimelineManager(projectPath);
6318
6321
  const timeline = manager.load();
@@ -6447,7 +6450,7 @@ async function handleCodeOutline(input) {
6447
6450
  };
6448
6451
  }
6449
6452
  try {
6450
- const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-WCSJHQPK.js");
6453
+ const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-UMONICND.js");
6451
6454
  const { stat } = await import("fs/promises");
6452
6455
  const stats = await stat(targetPath).catch(() => null);
6453
6456
  if (stats?.isFile()) {
@@ -6466,7 +6469,7 @@ async function handleCodeOutline(input) {
6466
6469
  })
6467
6470
  );
6468
6471
  fileStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
6469
- const { paginate: paginate2 } = await import("./dist-WCSJHQPK.js");
6472
+ const { paginate: paginate2 } = await import("./dist-UMONICND.js");
6470
6473
  const paged = paginate2(fileStats, input.offset ?? 0, input.limit ?? 30);
6471
6474
  const results = [];
6472
6475
  for (const entry of paged.items) {
@@ -6539,7 +6542,7 @@ async function handleCodeSearch(input) {
6539
6542
  };
6540
6543
  }
6541
6544
  try {
6542
- const { searchSymbols } = await import("./dist-WCSJHQPK.js");
6545
+ const { searchSymbols } = await import("./dist-UMONICND.js");
6543
6546
  const result = await searchSymbols(input.query, directory, input.glob);
6544
6547
  const lines = [`Search: "${result.query}" \u2014 ${result.matches.length} matches`];
6545
6548
  for (const match of result.matches) {
@@ -6608,7 +6611,7 @@ async function handleCodeUnfold(input) {
6608
6611
  }
6609
6612
  try {
6610
6613
  if (input.symbol) {
6611
- const { unfoldSymbol } = await import("./dist-WCSJHQPK.js");
6614
+ const { unfoldSymbol } = await import("./dist-UMONICND.js");
6612
6615
  const result = await unfoldSymbol(filePath, input.symbol);
6613
6616
  const header = result.warning ? `${result.file}:${result.startLine}-${result.endLine} ${result.warning}
6614
6617
  ` : `${result.file}:${result.startLine}-${result.endLine}
@@ -6616,7 +6619,7 @@ async function handleCodeUnfold(input) {
6616
6619
  return { content: [{ type: "text", text: header + result.content }] };
6617
6620
  }
6618
6621
  if (input.startLine != null && input.endLine != null) {
6619
- const { unfoldRange } = await import("./dist-WCSJHQPK.js");
6622
+ const { unfoldRange } = await import("./dist-UMONICND.js");
6620
6623
  const result = await unfoldRange(filePath, input.startLine, input.endLine);
6621
6624
  const header = `${result.file}:${result.startLine}-${result.endLine}
6622
6625
  `;
@@ -6801,7 +6804,7 @@ async function handlePredictFailures(input) {
6801
6804
  };
6802
6805
  }
6803
6806
  try {
6804
- const core = await import("./dist-WCSJHQPK.js");
6807
+ const core = await import("./dist-UMONICND.js");
6805
6808
  const { TimelineManager, PredictionEngine, SpecImpactEstimator } = core;
6806
6809
  const manager = new TimelineManager(projectPath);
6807
6810
  const includeRoadmap = input.includeRoadmap !== false;
@@ -7217,7 +7220,7 @@ async function handleDetectConstraintEmergence(input) {
7217
7220
  }
7218
7221
  const nodePath = await import("path");
7219
7222
  const historyPath = nodePath.resolve(projectPath, ".harness/arch/violation-history.json");
7220
- const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-WCSJHQPK.js");
7223
+ const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-UMONICND.js");
7221
7224
  const manager = new ViolationHistoryManager(historyPath);
7222
7225
  const history = manager.load();
7223
7226
  const options = { windowWeeks, minOccurrences };
@@ -7459,7 +7462,7 @@ async function appendUpdateNotification(result, resolvedRoot) {
7459
7462
  shouldRunCheck,
7460
7463
  readCheckState,
7461
7464
  spawnBackgroundCheck
7462
- } = await import("./dist-WCSJHQPK.js");
7465
+ } = await import("./dist-UMONICND.js");
7463
7466
  const { CLI_VERSION } = await import("./version-CUI434OP.js");
7464
7467
  const configInterval = readConfigInterval(resolvedRoot);
7465
7468
  const DEFAULT_INTERVAL = 864e5;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ArchConfigSchema,
3
3
  init_dist
4
- } from "./chunk-MI6MA6OP.js";
4
+ } from "./chunk-KHMKAC6E.js";
5
5
  import {
6
6
  Err,
7
7
  Ok
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resolveConfig
3
- } from "./chunk-WIQA4BSH.js";
3
+ } from "./chunk-5R2LFUU3.js";
4
4
  import {
5
5
  init_dist
6
- } from "./chunk-MI6MA6OP.js";
6
+ } from "./chunk-KHMKAC6E.js";
7
7
  import {
8
8
  Ok
9
9
  } from "./chunk-RL4VMEXL.js";
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  init_dist,
6
6
  paginate
7
- } from "./chunk-MI6MA6OP.js";
7
+ } from "./chunk-KHMKAC6E.js";
8
8
 
9
9
  // src/mcp/tools/review-pipeline.ts
10
10
  init_dist();
@@ -79,7 +79,7 @@ var runCodeReviewDefinition = {
79
79
  };
80
80
  async function handleRunCodeReview(input) {
81
81
  try {
82
- const { parseDiff, runReviewPipeline } = await import("./dist-WCSJHQPK.js");
82
+ const { parseDiff, runReviewPipeline } = await import("./dist-UMONICND.js");
83
83
  const parseResult = parseDiff(input.diff);
84
84
  if (!parseResult.ok) {
85
85
  return {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveProjectConfig
3
- } from "./chunk-47N6R2F4.js";
3
+ } from "./chunk-UI6NWJJK.js";
4
4
  import {
5
5
  resultToMcpResponse
6
6
  } from "./chunk-EPUKTTJZ.js";
@@ -38,7 +38,7 @@ async function handleCheckDependencies(input) {
38
38
  const configResult = resolveProjectConfig(projectPath);
39
39
  if (!configResult.ok) return resultToMcpResponse(configResult);
40
40
  try {
41
- const { validateDependencies, TypeScriptParser } = await import("./dist-WCSJHQPK.js");
41
+ const { validateDependencies, TypeScriptParser } = await import("./dist-UMONICND.js");
42
42
  const config = configResult.value;
43
43
  const rawLayers = Array.isArray(config.layers) ? config.layers : [];
44
44
  const layers = rawLayers.map((l) => ({
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  init_dist
3
- } from "./chunk-MI6MA6OP.js";
3
+ } from "./chunk-KHMKAC6E.js";
4
4
  import {
5
5
  Err,
6
6
  Ok