@harness-engineering/cli 1.25.6 → 1.25.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.
Files changed (52) hide show
  1. package/dist/{agents-md-2PYJM2MK.js → agents-md-QPO3H5HX.js} +3 -3
  2. package/dist/{architecture-VCLB7A23.js → architecture-IJLXRHZA.js} +4 -4
  3. package/dist/{assess-project-64C6LIKN.js → assess-project-QU6XIVJK.js} +1 -1
  4. package/dist/bin/harness-mcp.js +15 -15
  5. package/dist/bin/harness.js +25 -25
  6. package/dist/{check-phase-gate-RT6PGEHY.js → check-phase-gate-TNY64AOS.js} +4 -4
  7. package/dist/{chunk-ZAKUCM7O.js → chunk-2DF6OZLG.js} +2 -2
  8. package/dist/{chunk-XLO4AXXM.js → chunk-AS5DQT4S.js} +9 -9
  9. package/dist/{chunk-CBZECDCW.js → chunk-D3XL2FLX.js} +5 -5
  10. package/dist/{chunk-R2BI5UPK.js → chunk-E5Z6NTTQ.js} +1 -1
  11. package/dist/{chunk-VELT5VAG.js → chunk-FRDS4XGD.js} +1 -1
  12. package/dist/{chunk-EY6F2QXW.js → chunk-G5SNXUIK.js} +1 -1
  13. package/dist/{chunk-KJC4SE7C.js → chunk-GVNT2YC7.js} +9 -9
  14. package/dist/{chunk-XMEEYMGE.js → chunk-IQO7IINR.js} +1 -1
  15. package/dist/{chunk-7BAGSY5Q.js → chunk-IT2KORSK.js} +1 -1
  16. package/dist/{chunk-43VBX44J.js → chunk-JJQ3TW2E.js} +97 -91
  17. package/dist/{chunk-SMY35HJM.js → chunk-JPZY7ZQX.js} +1 -1
  18. package/dist/{chunk-FL6A72LV.js → chunk-K35D7HF3.js} +1 -1
  19. package/dist/{chunk-BUJOMC3O.js → chunk-K533WNZG.js} +38 -2
  20. package/dist/{chunk-RKZW3FDF.js → chunk-KVJZQ2MV.js} +1 -1
  21. package/dist/{chunk-WEOGCL7B.js → chunk-LTCEV7VF.js} +3 -3
  22. package/dist/{chunk-Y5JA4J2M.js → chunk-LXPRO2FH.js} +2 -2
  23. package/dist/{chunk-U2OMWI7Z.js → chunk-MCDCZMKN.js} +1 -1
  24. package/dist/{chunk-4YEBV2FT.js → chunk-MLOGYWLY.js} +2 -2
  25. package/dist/{chunk-RDQGCHKD.js → chunk-NKQEMWGT.js} +83 -66
  26. package/dist/{chunk-X2JJ3CPG.js → chunk-PCOU2UXU.js} +8 -8
  27. package/dist/{chunk-R7P2FMJT.js → chunk-SZ3Q4XEO.js} +36 -34
  28. package/dist/{chunk-JUXFYB2K.js → chunk-TQRCODRJ.js} +1 -1
  29. package/dist/{chunk-SZZ5UQL7.js → chunk-XVJRFP7W.js} +6 -6
  30. package/dist/{chunk-JQCS75DY.js → chunk-YRBNAHH4.js} +4 -4
  31. package/dist/{chunk-42ZZLMYD.js → chunk-ZIYLIYN4.js} +1 -1
  32. package/dist/{ci-workflow-SZL3KVUK.js → ci-workflow-FJYRFZYQ.js} +3 -3
  33. package/dist/{dist-GRW3X2ZQ.js → dist-HPWNWCT6.js} +1 -1
  34. package/dist/{dist-T3DGV5UN.js → dist-ZV6GO6FA.js} +2 -2
  35. package/dist/{docs-WDLJORLK.js → docs-7DW3DI4Z.js} +4 -4
  36. package/dist/{engine-2YWYRCKK.js → engine-P7EE2IWO.js} +3 -3
  37. package/dist/{entropy-PJGTOORX.js → entropy-HCXRTDFU.js} +3 -3
  38. package/dist/{feedback-M5KCJKL2.js → feedback-Y4FYN3NR.js} +1 -1
  39. package/dist/{generate-agent-definitions-MFDW6LZT.js → generate-agent-definitions-3EHPIWBO.js} +4 -4
  40. package/dist/{graph-loader-QMKXT454.js → graph-loader-KXVS3YK3.js} +1 -1
  41. package/dist/index.d.ts +14 -8
  42. package/dist/index.js +25 -25
  43. package/dist/{loader-6O52FYHE.js → loader-SKHF3JVV.js} +3 -3
  44. package/dist/{mcp-GGNFWKVC.js → mcp-MWYIPDQU.js} +15 -15
  45. package/dist/{performance-337U5URQ.js → performance-ADWH5NJY.js} +4 -4
  46. package/dist/{review-pipeline-DB5RD4SN.js → review-pipeline-TLKE5OQD.js} +3 -3
  47. package/dist/{runtime-B74EN2WD.js → runtime-7LYAW7GU.js} +3 -3
  48. package/dist/{scan-DXQUHGTT.js → scan-BGJ7TLLV.js} +1 -1
  49. package/dist/{security-3AYN6FVU.js → security-5XWINYVB.js} +1 -1
  50. package/dist/{validate-35CD7VWN.js → validate-BFFHYHY7.js} +4 -4
  51. package/dist/{validate-cross-check-LJKXBQYH.js → validate-cross-check-GQX7OVCR.js} +3 -3
  52. package/package.json +4 -4
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  assessProjectDefinition,
3
3
  handleAssessProject
4
- } from "./chunk-SZZ5UQL7.js";
4
+ } from "./chunk-XVJRFP7W.js";
5
5
  import {
6
6
  getBusinessKnowledgeResource
7
7
  } from "./chunk-RC5ZY3EV.js";
@@ -12,37 +12,37 @@ import {
12
12
  handleCreateSelfReview,
13
13
  handleRequestPeerReview,
14
14
  requestPeerReviewDefinition
15
- } from "./chunk-KJC4SE7C.js";
15
+ } from "./chunk-GVNT2YC7.js";
16
16
  import {
17
17
  getSecurityTrendsDefinition,
18
18
  handleGetSecurityTrends,
19
19
  handleRunSecurityScan,
20
20
  runSecurityScanDefinition
21
- } from "./chunk-4YEBV2FT.js";
21
+ } from "./chunk-MLOGYWLY.js";
22
22
  import {
23
23
  handleRunCodeReview,
24
24
  runCodeReviewDefinition,
25
25
  sortFindingsBySeverity
26
- } from "./chunk-ZAKUCM7O.js";
26
+ } from "./chunk-2DF6OZLG.js";
27
27
  import {
28
28
  handleValidateProject,
29
29
  validateToolDefinition
30
- } from "./chunk-WEOGCL7B.js";
30
+ } from "./chunk-LTCEV7VF.js";
31
31
  import {
32
32
  checkDependenciesDefinition,
33
33
  handleCheckDependencies
34
- } from "./chunk-JQCS75DY.js";
34
+ } from "./chunk-YRBNAHH4.js";
35
35
  import {
36
36
  resolveProjectConfig
37
- } from "./chunk-XMEEYMGE.js";
37
+ } from "./chunk-IQO7IINR.js";
38
38
  import {
39
39
  checkDocsDefinition,
40
40
  handleCheckDocs
41
- } from "./chunk-XLO4AXXM.js";
41
+ } from "./chunk-AS5DQT4S.js";
42
42
  import {
43
43
  detectEntropyDefinition,
44
44
  handleDetectEntropy
45
- } from "./chunk-CBZECDCW.js";
45
+ } from "./chunk-D3XL2FLX.js";
46
46
  import {
47
47
  checkPerformanceDefinition,
48
48
  getCriticalPathsDefinition,
@@ -52,7 +52,7 @@ import {
52
52
  handleGetPerfBaselines,
53
53
  handleUpdatePerfBaselines,
54
54
  updatePerfBaselinesDefinition
55
- } from "./chunk-X2JJ3CPG.js";
55
+ } from "./chunk-PCOU2UXU.js";
56
56
  import {
57
57
  resultToMcpResponse
58
58
  } from "./chunk-EPUKTTJZ.js";
@@ -61,7 +61,7 @@ import {
61
61
  } from "./chunk-W6Y7ZW3Y.js";
62
62
  import {
63
63
  resolveConfig
64
- } from "./chunk-JUXFYB2K.js";
64
+ } from "./chunk-TQRCODRJ.js";
65
65
  import {
66
66
  GENERATED_HEADER_CLAUDE,
67
67
  GENERATED_HEADER_CODEX,
@@ -83,7 +83,7 @@ import {
83
83
  } from "./chunk-6B6UN6SG.js";
84
84
  import {
85
85
  loadGraphStore
86
- } from "./chunk-SMY35HJM.js";
86
+ } from "./chunk-JPZY7ZQX.js";
87
87
  import {
88
88
  CompactionPipeline,
89
89
  DEFAULT_TOKEN_BUDGET,
@@ -101,7 +101,7 @@ import {
101
101
  scanForInjection,
102
102
  serializeEnvelope,
103
103
  writeTaint
104
- } from "./chunk-42ZZLMYD.js";
104
+ } from "./chunk-ZIYLIYN4.js";
105
105
  import {
106
106
  Err,
107
107
  Ok
@@ -676,9 +676,11 @@ function scaffoldMcp(engine, safePath, i, language) {
676
676
  ...language !== void 0 && { language }
677
677
  });
678
678
  if (!renderResult.ok) return resultToMcpResponse(renderResult);
679
+ const existingProject = engine.isExistingProject(safePath);
679
680
  const writeResult = engine.write(renderResult.value, safePath, {
680
681
  overwrite: false,
681
- ...language !== void 0 && { language }
682
+ ...language !== void 0 && { language },
683
+ existingProject
682
684
  });
683
685
  if (writeResult.ok) {
684
686
  persistToolingConfig(safePath, resolveResult.value, i.framework);
@@ -699,7 +701,7 @@ ${skippedMsg}`
699
701
  async function handleInitProject(input) {
700
702
  const i = input;
701
703
  try {
702
- const { TemplateEngine } = await import("./engine-2YWYRCKK.js");
704
+ const { TemplateEngine } = await import("./engine-P7EE2IWO.js");
703
705
  const engine = new TemplateEngine(resolveTemplatesDir());
704
706
  const safePath = sanitizePath(i.path);
705
707
  const detected = tryDetectFramework(engine, safePath, i);
@@ -721,7 +723,7 @@ var listPersonasDefinition = {
721
723
  inputSchema: { type: "object", properties: {} }
722
724
  };
723
725
  async function handleListPersonas() {
724
- const { listPersonas } = await import("./loader-6O52FYHE.js");
726
+ const { listPersonas } = await import("./loader-SKHF3JVV.js");
725
727
  const result = listPersonas(resolvePersonasDir());
726
728
  return resultToMcpResponse(result);
727
729
  }
@@ -745,10 +747,10 @@ async function handleGeneratePersonaArtifacts(input) {
745
747
  if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.name)) {
746
748
  return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.name}`)));
747
749
  }
748
- const { loadPersona } = await import("./loader-6O52FYHE.js");
749
- const { generateRuntime } = await import("./runtime-B74EN2WD.js");
750
- const { generateAgentsMd } = await import("./agents-md-2PYJM2MK.js");
751
- const { generateCIWorkflow } = await import("./ci-workflow-SZL3KVUK.js");
750
+ const { loadPersona } = await import("./loader-SKHF3JVV.js");
751
+ const { generateRuntime } = await import("./runtime-7LYAW7GU.js");
752
+ const { generateAgentsMd } = await import("./agents-md-QPO3H5HX.js");
753
+ const { generateCIWorkflow } = await import("./ci-workflow-FJYRFZYQ.js");
752
754
  const personasDir = resolvePersonasDir();
753
755
  const filePath = path3.join(personasDir, `${input.name}.yaml`);
754
756
  if (!filePath.startsWith(personasDir)) {
@@ -803,7 +805,7 @@ async function handleRunPersona(input) {
803
805
  if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.persona)) {
804
806
  return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.persona}`)));
805
807
  }
806
- const { loadPersona } = await import("./loader-6O52FYHE.js");
808
+ const { loadPersona } = await import("./loader-SKHF3JVV.js");
807
809
  const { runPersona } = await import("./runner-AAEF2TXY.js");
808
810
  const { executeSkill } = await import("./skill-executor-MOCUIAYS.js");
809
811
  const personasDir = resolvePersonasDir();
@@ -1342,7 +1344,7 @@ function loadOrGenerateProfile(projectRoot) {
1342
1344
  // src/mcp/tools/event-emitter.ts
1343
1345
  async function emitSkillEvent(projectPath, event) {
1344
1346
  try {
1345
- const { emitEvent } = await import("./dist-T3DGV5UN.js");
1347
+ const { emitEvent } = await import("./dist-ZV6GO6FA.js");
1346
1348
  await emitEvent(projectPath, event);
1347
1349
  } catch {
1348
1350
  }
@@ -1614,7 +1616,7 @@ async function autoSyncRoadmap(projectPath) {
1614
1616
  try {
1615
1617
  const roadmapFile = path11.join(projectPath, "docs", "roadmap.md");
1616
1618
  if (!fs10.existsSync(roadmapFile)) return;
1617
- const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-T3DGV5UN.js");
1619
+ const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-ZV6GO6FA.js");
1618
1620
  const raw = fs10.readFileSync(roadmapFile, "utf-8");
1619
1621
  const parseResult = parseRoadmap(raw);
1620
1622
  if (!parseResult.ok) return;
@@ -1644,7 +1646,7 @@ async function triggerExternalSync(projectPath, roadmapFile) {
1644
1646
  console.warn("[roadmap-sync] GITHUB_TOKEN not found \u2014 external sync skipped");
1645
1647
  return;
1646
1648
  }
1647
- const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-T3DGV5UN.js");
1649
+ const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-ZV6GO6FA.js");
1648
1650
  const adapter = new GitHubIssuesSyncAdapter({
1649
1651
  token,
1650
1652
  config: trackerConfig
@@ -1741,12 +1743,12 @@ var manageStateDefinition = {
1741
1743
  }
1742
1744
  };
1743
1745
  async function handleShow(projectPath, input) {
1744
- const { loadState } = await import("./dist-T3DGV5UN.js");
1746
+ const { loadState } = await import("./dist-ZV6GO6FA.js");
1745
1747
  return resultToMcpResponse(await loadState(projectPath, input.stream, input.session));
1746
1748
  }
1747
1749
  async function handleLearn(projectPath, input) {
1748
1750
  if (!input.learning) return mcpError("Error: learning is required for learn action");
1749
- const { appendLearning } = await import("./dist-T3DGV5UN.js");
1751
+ const { appendLearning } = await import("./dist-ZV6GO6FA.js");
1750
1752
  const result = await appendLearning(
1751
1753
  projectPath,
1752
1754
  input.learning,
@@ -1761,7 +1763,7 @@ async function handleLearn(projectPath, input) {
1761
1763
  async function handleFailure(projectPath, input) {
1762
1764
  if (!input.description) return mcpError("Error: description is required for failure action");
1763
1765
  if (!input.failureType) return mcpError("Error: failureType is required for failure action");
1764
- const { appendFailure } = await import("./dist-T3DGV5UN.js");
1766
+ const { appendFailure } = await import("./dist-ZV6GO6FA.js");
1765
1767
  const result = await appendFailure(
1766
1768
  projectPath,
1767
1769
  input.description,
@@ -1780,19 +1782,19 @@ async function handleFailure(projectPath, input) {
1780
1782
  return resultToMcpResponse(Ok({ recorded: true }));
1781
1783
  }
1782
1784
  async function handleArchive(projectPath, input) {
1783
- const { archiveFailures } = await import("./dist-T3DGV5UN.js");
1785
+ const { archiveFailures } = await import("./dist-ZV6GO6FA.js");
1784
1786
  const result = await archiveFailures(projectPath, input.stream, input.session);
1785
1787
  if (!result.ok) return resultToMcpResponse(result);
1786
1788
  return resultToMcpResponse(Ok({ archived: true }));
1787
1789
  }
1788
1790
  async function handleReset(projectPath, input) {
1789
- const { saveState, DEFAULT_STATE } = await import("./dist-T3DGV5UN.js");
1791
+ const { saveState, DEFAULT_STATE } = await import("./dist-ZV6GO6FA.js");
1790
1792
  const result = await saveState(projectPath, { ...DEFAULT_STATE }, input.stream, input.session);
1791
1793
  if (!result.ok) return resultToMcpResponse(result);
1792
1794
  return resultToMcpResponse(Ok({ reset: true }));
1793
1795
  }
1794
1796
  async function handleGate(projectPath, input) {
1795
- const { runMechanicalGate } = await import("./dist-T3DGV5UN.js");
1797
+ const { runMechanicalGate } = await import("./dist-ZV6GO6FA.js");
1796
1798
  const result = await runMechanicalGate(projectPath);
1797
1799
  if (result.ok) {
1798
1800
  await emitSkillEvent(projectPath, {
@@ -1812,7 +1814,7 @@ async function handleGate(projectPath, input) {
1812
1814
  }
1813
1815
  async function handleSaveHandoff(projectPath, input) {
1814
1816
  if (!input.handoff) return mcpError("Error: handoff is required for save-handoff action");
1815
- const { saveHandoff } = await import("./dist-T3DGV5UN.js");
1817
+ const { saveHandoff } = await import("./dist-ZV6GO6FA.js");
1816
1818
  const result = await saveHandoff(
1817
1819
  projectPath,
1818
1820
  input.handoff,
@@ -1834,7 +1836,7 @@ async function handleSaveHandoff(projectPath, input) {
1834
1836
  return resultToMcpResponse(Ok({ saved: true }));
1835
1837
  }
1836
1838
  async function handleLoadHandoff(projectPath, input) {
1837
- const { loadHandoff } = await import("./dist-T3DGV5UN.js");
1839
+ const { loadHandoff } = await import("./dist-ZV6GO6FA.js");
1838
1840
  return resultToMcpResponse(await loadHandoff(projectPath, input.stream, input.session));
1839
1841
  }
1840
1842
  async function handleAppendEntry(projectPath, input) {
@@ -1842,7 +1844,7 @@ async function handleAppendEntry(projectPath, input) {
1842
1844
  if (!input.authorSkill) return mcpError("Error: authorSkill is required for append_entry action");
1843
1845
  if (!input.content) return mcpError("Error: content is required for append_entry action");
1844
1846
  if (input.session) {
1845
- const { appendSessionEntry } = await import("./dist-T3DGV5UN.js");
1847
+ const { appendSessionEntry } = await import("./dist-ZV6GO6FA.js");
1846
1848
  const result = await appendSessionEntry(
1847
1849
  projectPath,
1848
1850
  input.session,
@@ -1855,7 +1857,7 @@ async function handleAppendEntry(projectPath, input) {
1855
1857
  if (input.section !== "decisions") {
1856
1858
  return mcpError("Error: session is required for non-decisions sections");
1857
1859
  }
1858
- const { loadState, saveState } = await import("./dist-T3DGV5UN.js");
1860
+ const { loadState, saveState } = await import("./dist-ZV6GO6FA.js");
1859
1861
  const lr = await loadState(projectPath, input.stream);
1860
1862
  if (!lr.ok) return resultToMcpResponse(lr);
1861
1863
  lr.value.decisions.push({
@@ -1873,7 +1875,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
1873
1875
  if (!input.entryId) return mcpError("Error: entryId is required for update_entry_status action");
1874
1876
  if (!input.newStatus)
1875
1877
  return mcpError("Error: newStatus is required for update_entry_status action");
1876
- const { updateSessionEntryStatus } = await import("./dist-T3DGV5UN.js");
1878
+ const { updateSessionEntryStatus } = await import("./dist-ZV6GO6FA.js");
1877
1879
  const result = await updateSessionEntryStatus(
1878
1880
  projectPath,
1879
1881
  input.session,
@@ -1886,7 +1888,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
1886
1888
  async function handleReadSection(projectPath, input) {
1887
1889
  if (!input.session) return mcpError("Error: session is required for read_section action");
1888
1890
  if (!input.section) return mcpError("Error: section is required for read_section action");
1889
- const { readSessionSection } = await import("./dist-T3DGV5UN.js");
1891
+ const { readSessionSection } = await import("./dist-ZV6GO6FA.js");
1890
1892
  const result = await readSessionSection(
1891
1893
  projectPath,
1892
1894
  input.session,
@@ -1896,13 +1898,13 @@ async function handleReadSection(projectPath, input) {
1896
1898
  }
1897
1899
  async function handleReadSections(projectPath, input) {
1898
1900
  if (!input.session) return mcpError("Error: session is required for read_sections action");
1899
- const { readSessionSections } = await import("./dist-T3DGV5UN.js");
1901
+ const { readSessionSections } = await import("./dist-ZV6GO6FA.js");
1900
1902
  const result = await readSessionSections(projectPath, input.session);
1901
1903
  return resultToMcpResponse(result);
1902
1904
  }
1903
1905
  async function handleArchiveSession(projectPath, input) {
1904
1906
  if (!input.session) return mcpError("Error: session is required for archive_session action");
1905
- const { archiveSession } = await import("./dist-T3DGV5UN.js");
1907
+ const { archiveSession } = await import("./dist-ZV6GO6FA.js");
1906
1908
  const result = await archiveSession(projectPath, input.session);
1907
1909
  if (!result.ok) return resultToMcpResponse(result);
1908
1910
  await autoSyncRoadmap(projectPath);
@@ -1982,7 +1984,7 @@ var listStreamsDefinition = {
1982
1984
  };
1983
1985
  async function handleListStreams(input) {
1984
1986
  try {
1985
- const { listStreams, loadStreamIndex } = await import("./dist-T3DGV5UN.js");
1987
+ const { listStreams, loadStreamIndex } = await import("./dist-ZV6GO6FA.js");
1986
1988
  const projectPath = sanitizePath(input.path);
1987
1989
  const indexResult = await loadStreamIndex(projectPath);
1988
1990
  const streamsResult = await listStreams(projectPath);
@@ -2020,7 +2022,7 @@ var checkPhaseGateDefinition = {
2020
2022
  };
2021
2023
  async function handleCheckPhaseGate(input) {
2022
2024
  try {
2023
- const { runCheckPhaseGate } = await import("./check-phase-gate-RT6PGEHY.js");
2025
+ const { runCheckPhaseGate } = await import("./check-phase-gate-TNY64AOS.js");
2024
2026
  const result = await runCheckPhaseGate({ cwd: sanitizePath(input.path) });
2025
2027
  if (result.ok) {
2026
2028
  return { content: [{ type: "text", text: JSON.stringify(result.value) }] };
@@ -2076,7 +2078,7 @@ async function handleValidateCrossCheck(input) {
2076
2078
  };
2077
2079
  }
2078
2080
  try {
2079
- const { runCrossCheck } = await import("./validate-cross-check-LJKXBQYH.js");
2081
+ const { runCrossCheck } = await import("./validate-cross-check-GQX7OVCR.js");
2080
2082
  const specsDir = path12.resolve(projectPath, input.specsDir ?? "docs/specs");
2081
2083
  if (!specsDir.startsWith(projectPath)) {
2082
2084
  return {
@@ -2799,7 +2801,7 @@ async function handleGenerateSlashCommands(input) {
2799
2801
  // src/mcp/resources/state.ts
2800
2802
  async function getStateResource(projectRoot) {
2801
2803
  try {
2802
- const { loadState, migrateToStreams } = await import("./dist-T3DGV5UN.js");
2804
+ const { loadState, migrateToStreams } = await import("./dist-ZV6GO6FA.js");
2803
2805
  await migrateToStreams(projectRoot);
2804
2806
  const result = await loadState(projectRoot);
2805
2807
  if (result.ok) {
@@ -2917,7 +2919,7 @@ async function handleQueryGraph(input) {
2917
2919
  const projectPath = sanitizePath(input.path);
2918
2920
  const store = await loadGraphStore(projectPath);
2919
2921
  if (!store) return graphNotFoundError();
2920
- const { ContextQL } = await import("./dist-GRW3X2ZQ.js");
2922
+ const { ContextQL } = await import("./dist-HPWNWCT6.js");
2921
2923
  const cql = new ContextQL(store);
2922
2924
  const result = cql.execute({
2923
2925
  rootNodeIds: input.rootNodeIds,
@@ -2999,7 +3001,7 @@ async function handleSearchSimilar(input) {
2999
3001
  const projectPath = sanitizePath(input.path);
3000
3002
  const store = await loadGraphStore(projectPath);
3001
3003
  if (!store) return graphNotFoundError();
3002
- const { FusionLayer } = await import("./dist-GRW3X2ZQ.js");
3004
+ const { FusionLayer } = await import("./dist-HPWNWCT6.js");
3003
3005
  const fusion = new FusionLayer(store);
3004
3006
  const results = fusion.search(input.query, input.topK ?? 10);
3005
3007
  if (input.mode === "summary") {
@@ -3054,7 +3056,7 @@ async function handleFindContextFor(input) {
3054
3056
  const projectPath = sanitizePath(input.path);
3055
3057
  const store = await loadGraphStore(projectPath);
3056
3058
  if (!store) return graphNotFoundError();
3057
- const { FusionLayer, ContextQL } = await import("./dist-GRW3X2ZQ.js");
3059
+ const { FusionLayer, ContextQL } = await import("./dist-HPWNWCT6.js");
3058
3060
  const fusion = new FusionLayer(store);
3059
3061
  const cql = new ContextQL(store);
3060
3062
  const tokenBudget = input.tokenBudget ?? 4e3;
@@ -3159,7 +3161,7 @@ async function handleGetRelationships(input) {
3159
3161
  const projectPath = sanitizePath(input.path);
3160
3162
  const store = await loadGraphStore(projectPath);
3161
3163
  if (!store) return graphNotFoundError();
3162
- const { ContextQL } = await import("./dist-GRW3X2ZQ.js");
3164
+ const { ContextQL } = await import("./dist-HPWNWCT6.js");
3163
3165
  const cql = new ContextQL(store);
3164
3166
  const direction = input.direction ?? "both";
3165
3167
  const bidirectional = direction === "both" || direction === "inbound";
@@ -3277,7 +3279,7 @@ async function handleGetImpact(input) {
3277
3279
  const projectPath = sanitizePath(input.path);
3278
3280
  const store = await loadGraphStore(projectPath);
3279
3281
  if (!store) return graphNotFoundError();
3280
- const { ContextQL } = await import("./dist-GRW3X2ZQ.js");
3282
+ const { ContextQL } = await import("./dist-HPWNWCT6.js");
3281
3283
  let targetNodeId = input.nodeId;
3282
3284
  if (!targetNodeId && input.filePath) {
3283
3285
  const fileNodes = store.findNodes({ type: "file" });
@@ -3409,7 +3411,7 @@ async function handleIngestSource(input) {
3409
3411
  try {
3410
3412
  const projectPath = sanitizePath(input.path);
3411
3413
  const graphDir = path16.join(projectPath, ".harness", "graph");
3412
- const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-GRW3X2ZQ.js");
3414
+ const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-HPWNWCT6.js");
3413
3415
  const fs17 = await import("fs/promises");
3414
3416
  await fs17.mkdir(graphDir, { recursive: true });
3415
3417
  const store = new GraphStore();
@@ -3493,7 +3495,7 @@ async function handleDetectAnomalies(input) {
3493
3495
  const projectPath = sanitizePath(input.path);
3494
3496
  const store = await loadGraphStore(projectPath);
3495
3497
  if (!store) return graphNotFoundError();
3496
- const { GraphAnomalyAdapter } = await import("./dist-GRW3X2ZQ.js");
3498
+ const { GraphAnomalyAdapter } = await import("./dist-HPWNWCT6.js");
3497
3499
  const adapter = new GraphAnomalyAdapter(store);
3498
3500
  const report = adapter.detect({
3499
3501
  ...input.threshold !== void 0 && { threshold: input.threshold },
@@ -3542,7 +3544,7 @@ async function handleAskGraph(input) {
3542
3544
  const projectPath = sanitizePath(input.path);
3543
3545
  const store = await loadGraphStore(projectPath);
3544
3546
  if (!store) return graphNotFoundError();
3545
- const { askGraph } = await import("./dist-GRW3X2ZQ.js");
3547
+ const { askGraph } = await import("./dist-HPWNWCT6.js");
3546
3548
  const result = await askGraph(store, input.question);
3547
3549
  return {
3548
3550
  content: [{ type: "text", text: JSON.stringify(result) }]
@@ -3606,7 +3608,7 @@ async function handleComputeBlastRadius(input) {
3606
3608
  const projectPath = sanitizePath(input.path);
3607
3609
  const store = await loadGraphStore(projectPath);
3608
3610
  if (!store) return graphNotFoundError();
3609
- const { CascadeSimulator } = await import("./dist-GRW3X2ZQ.js");
3611
+ const { CascadeSimulator } = await import("./dist-HPWNWCT6.js");
3610
3612
  let targetNodeId = input.nodeId;
3611
3613
  if (!targetNodeId && input.file) {
3612
3614
  const fileNodes = store.findNodes({ type: "file" });
@@ -3807,7 +3809,7 @@ var generateAgentDefinitionsDefinition = {
3807
3809
  }
3808
3810
  };
3809
3811
  async function handleGenerateAgentDefinitions(input) {
3810
- const { generateAgentDefinitions } = await import("./generate-agent-definitions-MFDW6LZT.js");
3812
+ const { generateAgentDefinitions } = await import("./generate-agent-definitions-3EHPIWBO.js");
3811
3813
  const platforms = input.platform === "all" || !input.platform ? ["claude-code", "gemini-cli"] : [input.platform];
3812
3814
  const results = generateAgentDefinitions({
3813
3815
  platforms: [...platforms],
@@ -4135,7 +4137,7 @@ function shouldTriggerExternalSync(input, response) {
4135
4137
  }
4136
4138
  async function handleManageRoadmap(input) {
4137
4139
  try {
4138
- const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-T3DGV5UN.js");
4140
+ const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-ZV6GO6FA.js");
4139
4141
  const { Ok: Ok2 } = await import("./dist-3EWNRFFQ.js");
4140
4142
  const projectPath = sanitizePath(input.path);
4141
4143
  const deps = {
@@ -4298,8 +4300,12 @@ ${rows.join("\n")}`;
4298
4300
  prompt += `
4299
4301
 
4300
4302
  **Recommendation:** ${recLabel} (confidence: ${recommendation.confidence})`;
4301
- prompt += `
4302
- > ${recommendation.reason}`;
4303
+ const cleanReason = recommendation.reason.trim();
4304
+ const cleanText = text.trim();
4305
+ if (cleanReason && cleanReason !== cleanText && !cleanReason.startsWith(cleanText)) {
4306
+ prompt += `
4307
+ > ${cleanReason}`;
4308
+ }
4303
4309
  }
4304
4310
  }
4305
4311
  return prompt;
@@ -4570,7 +4576,7 @@ async function handleTransition(validInput, projectPath, id) {
4570
4576
  const transition = transitionResult.data;
4571
4577
  const prompt = renderTransition(transition);
4572
4578
  try {
4573
- const { saveHandoff } = await import("./dist-T3DGV5UN.js");
4579
+ const { saveHandoff } = await import("./dist-ZV6GO6FA.js");
4574
4580
  await saveHandoff(
4575
4581
  projectPath,
4576
4582
  {
@@ -4651,7 +4657,7 @@ async function handleEmitInteraction(input) {
4651
4657
  }
4652
4658
  async function recordInteraction(projectPath, id, type, decision, stream) {
4653
4659
  try {
4654
- const { loadState, saveState } = await import("./dist-T3DGV5UN.js");
4660
+ const { loadState, saveState } = await import("./dist-ZV6GO6FA.js");
4655
4661
  const stateResult = await loadState(projectPath, stream);
4656
4662
  if (stateResult.ok) {
4657
4663
  const state = stateResult.value;
@@ -4812,10 +4818,10 @@ async function handleGatherContext(input) {
4812
4818
  input.include ?? ["state", "learnings", "handoff", "graph", "validation"]
4813
4819
  );
4814
4820
  const errors = [];
4815
- const statePromise = includeSet.has("state") ? import("./dist-T3DGV5UN.js").then(
4821
+ const statePromise = includeSet.has("state") ? import("./dist-ZV6GO6FA.js").then(
4816
4822
  (core) => core.loadState(projectPath, void 0, input.session)
4817
4823
  ) : Promise.resolve(null);
4818
- const learningsPromise = includeSet.has("learnings") ? import("./dist-T3DGV5UN.js").then(
4824
+ const learningsPromise = includeSet.has("learnings") ? import("./dist-ZV6GO6FA.js").then(
4819
4825
  (core) => core.loadBudgetedLearnings(projectPath, {
4820
4826
  intent: input.intent,
4821
4827
  tokenBudget: input.learningsBudget ?? 1e3,
@@ -4824,14 +4830,14 @@ async function handleGatherContext(input) {
4824
4830
  ...input.depth !== void 0 && { depth: input.depth }
4825
4831
  })
4826
4832
  ) : Promise.resolve(null);
4827
- const handoffPromise = includeSet.has("handoff") ? import("./dist-T3DGV5UN.js").then(
4833
+ const handoffPromise = includeSet.has("handoff") ? import("./dist-ZV6GO6FA.js").then(
4828
4834
  (core) => core.loadHandoff(projectPath, void 0, input.session)
4829
4835
  ) : Promise.resolve(null);
4830
4836
  const graphPromise = includeSet.has("graph") ? (async () => {
4831
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-QMKXT454.js");
4837
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KXVS3YK3.js");
4832
4838
  const store = await loadGraphStore2(projectPath);
4833
4839
  if (!store) return null;
4834
- const { FusionLayer, ContextQL } = await import("./dist-GRW3X2ZQ.js");
4840
+ const { FusionLayer, ContextQL } = await import("./dist-HPWNWCT6.js");
4835
4841
  const fusion = new FusionLayer(store);
4836
4842
  const cql = new ContextQL(store);
4837
4843
  const tokenBudget = input.tokenBudget ?? 4e3;
@@ -4868,11 +4874,11 @@ async function handleGatherContext(input) {
4868
4874
  context: contextBlocks
4869
4875
  };
4870
4876
  })() : Promise.resolve(null);
4871
- const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-T3DGV5UN.js").then(
4877
+ const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-ZV6GO6FA.js").then(
4872
4878
  (core) => core.readSessionSections(projectPath, input.session)
4873
4879
  ) : Promise.resolve(null);
4874
4880
  const shouldIncludeEvents = input.includeEvents !== void 0 ? input.includeEvents : includeSet.has("events") || !!input.session && !input.include;
4875
- const eventsPromise = shouldIncludeEvents ? import("./dist-T3DGV5UN.js").then(async (core) => {
4881
+ const eventsPromise = shouldIncludeEvents ? import("./dist-ZV6GO6FA.js").then(async (core) => {
4876
4882
  const result = await core.loadEvents(projectPath, {
4877
4883
  session: input.session
4878
4884
  });
@@ -4880,7 +4886,7 @@ async function handleGatherContext(input) {
4880
4886
  return core.formatEventTimeline(result.value);
4881
4887
  }) : Promise.resolve(null);
4882
4888
  const validationPromise = includeSet.has("validation") ? (async () => {
4883
- const { handleValidateProject: handleValidateProject2 } = await import("./validate-35CD7VWN.js");
4889
+ const { handleValidateProject: handleValidateProject2 } = await import("./validate-BFFHYHY7.js");
4884
4890
  const result = await handleValidateProject2({ path: projectPath });
4885
4891
  const first = result.content[0];
4886
4892
  return first ? JSON.parse(first.text) : null;
@@ -4983,7 +4989,7 @@ async function handleGatherContext(input) {
4983
4989
  };
4984
4990
  if (input.session) {
4985
4991
  try {
4986
- const core = await import("./dist-T3DGV5UN.js");
4992
+ const core = await import("./dist-ZV6GO6FA.js");
4987
4993
  core.updateSessionIndex(
4988
4994
  projectPath,
4989
4995
  input.session,
@@ -5135,7 +5141,7 @@ async function handleReviewChanges(input) {
5135
5141
  }
5136
5142
  }
5137
5143
  async function runQuickReview(projectPath, diff, diffLines, downgraded, offset, limit) {
5138
- const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-M5KCJKL2.js");
5144
+ const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-Y4FYN3NR.js");
5139
5145
  const result = await handleAnalyzeDiff2({ diff, path: projectPath });
5140
5146
  const firstContent = result.content[0];
5141
5147
  if (!firstContent) throw new Error("Empty analyze_diff response");
@@ -5170,7 +5176,7 @@ function extractFileCount(diffParsed) {
5170
5176
  return files?.length ?? 0;
5171
5177
  }
5172
5178
  async function runStandardReview(projectPath, diff, diffLines, downgraded, offset, limit) {
5173
- const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-M5KCJKL2.js");
5179
+ const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-Y4FYN3NR.js");
5174
5180
  const [diffResult, reviewResult] = await Promise.all([
5175
5181
  handleAnalyzeDiff2({ diff, path: projectPath }),
5176
5182
  handleCreateSelfReview2({ path: projectPath, diff })
@@ -5205,7 +5211,7 @@ async function runStandardReview(projectPath, diff, diffLines, downgraded, offse
5205
5211
  };
5206
5212
  }
5207
5213
  async function runDeepReview(projectPath, diff, diffLines, _downgraded, offset, limit) {
5208
- const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-DB5RD4SN.js");
5214
+ const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-TLKE5OQD.js");
5209
5215
  const result = await handleRunCodeReview2({
5210
5216
  path: projectPath,
5211
5217
  diff,
@@ -5284,7 +5290,7 @@ async function handleCheckTaskIndependence(input) {
5284
5290
  try {
5285
5291
  const projectPath = sanitizePath(input.path);
5286
5292
  const store = await loadGraphStore(projectPath);
5287
- const { TaskIndependenceAnalyzer } = await import("./dist-GRW3X2ZQ.js");
5293
+ const { TaskIndependenceAnalyzer } = await import("./dist-HPWNWCT6.js");
5288
5294
  const analyzer = new TaskIndependenceAnalyzer(store ?? void 0);
5289
5295
  const result = analyzer.analyze({
5290
5296
  tasks: input.tasks,
@@ -5372,7 +5378,7 @@ async function handlePredictConflicts(input) {
5372
5378
  try {
5373
5379
  const projectPath = sanitizePath(input.path);
5374
5380
  const store = await loadGraphStore(projectPath);
5375
- const { ConflictPredictor } = await import("./dist-GRW3X2ZQ.js");
5381
+ const { ConflictPredictor } = await import("./dist-HPWNWCT6.js");
5376
5382
  const predictor = new ConflictPredictor(store ?? void 0);
5377
5383
  const result = predictor.predict({
5378
5384
  tasks: input.tasks,
@@ -5478,7 +5484,7 @@ async function handleDetectStaleConstraints(input) {
5478
5484
  isError: true
5479
5485
  };
5480
5486
  }
5481
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-QMKXT454.js");
5487
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KXVS3YK3.js");
5482
5488
  const store = await loadGraphStore2(projectPath);
5483
5489
  if (!store) {
5484
5490
  return {
@@ -5499,7 +5505,7 @@ async function handleDetectStaleConstraints(input) {
5499
5505
  ]
5500
5506
  };
5501
5507
  }
5502
- const { detectStaleConstraints } = await import("./dist-T3DGV5UN.js");
5508
+ const { detectStaleConstraints } = await import("./dist-ZV6GO6FA.js");
5503
5509
  const result = detectStaleConstraints(
5504
5510
  store,
5505
5511
  windowDays,
@@ -5619,10 +5625,10 @@ function countCriticalFindings(securityData) {
5619
5625
  return findings.filter((f) => f.severity === "error").length;
5620
5626
  }
5621
5627
  async function runHealthChecks(projectPath) {
5622
- const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-64C6LIKN.js");
5623
- const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-VCLB7A23.js");
5624
- const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-PJGTOORX.js");
5625
- const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-3AYN6FVU.js");
5628
+ const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-QU6XIVJK.js");
5629
+ const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-IJLXRHZA.js");
5630
+ const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-HCXRTDFU.js");
5631
+ const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-5XWINYVB.js");
5626
5632
  const [assessResult, depsResult, entropyResult, securityResult] = await Promise.all([
5627
5633
  handleAssessProject2({
5628
5634
  path: projectPath,
@@ -5677,10 +5683,10 @@ function avg(values) {
5677
5683
  }
5678
5684
  async function runGraphMetrics(projectPath) {
5679
5685
  try {
5680
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-QMKXT454.js");
5686
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KXVS3YK3.js");
5681
5687
  const store = await loadGraphStore2(projectPath);
5682
5688
  if (!store) return ZERO_METRICS;
5683
- const { GraphCouplingAdapter, GraphComplexityAdapter, GraphAnomalyAdapter } = await import("./dist-GRW3X2ZQ.js");
5689
+ const { GraphCouplingAdapter, GraphComplexityAdapter, GraphAnomalyAdapter } = await import("./dist-HPWNWCT6.js");
5684
5690
  const couplingAdapter = new GraphCouplingAdapter(store);
5685
5691
  const couplingData = couplingAdapter.computeCouplingData();
5686
5692
  const files = couplingData.files;
@@ -6419,7 +6425,7 @@ async function handleGetDecayTrends(input) {
6419
6425
  };
6420
6426
  }
6421
6427
  try {
6422
- const core = await import("./dist-T3DGV5UN.js");
6428
+ const core = await import("./dist-ZV6GO6FA.js");
6423
6429
  const { TimelineManager } = core;
6424
6430
  const manager = new TimelineManager(projectPath);
6425
6431
  const timeline = manager.load();
@@ -6554,7 +6560,7 @@ async function handleCodeOutline(input) {
6554
6560
  };
6555
6561
  }
6556
6562
  try {
6557
- const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-T3DGV5UN.js");
6563
+ const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-ZV6GO6FA.js");
6558
6564
  const { stat } = await import("fs/promises");
6559
6565
  const stats = await stat(targetPath).catch(() => null);
6560
6566
  if (stats?.isFile()) {
@@ -6573,7 +6579,7 @@ async function handleCodeOutline(input) {
6573
6579
  })
6574
6580
  );
6575
6581
  fileStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
6576
- const { paginate: paginate2 } = await import("./dist-T3DGV5UN.js");
6582
+ const { paginate: paginate2 } = await import("./dist-ZV6GO6FA.js");
6577
6583
  const paged = paginate2(fileStats, input.offset ?? 0, input.limit ?? 30);
6578
6584
  const results = [];
6579
6585
  for (const entry of paged.items) {
@@ -6646,7 +6652,7 @@ async function handleCodeSearch(input) {
6646
6652
  };
6647
6653
  }
6648
6654
  try {
6649
- const { searchSymbols } = await import("./dist-T3DGV5UN.js");
6655
+ const { searchSymbols } = await import("./dist-ZV6GO6FA.js");
6650
6656
  const result = await searchSymbols(input.query, directory, input.glob);
6651
6657
  const lines = [`Search: "${result.query}" \u2014 ${result.matches.length} matches`];
6652
6658
  for (const match of result.matches) {
@@ -6715,7 +6721,7 @@ async function handleCodeUnfold(input) {
6715
6721
  }
6716
6722
  try {
6717
6723
  if (input.symbol) {
6718
- const { unfoldSymbol } = await import("./dist-T3DGV5UN.js");
6724
+ const { unfoldSymbol } = await import("./dist-ZV6GO6FA.js");
6719
6725
  const result = await unfoldSymbol(filePath, input.symbol);
6720
6726
  const header = result.warning ? `${result.file}:${result.startLine}-${result.endLine} ${result.warning}
6721
6727
  ` : `${result.file}:${result.startLine}-${result.endLine}
@@ -6723,7 +6729,7 @@ async function handleCodeUnfold(input) {
6723
6729
  return { content: [{ type: "text", text: header + result.content }] };
6724
6730
  }
6725
6731
  if (input.startLine != null && input.endLine != null) {
6726
- const { unfoldRange } = await import("./dist-T3DGV5UN.js");
6732
+ const { unfoldRange } = await import("./dist-ZV6GO6FA.js");
6727
6733
  const result = await unfoldRange(filePath, input.startLine, input.endLine);
6728
6734
  const header = `${result.file}:${result.startLine}-${result.endLine}
6729
6735
  `;
@@ -6785,7 +6791,7 @@ async function handleCheckTraceability(input) {
6785
6791
  isError: true
6786
6792
  };
6787
6793
  }
6788
- const { queryTraceability } = await import("./dist-GRW3X2ZQ.js");
6794
+ const { queryTraceability } = await import("./dist-HPWNWCT6.js");
6789
6795
  const options = {};
6790
6796
  if (input.spec) options.specPath = input.spec;
6791
6797
  if (input.feature) options.featureName = input.feature;
@@ -6908,7 +6914,7 @@ async function handlePredictFailures(input) {
6908
6914
  };
6909
6915
  }
6910
6916
  try {
6911
- const core = await import("./dist-T3DGV5UN.js");
6917
+ const core = await import("./dist-ZV6GO6FA.js");
6912
6918
  const { TimelineManager, PredictionEngine, SpecImpactEstimator } = core;
6913
6919
  const manager = new TimelineManager(projectPath);
6914
6920
  const includeRoadmap = input.includeRoadmap !== false;
@@ -7098,7 +7104,7 @@ function handleContentMode(content, pipeline, budget, source) {
7098
7104
  };
7099
7105
  }
7100
7106
  async function handleIntentMode(projectPath, intent, pipeline, budget, filterContent) {
7101
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-QMKXT454.js");
7107
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KXVS3YK3.js");
7102
7108
  const store = await loadGraphStore2(projectPath);
7103
7109
  if (!store) {
7104
7110
  return {
@@ -7111,7 +7117,7 @@ async function handleIntentMode(projectPath, intent, pipeline, budget, filterCon
7111
7117
  isError: true
7112
7118
  };
7113
7119
  }
7114
- const { PackedSummaryCache, FusionLayer, ContextQL } = await import("./dist-GRW3X2ZQ.js");
7120
+ const { PackedSummaryCache, FusionLayer, ContextQL } = await import("./dist-HPWNWCT6.js");
7115
7121
  const cache = new PackedSummaryCache(store);
7116
7122
  const cachedEnvelope = cache.get(intent);
7117
7123
  if (cachedEnvelope) {
@@ -7324,7 +7330,7 @@ async function handleDetectConstraintEmergence(input) {
7324
7330
  }
7325
7331
  const nodePath = await import("path");
7326
7332
  const historyPath = nodePath.resolve(projectPath, ".harness/arch/violation-history.json");
7327
- const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-T3DGV5UN.js");
7333
+ const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-ZV6GO6FA.js");
7328
7334
  const manager = new ViolationHistoryManager(historyPath);
7329
7335
  const history = manager.load();
7330
7336
  const options = { windowWeeks, minOccurrences };
@@ -7574,7 +7580,7 @@ async function appendUpdateNotification(result, resolvedRoot) {
7574
7580
  shouldRunCheck,
7575
7581
  readCheckState,
7576
7582
  spawnBackgroundCheck
7577
- } = await import("./dist-T3DGV5UN.js");
7583
+ } = await import("./dist-ZV6GO6FA.js");
7578
7584
  const { CLI_VERSION } = await import("./version-CUI434OP.js");
7579
7585
  const configInterval = readConfigInterval(resolvedRoot);
7580
7586
  const DEFAULT_INTERVAL = 864e5;