@harness-engineering/cli 1.25.7 → 1.26.0

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 (61) hide show
  1. package/dist/agents/skills/claude-code/harness-knowledge-pipeline/SKILL.md +277 -0
  2. package/dist/agents/skills/claude-code/harness-knowledge-pipeline/skill.yaml +60 -0
  3. package/dist/agents/skills/codex/harness-knowledge-pipeline/SKILL.md +277 -0
  4. package/dist/agents/skills/codex/harness-knowledge-pipeline/skill.yaml +60 -0
  5. package/dist/agents/skills/cursor/harness-knowledge-pipeline/SKILL.md +277 -0
  6. package/dist/agents/skills/cursor/harness-knowledge-pipeline/skill.yaml +60 -0
  7. package/dist/agents/skills/gemini-cli/harness-knowledge-pipeline/SKILL.md +277 -0
  8. package/dist/agents/skills/gemini-cli/harness-knowledge-pipeline/skill.yaml +60 -0
  9. package/dist/agents/skills/package.json +2 -2
  10. package/dist/{agents-md-QPO3H5HX.js → agents-md-OPOZA5L7.js} +3 -3
  11. package/dist/{architecture-IJLXRHZA.js → architecture-PMVMO6SF.js} +4 -4
  12. package/dist/{assess-project-QU6XIVJK.js → assess-project-ZW7EKNIT.js} +1 -1
  13. package/dist/bin/harness-mcp.js +15 -15
  14. package/dist/bin/harness.js +25 -25
  15. package/dist/{check-phase-gate-TNY64AOS.js → check-phase-gate-NTLAU3LO.js} +4 -4
  16. package/dist/{chunk-TQRCODRJ.js → chunk-4KSKV5MK.js} +1 -1
  17. package/dist/{chunk-IT2KORSK.js → chunk-6SCA4NEZ.js} +1 -1
  18. package/dist/{chunk-ZIYLIYN4.js → chunk-77EZGPSR.js} +1 -1
  19. package/dist/{chunk-D3XL2FLX.js → chunk-7JNZXJKY.js} +5 -5
  20. package/dist/{chunk-JJQ3TW2E.js → chunk-CAS3TS4Y.js} +101 -89
  21. package/dist/{chunk-K35D7HF3.js → chunk-EXTWTJRF.js} +1 -1
  22. package/dist/{chunk-AS5DQT4S.js → chunk-FI3D6D7U.js} +9 -9
  23. package/dist/{chunk-2DF6OZLG.js → chunk-G6SYTGOH.js} +2 -2
  24. package/dist/{chunk-KVJZQ2MV.js → chunk-HAOBHL3W.js} +1 -1
  25. package/dist/{chunk-MLOGYWLY.js → chunk-IFHAUFJX.js} +2 -2
  26. package/dist/{chunk-IQO7IINR.js → chunk-J3O64D2A.js} +1 -1
  27. package/dist/{chunk-LTCEV7VF.js → chunk-JBJ4AVE4.js} +3 -3
  28. package/dist/{chunk-FRDS4XGD.js → chunk-JWSVLC4I.js} +1 -1
  29. package/dist/{chunk-K533WNZG.js → chunk-JZ6GORAK.js} +1 -1
  30. package/dist/{chunk-YRBNAHH4.js → chunk-KFE2X7LG.js} +4 -4
  31. package/dist/{chunk-MCDCZMKN.js → chunk-KSFUJT5B.js} +1 -1
  32. package/dist/{chunk-LXPRO2FH.js → chunk-KXIAHHHP.js} +2 -2
  33. package/dist/{chunk-E5Z6NTTQ.js → chunk-NIOB6FTG.js} +1 -1
  34. package/dist/{chunk-PCOU2UXU.js → chunk-NVGQO4VM.js} +8 -8
  35. package/dist/{chunk-G5SNXUIK.js → chunk-QYSWNPXZ.js} +1 -1
  36. package/dist/{chunk-XVJRFP7W.js → chunk-RNAGPTKF.js} +6 -6
  37. package/dist/{chunk-GVNT2YC7.js → chunk-UBRD5FH4.js} +9 -9
  38. package/dist/{chunk-NKQEMWGT.js → chunk-VV2PJT4K.js} +3321 -207
  39. package/dist/{chunk-JPZY7ZQX.js → chunk-Z2JORLRT.js} +1 -1
  40. package/dist/{chunk-SZ3Q4XEO.js → chunk-ZBQ3ZY75.js} +433 -283
  41. package/dist/{ci-workflow-FJYRFZYQ.js → ci-workflow-H52EMCL6.js} +3 -3
  42. package/dist/{dist-HPWNWCT6.js → dist-PGQ32ZI7.js} +41 -1
  43. package/dist/{dist-ZV6GO6FA.js → dist-TG63OKA5.js} +2 -2
  44. package/dist/{docs-7DW3DI4Z.js → docs-GP4VUSIB.js} +4 -4
  45. package/dist/{engine-P7EE2IWO.js → engine-KQG5RVXX.js} +3 -3
  46. package/dist/{entropy-HCXRTDFU.js → entropy-RXESIYKC.js} +3 -3
  47. package/dist/{feedback-Y4FYN3NR.js → feedback-HS7ZYXOU.js} +1 -1
  48. package/dist/{generate-agent-definitions-3EHPIWBO.js → generate-agent-definitions-I4B7CVOB.js} +4 -4
  49. package/dist/{graph-loader-KXVS3YK3.js → graph-loader-TIVI6NQ7.js} +1 -1
  50. package/dist/index.d.ts +8 -8
  51. package/dist/index.js +25 -25
  52. package/dist/{loader-SKHF3JVV.js → loader-CWAH6B4H.js} +3 -3
  53. package/dist/{mcp-MWYIPDQU.js → mcp-KHK5KYER.js} +15 -15
  54. package/dist/{performance-ADWH5NJY.js → performance-WDW5WS3J.js} +4 -4
  55. package/dist/{review-pipeline-TLKE5OQD.js → review-pipeline-QOZGWCTY.js} +3 -3
  56. package/dist/{runtime-7LYAW7GU.js → runtime-SFEFRPLX.js} +3 -3
  57. package/dist/{scan-BGJ7TLLV.js → scan-IJ7EYTF7.js} +1 -1
  58. package/dist/{security-5XWINYVB.js → security-2K7UUK6T.js} +1 -1
  59. package/dist/{validate-BFFHYHY7.js → validate-HXM6DXRZ.js} +4 -4
  60. package/dist/{validate-cross-check-GQX7OVCR.js → validate-cross-check-ULQLEOME.js} +3 -3
  61. package/package.json +9 -9
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  assessProjectDefinition,
3
3
  handleAssessProject
4
- } from "./chunk-XVJRFP7W.js";
4
+ } from "./chunk-RNAGPTKF.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-GVNT2YC7.js";
15
+ } from "./chunk-UBRD5FH4.js";
16
16
  import {
17
17
  getSecurityTrendsDefinition,
18
18
  handleGetSecurityTrends,
19
19
  handleRunSecurityScan,
20
20
  runSecurityScanDefinition
21
- } from "./chunk-MLOGYWLY.js";
21
+ } from "./chunk-IFHAUFJX.js";
22
22
  import {
23
23
  handleRunCodeReview,
24
24
  runCodeReviewDefinition,
25
25
  sortFindingsBySeverity
26
- } from "./chunk-2DF6OZLG.js";
26
+ } from "./chunk-G6SYTGOH.js";
27
27
  import {
28
28
  handleValidateProject,
29
29
  validateToolDefinition
30
- } from "./chunk-LTCEV7VF.js";
30
+ } from "./chunk-JBJ4AVE4.js";
31
31
  import {
32
32
  checkDependenciesDefinition,
33
33
  handleCheckDependencies
34
- } from "./chunk-YRBNAHH4.js";
34
+ } from "./chunk-KFE2X7LG.js";
35
35
  import {
36
36
  resolveProjectConfig
37
- } from "./chunk-IQO7IINR.js";
37
+ } from "./chunk-J3O64D2A.js";
38
38
  import {
39
39
  checkDocsDefinition,
40
40
  handleCheckDocs
41
- } from "./chunk-AS5DQT4S.js";
41
+ } from "./chunk-FI3D6D7U.js";
42
42
  import {
43
43
  detectEntropyDefinition,
44
44
  handleDetectEntropy
45
- } from "./chunk-D3XL2FLX.js";
45
+ } from "./chunk-7JNZXJKY.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-PCOU2UXU.js";
55
+ } from "./chunk-NVGQO4VM.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-TQRCODRJ.js";
64
+ } from "./chunk-4KSKV5MK.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-JPZY7ZQX.js";
86
+ } from "./chunk-Z2JORLRT.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-ZIYLIYN4.js";
104
+ } from "./chunk-77EZGPSR.js";
105
105
  import {
106
106
  Err,
107
107
  Ok
@@ -701,7 +701,7 @@ ${skippedMsg}`
701
701
  async function handleInitProject(input) {
702
702
  const i = input;
703
703
  try {
704
- const { TemplateEngine } = await import("./engine-P7EE2IWO.js");
704
+ const { TemplateEngine } = await import("./engine-KQG5RVXX.js");
705
705
  const engine = new TemplateEngine(resolveTemplatesDir());
706
706
  const safePath = sanitizePath(i.path);
707
707
  const detected = tryDetectFramework(engine, safePath, i);
@@ -723,7 +723,7 @@ var listPersonasDefinition = {
723
723
  inputSchema: { type: "object", properties: {} }
724
724
  };
725
725
  async function handleListPersonas() {
726
- const { listPersonas } = await import("./loader-SKHF3JVV.js");
726
+ const { listPersonas } = await import("./loader-CWAH6B4H.js");
727
727
  const result = listPersonas(resolvePersonasDir());
728
728
  return resultToMcpResponse(result);
729
729
  }
@@ -747,10 +747,10 @@ async function handleGeneratePersonaArtifacts(input) {
747
747
  if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.name)) {
748
748
  return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.name}`)));
749
749
  }
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");
750
+ const { loadPersona } = await import("./loader-CWAH6B4H.js");
751
+ const { generateRuntime } = await import("./runtime-SFEFRPLX.js");
752
+ const { generateAgentsMd } = await import("./agents-md-OPOZA5L7.js");
753
+ const { generateCIWorkflow } = await import("./ci-workflow-H52EMCL6.js");
754
754
  const personasDir = resolvePersonasDir();
755
755
  const filePath = path3.join(personasDir, `${input.name}.yaml`);
756
756
  if (!filePath.startsWith(personasDir)) {
@@ -805,7 +805,7 @@ async function handleRunPersona(input) {
805
805
  if (!/^[a-z0-9][a-z0-9._-]*$/i.test(input.persona)) {
806
806
  return resultToMcpResponse(Err(new Error(`Invalid persona name: ${input.persona}`)));
807
807
  }
808
- const { loadPersona } = await import("./loader-SKHF3JVV.js");
808
+ const { loadPersona } = await import("./loader-CWAH6B4H.js");
809
809
  const { runPersona } = await import("./runner-AAEF2TXY.js");
810
810
  const { executeSkill } = await import("./skill-executor-MOCUIAYS.js");
811
811
  const personasDir = resolvePersonasDir();
@@ -1344,7 +1344,7 @@ function loadOrGenerateProfile(projectRoot) {
1344
1344
  // src/mcp/tools/event-emitter.ts
1345
1345
  async function emitSkillEvent(projectPath, event) {
1346
1346
  try {
1347
- const { emitEvent } = await import("./dist-ZV6GO6FA.js");
1347
+ const { emitEvent } = await import("./dist-TG63OKA5.js");
1348
1348
  await emitEvent(projectPath, event);
1349
1349
  } catch {
1350
1350
  }
@@ -1616,7 +1616,7 @@ async function autoSyncRoadmap(projectPath) {
1616
1616
  try {
1617
1617
  const roadmapFile = path11.join(projectPath, "docs", "roadmap.md");
1618
1618
  if (!fs10.existsSync(roadmapFile)) return;
1619
- const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-ZV6GO6FA.js");
1619
+ const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges } = await import("./dist-TG63OKA5.js");
1620
1620
  const raw = fs10.readFileSync(roadmapFile, "utf-8");
1621
1621
  const parseResult = parseRoadmap(raw);
1622
1622
  if (!parseResult.ok) return;
@@ -1646,7 +1646,7 @@ async function triggerExternalSync(projectPath, roadmapFile) {
1646
1646
  console.warn("[roadmap-sync] GITHUB_TOKEN not found \u2014 external sync skipped");
1647
1647
  return;
1648
1648
  }
1649
- const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-ZV6GO6FA.js");
1649
+ const { fullSync, GitHubIssuesSyncAdapter } = await import("./dist-TG63OKA5.js");
1650
1650
  const adapter = new GitHubIssuesSyncAdapter({
1651
1651
  token,
1652
1652
  config: trackerConfig
@@ -1743,12 +1743,12 @@ var manageStateDefinition = {
1743
1743
  }
1744
1744
  };
1745
1745
  async function handleShow(projectPath, input) {
1746
- const { loadState } = await import("./dist-ZV6GO6FA.js");
1746
+ const { loadState } = await import("./dist-TG63OKA5.js");
1747
1747
  return resultToMcpResponse(await loadState(projectPath, input.stream, input.session));
1748
1748
  }
1749
1749
  async function handleLearn(projectPath, input) {
1750
1750
  if (!input.learning) return mcpError("Error: learning is required for learn action");
1751
- const { appendLearning } = await import("./dist-ZV6GO6FA.js");
1751
+ const { appendLearning } = await import("./dist-TG63OKA5.js");
1752
1752
  const result = await appendLearning(
1753
1753
  projectPath,
1754
1754
  input.learning,
@@ -1763,7 +1763,7 @@ async function handleLearn(projectPath, input) {
1763
1763
  async function handleFailure(projectPath, input) {
1764
1764
  if (!input.description) return mcpError("Error: description is required for failure action");
1765
1765
  if (!input.failureType) return mcpError("Error: failureType is required for failure action");
1766
- const { appendFailure } = await import("./dist-ZV6GO6FA.js");
1766
+ const { appendFailure } = await import("./dist-TG63OKA5.js");
1767
1767
  const result = await appendFailure(
1768
1768
  projectPath,
1769
1769
  input.description,
@@ -1782,19 +1782,19 @@ async function handleFailure(projectPath, input) {
1782
1782
  return resultToMcpResponse(Ok({ recorded: true }));
1783
1783
  }
1784
1784
  async function handleArchive(projectPath, input) {
1785
- const { archiveFailures } = await import("./dist-ZV6GO6FA.js");
1785
+ const { archiveFailures } = await import("./dist-TG63OKA5.js");
1786
1786
  const result = await archiveFailures(projectPath, input.stream, input.session);
1787
1787
  if (!result.ok) return resultToMcpResponse(result);
1788
1788
  return resultToMcpResponse(Ok({ archived: true }));
1789
1789
  }
1790
1790
  async function handleReset(projectPath, input) {
1791
- const { saveState, DEFAULT_STATE } = await import("./dist-ZV6GO6FA.js");
1791
+ const { saveState, DEFAULT_STATE } = await import("./dist-TG63OKA5.js");
1792
1792
  const result = await saveState(projectPath, { ...DEFAULT_STATE }, input.stream, input.session);
1793
1793
  if (!result.ok) return resultToMcpResponse(result);
1794
1794
  return resultToMcpResponse(Ok({ reset: true }));
1795
1795
  }
1796
1796
  async function handleGate(projectPath, input) {
1797
- const { runMechanicalGate } = await import("./dist-ZV6GO6FA.js");
1797
+ const { runMechanicalGate } = await import("./dist-TG63OKA5.js");
1798
1798
  const result = await runMechanicalGate(projectPath);
1799
1799
  if (result.ok) {
1800
1800
  await emitSkillEvent(projectPath, {
@@ -1814,7 +1814,7 @@ async function handleGate(projectPath, input) {
1814
1814
  }
1815
1815
  async function handleSaveHandoff(projectPath, input) {
1816
1816
  if (!input.handoff) return mcpError("Error: handoff is required for save-handoff action");
1817
- const { saveHandoff } = await import("./dist-ZV6GO6FA.js");
1817
+ const { saveHandoff } = await import("./dist-TG63OKA5.js");
1818
1818
  const result = await saveHandoff(
1819
1819
  projectPath,
1820
1820
  input.handoff,
@@ -1836,7 +1836,7 @@ async function handleSaveHandoff(projectPath, input) {
1836
1836
  return resultToMcpResponse(Ok({ saved: true }));
1837
1837
  }
1838
1838
  async function handleLoadHandoff(projectPath, input) {
1839
- const { loadHandoff } = await import("./dist-ZV6GO6FA.js");
1839
+ const { loadHandoff } = await import("./dist-TG63OKA5.js");
1840
1840
  return resultToMcpResponse(await loadHandoff(projectPath, input.stream, input.session));
1841
1841
  }
1842
1842
  async function handleAppendEntry(projectPath, input) {
@@ -1844,7 +1844,7 @@ async function handleAppendEntry(projectPath, input) {
1844
1844
  if (!input.authorSkill) return mcpError("Error: authorSkill is required for append_entry action");
1845
1845
  if (!input.content) return mcpError("Error: content is required for append_entry action");
1846
1846
  if (input.session) {
1847
- const { appendSessionEntry } = await import("./dist-ZV6GO6FA.js");
1847
+ const { appendSessionEntry } = await import("./dist-TG63OKA5.js");
1848
1848
  const result = await appendSessionEntry(
1849
1849
  projectPath,
1850
1850
  input.session,
@@ -1857,7 +1857,7 @@ async function handleAppendEntry(projectPath, input) {
1857
1857
  if (input.section !== "decisions") {
1858
1858
  return mcpError("Error: session is required for non-decisions sections");
1859
1859
  }
1860
- const { loadState, saveState } = await import("./dist-ZV6GO6FA.js");
1860
+ const { loadState, saveState } = await import("./dist-TG63OKA5.js");
1861
1861
  const lr = await loadState(projectPath, input.stream);
1862
1862
  if (!lr.ok) return resultToMcpResponse(lr);
1863
1863
  lr.value.decisions.push({
@@ -1875,7 +1875,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
1875
1875
  if (!input.entryId) return mcpError("Error: entryId is required for update_entry_status action");
1876
1876
  if (!input.newStatus)
1877
1877
  return mcpError("Error: newStatus is required for update_entry_status action");
1878
- const { updateSessionEntryStatus } = await import("./dist-ZV6GO6FA.js");
1878
+ const { updateSessionEntryStatus } = await import("./dist-TG63OKA5.js");
1879
1879
  const result = await updateSessionEntryStatus(
1880
1880
  projectPath,
1881
1881
  input.session,
@@ -1888,7 +1888,7 @@ async function handleUpdateEntryStatus(projectPath, input) {
1888
1888
  async function handleReadSection(projectPath, input) {
1889
1889
  if (!input.session) return mcpError("Error: session is required for read_section action");
1890
1890
  if (!input.section) return mcpError("Error: section is required for read_section action");
1891
- const { readSessionSection } = await import("./dist-ZV6GO6FA.js");
1891
+ const { readSessionSection } = await import("./dist-TG63OKA5.js");
1892
1892
  const result = await readSessionSection(
1893
1893
  projectPath,
1894
1894
  input.session,
@@ -1898,13 +1898,13 @@ async function handleReadSection(projectPath, input) {
1898
1898
  }
1899
1899
  async function handleReadSections(projectPath, input) {
1900
1900
  if (!input.session) return mcpError("Error: session is required for read_sections action");
1901
- const { readSessionSections } = await import("./dist-ZV6GO6FA.js");
1901
+ const { readSessionSections } = await import("./dist-TG63OKA5.js");
1902
1902
  const result = await readSessionSections(projectPath, input.session);
1903
1903
  return resultToMcpResponse(result);
1904
1904
  }
1905
1905
  async function handleArchiveSession(projectPath, input) {
1906
1906
  if (!input.session) return mcpError("Error: session is required for archive_session action");
1907
- const { archiveSession } = await import("./dist-ZV6GO6FA.js");
1907
+ const { archiveSession } = await import("./dist-TG63OKA5.js");
1908
1908
  const result = await archiveSession(projectPath, input.session);
1909
1909
  if (!result.ok) return resultToMcpResponse(result);
1910
1910
  await autoSyncRoadmap(projectPath);
@@ -1984,7 +1984,7 @@ var listStreamsDefinition = {
1984
1984
  };
1985
1985
  async function handleListStreams(input) {
1986
1986
  try {
1987
- const { listStreams, loadStreamIndex } = await import("./dist-ZV6GO6FA.js");
1987
+ const { listStreams, loadStreamIndex } = await import("./dist-TG63OKA5.js");
1988
1988
  const projectPath = sanitizePath(input.path);
1989
1989
  const indexResult = await loadStreamIndex(projectPath);
1990
1990
  const streamsResult = await listStreams(projectPath);
@@ -2022,7 +2022,7 @@ var checkPhaseGateDefinition = {
2022
2022
  };
2023
2023
  async function handleCheckPhaseGate(input) {
2024
2024
  try {
2025
- const { runCheckPhaseGate } = await import("./check-phase-gate-TNY64AOS.js");
2025
+ const { runCheckPhaseGate } = await import("./check-phase-gate-NTLAU3LO.js");
2026
2026
  const result = await runCheckPhaseGate({ cwd: sanitizePath(input.path) });
2027
2027
  if (result.ok) {
2028
2028
  return { content: [{ type: "text", text: JSON.stringify(result.value) }] };
@@ -2078,7 +2078,7 @@ async function handleValidateCrossCheck(input) {
2078
2078
  };
2079
2079
  }
2080
2080
  try {
2081
- const { runCrossCheck } = await import("./validate-cross-check-GQX7OVCR.js");
2081
+ const { runCrossCheck } = await import("./validate-cross-check-ULQLEOME.js");
2082
2082
  const specsDir = path12.resolve(projectPath, input.specsDir ?? "docs/specs");
2083
2083
  if (!specsDir.startsWith(projectPath)) {
2084
2084
  return {
@@ -2801,7 +2801,7 @@ async function handleGenerateSlashCommands(input) {
2801
2801
  // src/mcp/resources/state.ts
2802
2802
  async function getStateResource(projectRoot) {
2803
2803
  try {
2804
- const { loadState, migrateToStreams } = await import("./dist-ZV6GO6FA.js");
2804
+ const { loadState, migrateToStreams } = await import("./dist-TG63OKA5.js");
2805
2805
  await migrateToStreams(projectRoot);
2806
2806
  const result = await loadState(projectRoot);
2807
2807
  if (result.ok) {
@@ -2919,7 +2919,7 @@ async function handleQueryGraph(input) {
2919
2919
  const projectPath = sanitizePath(input.path);
2920
2920
  const store = await loadGraphStore(projectPath);
2921
2921
  if (!store) return graphNotFoundError();
2922
- const { ContextQL } = await import("./dist-HPWNWCT6.js");
2922
+ const { ContextQL } = await import("./dist-PGQ32ZI7.js");
2923
2923
  const cql = new ContextQL(store);
2924
2924
  const result = cql.execute({
2925
2925
  rootNodeIds: input.rootNodeIds,
@@ -3001,7 +3001,7 @@ async function handleSearchSimilar(input) {
3001
3001
  const projectPath = sanitizePath(input.path);
3002
3002
  const store = await loadGraphStore(projectPath);
3003
3003
  if (!store) return graphNotFoundError();
3004
- const { FusionLayer } = await import("./dist-HPWNWCT6.js");
3004
+ const { FusionLayer } = await import("./dist-PGQ32ZI7.js");
3005
3005
  const fusion = new FusionLayer(store);
3006
3006
  const results = fusion.search(input.query, input.topK ?? 10);
3007
3007
  if (input.mode === "summary") {
@@ -3056,7 +3056,7 @@ async function handleFindContextFor(input) {
3056
3056
  const projectPath = sanitizePath(input.path);
3057
3057
  const store = await loadGraphStore(projectPath);
3058
3058
  if (!store) return graphNotFoundError();
3059
- const { FusionLayer, ContextQL } = await import("./dist-HPWNWCT6.js");
3059
+ const { FusionLayer, ContextQL } = await import("./dist-PGQ32ZI7.js");
3060
3060
  const fusion = new FusionLayer(store);
3061
3061
  const cql = new ContextQL(store);
3062
3062
  const tokenBudget = input.tokenBudget ?? 4e3;
@@ -3161,7 +3161,7 @@ async function handleGetRelationships(input) {
3161
3161
  const projectPath = sanitizePath(input.path);
3162
3162
  const store = await loadGraphStore(projectPath);
3163
3163
  if (!store) return graphNotFoundError();
3164
- const { ContextQL } = await import("./dist-HPWNWCT6.js");
3164
+ const { ContextQL } = await import("./dist-PGQ32ZI7.js");
3165
3165
  const cql = new ContextQL(store);
3166
3166
  const direction = input.direction ?? "both";
3167
3167
  const bidirectional = direction === "both" || direction === "inbound";
@@ -3279,7 +3279,7 @@ async function handleGetImpact(input) {
3279
3279
  const projectPath = sanitizePath(input.path);
3280
3280
  const store = await loadGraphStore(projectPath);
3281
3281
  if (!store) return graphNotFoundError();
3282
- const { ContextQL } = await import("./dist-HPWNWCT6.js");
3282
+ const { ContextQL } = await import("./dist-PGQ32ZI7.js");
3283
3283
  let targetNodeId = input.nodeId;
3284
3284
  if (!targetNodeId && input.filePath) {
3285
3285
  const fileNodes = store.findNodes({ type: "file" });
@@ -3400,7 +3400,7 @@ var ingestSourceDefinition = {
3400
3400
  path: { type: "string", description: "Path to project root" },
3401
3401
  source: {
3402
3402
  type: "string",
3403
- enum: ["code", "knowledge", "git", "all"],
3403
+ enum: ["code", "knowledge", "git", "business-signals", "diagrams", "all"],
3404
3404
  description: "Type of source to ingest"
3405
3405
  }
3406
3406
  },
@@ -3411,7 +3411,7 @@ async function handleIngestSource(input) {
3411
3411
  try {
3412
3412
  const projectPath = sanitizePath(input.path);
3413
3413
  const graphDir = path16.join(projectPath, ".harness", "graph");
3414
- const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-HPWNWCT6.js");
3414
+ const { GraphStore, CodeIngestor, TopologicalLinker, KnowledgeIngestor, GitIngestor } = await import("./dist-PGQ32ZI7.js");
3415
3415
  const fs17 = await import("fs/promises");
3416
3416
  await fs17.mkdir(graphDir, { recursive: true });
3417
3417
  const store = new GraphStore();
@@ -3434,6 +3434,18 @@ async function handleIngestSource(input) {
3434
3434
  const gitResult = await gitIngestor.ingest(projectPath);
3435
3435
  results.push(gitResult);
3436
3436
  }
3437
+ if (input.source === "business-signals" || input.source === "all") {
3438
+ const { createExtractionRunner } = await import("./dist-PGQ32ZI7.js");
3439
+ const extractedDir = path16.join(projectPath, ".harness", "knowledge", "extracted");
3440
+ const signalsResult = await createExtractionRunner().run(projectPath, store, extractedDir);
3441
+ results.push(signalsResult);
3442
+ }
3443
+ if (input.source === "diagrams" || input.source === "all") {
3444
+ const { DiagramParser } = await import("./dist-PGQ32ZI7.js");
3445
+ const diagramParser = new DiagramParser(store);
3446
+ const diagramResult = await diagramParser.ingest(projectPath);
3447
+ results.push(diagramResult);
3448
+ }
3437
3449
  await store.save(graphDir);
3438
3450
  const combined = {
3439
3451
  nodesAdded: results.reduce((s, r) => s + r.nodesAdded, 0),
@@ -3495,7 +3507,7 @@ async function handleDetectAnomalies(input) {
3495
3507
  const projectPath = sanitizePath(input.path);
3496
3508
  const store = await loadGraphStore(projectPath);
3497
3509
  if (!store) return graphNotFoundError();
3498
- const { GraphAnomalyAdapter } = await import("./dist-HPWNWCT6.js");
3510
+ const { GraphAnomalyAdapter } = await import("./dist-PGQ32ZI7.js");
3499
3511
  const adapter = new GraphAnomalyAdapter(store);
3500
3512
  const report = adapter.detect({
3501
3513
  ...input.threshold !== void 0 && { threshold: input.threshold },
@@ -3544,7 +3556,7 @@ async function handleAskGraph(input) {
3544
3556
  const projectPath = sanitizePath(input.path);
3545
3557
  const store = await loadGraphStore(projectPath);
3546
3558
  if (!store) return graphNotFoundError();
3547
- const { askGraph } = await import("./dist-HPWNWCT6.js");
3559
+ const { askGraph } = await import("./dist-PGQ32ZI7.js");
3548
3560
  const result = await askGraph(store, input.question);
3549
3561
  return {
3550
3562
  content: [{ type: "text", text: JSON.stringify(result) }]
@@ -3608,7 +3620,7 @@ async function handleComputeBlastRadius(input) {
3608
3620
  const projectPath = sanitizePath(input.path);
3609
3621
  const store = await loadGraphStore(projectPath);
3610
3622
  if (!store) return graphNotFoundError();
3611
- const { CascadeSimulator } = await import("./dist-HPWNWCT6.js");
3623
+ const { CascadeSimulator } = await import("./dist-PGQ32ZI7.js");
3612
3624
  let targetNodeId = input.nodeId;
3613
3625
  if (!targetNodeId && input.file) {
3614
3626
  const fileNodes = store.findNodes({ type: "file" });
@@ -3809,7 +3821,7 @@ var generateAgentDefinitionsDefinition = {
3809
3821
  }
3810
3822
  };
3811
3823
  async function handleGenerateAgentDefinitions(input) {
3812
- const { generateAgentDefinitions } = await import("./generate-agent-definitions-3EHPIWBO.js");
3824
+ const { generateAgentDefinitions } = await import("./generate-agent-definitions-I4B7CVOB.js");
3813
3825
  const platforms = input.platform === "all" || !input.platform ? ["claude-code", "gemini-cli"] : [input.platform];
3814
3826
  const results = generateAgentDefinitions({
3815
3827
  platforms: [...platforms],
@@ -4137,7 +4149,7 @@ function shouldTriggerExternalSync(input, response) {
4137
4149
  }
4138
4150
  async function handleManageRoadmap(input) {
4139
4151
  try {
4140
- const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-ZV6GO6FA.js");
4152
+ const { parseRoadmap, serializeRoadmap, syncRoadmap, applySyncChanges, assignFeature } = await import("./dist-TG63OKA5.js");
4141
4153
  const { Ok: Ok2 } = await import("./dist-3EWNRFFQ.js");
4142
4154
  const projectPath = sanitizePath(input.path);
4143
4155
  const deps = {
@@ -4576,7 +4588,7 @@ async function handleTransition(validInput, projectPath, id) {
4576
4588
  const transition = transitionResult.data;
4577
4589
  const prompt = renderTransition(transition);
4578
4590
  try {
4579
- const { saveHandoff } = await import("./dist-ZV6GO6FA.js");
4591
+ const { saveHandoff } = await import("./dist-TG63OKA5.js");
4580
4592
  await saveHandoff(
4581
4593
  projectPath,
4582
4594
  {
@@ -4657,7 +4669,7 @@ async function handleEmitInteraction(input) {
4657
4669
  }
4658
4670
  async function recordInteraction(projectPath, id, type, decision, stream) {
4659
4671
  try {
4660
- const { loadState, saveState } = await import("./dist-ZV6GO6FA.js");
4672
+ const { loadState, saveState } = await import("./dist-TG63OKA5.js");
4661
4673
  const stateResult = await loadState(projectPath, stream);
4662
4674
  if (stateResult.ok) {
4663
4675
  const state = stateResult.value;
@@ -4818,10 +4830,10 @@ async function handleGatherContext(input) {
4818
4830
  input.include ?? ["state", "learnings", "handoff", "graph", "validation"]
4819
4831
  );
4820
4832
  const errors = [];
4821
- const statePromise = includeSet.has("state") ? import("./dist-ZV6GO6FA.js").then(
4833
+ const statePromise = includeSet.has("state") ? import("./dist-TG63OKA5.js").then(
4822
4834
  (core) => core.loadState(projectPath, void 0, input.session)
4823
4835
  ) : Promise.resolve(null);
4824
- const learningsPromise = includeSet.has("learnings") ? import("./dist-ZV6GO6FA.js").then(
4836
+ const learningsPromise = includeSet.has("learnings") ? import("./dist-TG63OKA5.js").then(
4825
4837
  (core) => core.loadBudgetedLearnings(projectPath, {
4826
4838
  intent: input.intent,
4827
4839
  tokenBudget: input.learningsBudget ?? 1e3,
@@ -4830,14 +4842,14 @@ async function handleGatherContext(input) {
4830
4842
  ...input.depth !== void 0 && { depth: input.depth }
4831
4843
  })
4832
4844
  ) : Promise.resolve(null);
4833
- const handoffPromise = includeSet.has("handoff") ? import("./dist-ZV6GO6FA.js").then(
4845
+ const handoffPromise = includeSet.has("handoff") ? import("./dist-TG63OKA5.js").then(
4834
4846
  (core) => core.loadHandoff(projectPath, void 0, input.session)
4835
4847
  ) : Promise.resolve(null);
4836
4848
  const graphPromise = includeSet.has("graph") ? (async () => {
4837
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KXVS3YK3.js");
4849
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-TIVI6NQ7.js");
4838
4850
  const store = await loadGraphStore2(projectPath);
4839
4851
  if (!store) return null;
4840
- const { FusionLayer, ContextQL } = await import("./dist-HPWNWCT6.js");
4852
+ const { FusionLayer, ContextQL } = await import("./dist-PGQ32ZI7.js");
4841
4853
  const fusion = new FusionLayer(store);
4842
4854
  const cql = new ContextQL(store);
4843
4855
  const tokenBudget = input.tokenBudget ?? 4e3;
@@ -4874,11 +4886,11 @@ async function handleGatherContext(input) {
4874
4886
  context: contextBlocks
4875
4887
  };
4876
4888
  })() : Promise.resolve(null);
4877
- const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-ZV6GO6FA.js").then(
4889
+ const sessionsPromise = includeSet.has("sessions") && input.session ? import("./dist-TG63OKA5.js").then(
4878
4890
  (core) => core.readSessionSections(projectPath, input.session)
4879
4891
  ) : Promise.resolve(null);
4880
4892
  const shouldIncludeEvents = input.includeEvents !== void 0 ? input.includeEvents : includeSet.has("events") || !!input.session && !input.include;
4881
- const eventsPromise = shouldIncludeEvents ? import("./dist-ZV6GO6FA.js").then(async (core) => {
4893
+ const eventsPromise = shouldIncludeEvents ? import("./dist-TG63OKA5.js").then(async (core) => {
4882
4894
  const result = await core.loadEvents(projectPath, {
4883
4895
  session: input.session
4884
4896
  });
@@ -4886,7 +4898,7 @@ async function handleGatherContext(input) {
4886
4898
  return core.formatEventTimeline(result.value);
4887
4899
  }) : Promise.resolve(null);
4888
4900
  const validationPromise = includeSet.has("validation") ? (async () => {
4889
- const { handleValidateProject: handleValidateProject2 } = await import("./validate-BFFHYHY7.js");
4901
+ const { handleValidateProject: handleValidateProject2 } = await import("./validate-HXM6DXRZ.js");
4890
4902
  const result = await handleValidateProject2({ path: projectPath });
4891
4903
  const first = result.content[0];
4892
4904
  return first ? JSON.parse(first.text) : null;
@@ -4989,7 +5001,7 @@ async function handleGatherContext(input) {
4989
5001
  };
4990
5002
  if (input.session) {
4991
5003
  try {
4992
- const core = await import("./dist-ZV6GO6FA.js");
5004
+ const core = await import("./dist-TG63OKA5.js");
4993
5005
  core.updateSessionIndex(
4994
5006
  projectPath,
4995
5007
  input.session,
@@ -5141,7 +5153,7 @@ async function handleReviewChanges(input) {
5141
5153
  }
5142
5154
  }
5143
5155
  async function runQuickReview(projectPath, diff, diffLines, downgraded, offset, limit) {
5144
- const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-Y4FYN3NR.js");
5156
+ const { handleAnalyzeDiff: handleAnalyzeDiff2 } = await import("./feedback-HS7ZYXOU.js");
5145
5157
  const result = await handleAnalyzeDiff2({ diff, path: projectPath });
5146
5158
  const firstContent = result.content[0];
5147
5159
  if (!firstContent) throw new Error("Empty analyze_diff response");
@@ -5176,7 +5188,7 @@ function extractFileCount(diffParsed) {
5176
5188
  return files?.length ?? 0;
5177
5189
  }
5178
5190
  async function runStandardReview(projectPath, diff, diffLines, downgraded, offset, limit) {
5179
- const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-Y4FYN3NR.js");
5191
+ const { handleAnalyzeDiff: handleAnalyzeDiff2, handleCreateSelfReview: handleCreateSelfReview2 } = await import("./feedback-HS7ZYXOU.js");
5180
5192
  const [diffResult, reviewResult] = await Promise.all([
5181
5193
  handleAnalyzeDiff2({ diff, path: projectPath }),
5182
5194
  handleCreateSelfReview2({ path: projectPath, diff })
@@ -5211,7 +5223,7 @@ async function runStandardReview(projectPath, diff, diffLines, downgraded, offse
5211
5223
  };
5212
5224
  }
5213
5225
  async function runDeepReview(projectPath, diff, diffLines, _downgraded, offset, limit) {
5214
- const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-TLKE5OQD.js");
5226
+ const { handleRunCodeReview: handleRunCodeReview2 } = await import("./review-pipeline-QOZGWCTY.js");
5215
5227
  const result = await handleRunCodeReview2({
5216
5228
  path: projectPath,
5217
5229
  diff,
@@ -5290,7 +5302,7 @@ async function handleCheckTaskIndependence(input) {
5290
5302
  try {
5291
5303
  const projectPath = sanitizePath(input.path);
5292
5304
  const store = await loadGraphStore(projectPath);
5293
- const { TaskIndependenceAnalyzer } = await import("./dist-HPWNWCT6.js");
5305
+ const { TaskIndependenceAnalyzer } = await import("./dist-PGQ32ZI7.js");
5294
5306
  const analyzer = new TaskIndependenceAnalyzer(store ?? void 0);
5295
5307
  const result = analyzer.analyze({
5296
5308
  tasks: input.tasks,
@@ -5378,7 +5390,7 @@ async function handlePredictConflicts(input) {
5378
5390
  try {
5379
5391
  const projectPath = sanitizePath(input.path);
5380
5392
  const store = await loadGraphStore(projectPath);
5381
- const { ConflictPredictor } = await import("./dist-HPWNWCT6.js");
5393
+ const { ConflictPredictor } = await import("./dist-PGQ32ZI7.js");
5382
5394
  const predictor = new ConflictPredictor(store ?? void 0);
5383
5395
  const result = predictor.predict({
5384
5396
  tasks: input.tasks,
@@ -5484,7 +5496,7 @@ async function handleDetectStaleConstraints(input) {
5484
5496
  isError: true
5485
5497
  };
5486
5498
  }
5487
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KXVS3YK3.js");
5499
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-TIVI6NQ7.js");
5488
5500
  const store = await loadGraphStore2(projectPath);
5489
5501
  if (!store) {
5490
5502
  return {
@@ -5505,7 +5517,7 @@ async function handleDetectStaleConstraints(input) {
5505
5517
  ]
5506
5518
  };
5507
5519
  }
5508
- const { detectStaleConstraints } = await import("./dist-ZV6GO6FA.js");
5520
+ const { detectStaleConstraints } = await import("./dist-TG63OKA5.js");
5509
5521
  const result = detectStaleConstraints(
5510
5522
  store,
5511
5523
  windowDays,
@@ -5625,10 +5637,10 @@ function countCriticalFindings(securityData) {
5625
5637
  return findings.filter((f) => f.severity === "error").length;
5626
5638
  }
5627
5639
  async function runHealthChecks(projectPath) {
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");
5640
+ const { handleAssessProject: handleAssessProject2 } = await import("./assess-project-ZW7EKNIT.js");
5641
+ const { handleCheckDependencies: handleCheckDependencies2 } = await import("./architecture-PMVMO6SF.js");
5642
+ const { handleDetectEntropy: handleDetectEntropy2 } = await import("./entropy-RXESIYKC.js");
5643
+ const { handleRunSecurityScan: handleRunSecurityScan2 } = await import("./security-2K7UUK6T.js");
5632
5644
  const [assessResult, depsResult, entropyResult, securityResult] = await Promise.all([
5633
5645
  handleAssessProject2({
5634
5646
  path: projectPath,
@@ -5683,10 +5695,10 @@ function avg(values) {
5683
5695
  }
5684
5696
  async function runGraphMetrics(projectPath) {
5685
5697
  try {
5686
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KXVS3YK3.js");
5698
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-TIVI6NQ7.js");
5687
5699
  const store = await loadGraphStore2(projectPath);
5688
5700
  if (!store) return ZERO_METRICS;
5689
- const { GraphCouplingAdapter, GraphComplexityAdapter, GraphAnomalyAdapter } = await import("./dist-HPWNWCT6.js");
5701
+ const { GraphCouplingAdapter, GraphComplexityAdapter, GraphAnomalyAdapter } = await import("./dist-PGQ32ZI7.js");
5690
5702
  const couplingAdapter = new GraphCouplingAdapter(store);
5691
5703
  const couplingData = couplingAdapter.computeCouplingData();
5692
5704
  const files = couplingData.files;
@@ -6425,7 +6437,7 @@ async function handleGetDecayTrends(input) {
6425
6437
  };
6426
6438
  }
6427
6439
  try {
6428
- const core = await import("./dist-ZV6GO6FA.js");
6440
+ const core = await import("./dist-TG63OKA5.js");
6429
6441
  const { TimelineManager } = core;
6430
6442
  const manager = new TimelineManager(projectPath);
6431
6443
  const timeline = manager.load();
@@ -6560,7 +6572,7 @@ async function handleCodeOutline(input) {
6560
6572
  };
6561
6573
  }
6562
6574
  try {
6563
- const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-ZV6GO6FA.js");
6575
+ const { getOutline, formatOutline, EXTENSION_MAP } = await import("./dist-TG63OKA5.js");
6564
6576
  const { stat } = await import("fs/promises");
6565
6577
  const stats = await stat(targetPath).catch(() => null);
6566
6578
  if (stats?.isFile()) {
@@ -6579,7 +6591,7 @@ async function handleCodeOutline(input) {
6579
6591
  })
6580
6592
  );
6581
6593
  fileStats.sort((a, b) => b.mtimeMs - a.mtimeMs);
6582
- const { paginate: paginate2 } = await import("./dist-ZV6GO6FA.js");
6594
+ const { paginate: paginate2 } = await import("./dist-TG63OKA5.js");
6583
6595
  const paged = paginate2(fileStats, input.offset ?? 0, input.limit ?? 30);
6584
6596
  const results = [];
6585
6597
  for (const entry of paged.items) {
@@ -6652,7 +6664,7 @@ async function handleCodeSearch(input) {
6652
6664
  };
6653
6665
  }
6654
6666
  try {
6655
- const { searchSymbols } = await import("./dist-ZV6GO6FA.js");
6667
+ const { searchSymbols } = await import("./dist-TG63OKA5.js");
6656
6668
  const result = await searchSymbols(input.query, directory, input.glob);
6657
6669
  const lines = [`Search: "${result.query}" \u2014 ${result.matches.length} matches`];
6658
6670
  for (const match of result.matches) {
@@ -6721,7 +6733,7 @@ async function handleCodeUnfold(input) {
6721
6733
  }
6722
6734
  try {
6723
6735
  if (input.symbol) {
6724
- const { unfoldSymbol } = await import("./dist-ZV6GO6FA.js");
6736
+ const { unfoldSymbol } = await import("./dist-TG63OKA5.js");
6725
6737
  const result = await unfoldSymbol(filePath, input.symbol);
6726
6738
  const header = result.warning ? `${result.file}:${result.startLine}-${result.endLine} ${result.warning}
6727
6739
  ` : `${result.file}:${result.startLine}-${result.endLine}
@@ -6729,7 +6741,7 @@ async function handleCodeUnfold(input) {
6729
6741
  return { content: [{ type: "text", text: header + result.content }] };
6730
6742
  }
6731
6743
  if (input.startLine != null && input.endLine != null) {
6732
- const { unfoldRange } = await import("./dist-ZV6GO6FA.js");
6744
+ const { unfoldRange } = await import("./dist-TG63OKA5.js");
6733
6745
  const result = await unfoldRange(filePath, input.startLine, input.endLine);
6734
6746
  const header = `${result.file}:${result.startLine}-${result.endLine}
6735
6747
  `;
@@ -6791,7 +6803,7 @@ async function handleCheckTraceability(input) {
6791
6803
  isError: true
6792
6804
  };
6793
6805
  }
6794
- const { queryTraceability } = await import("./dist-HPWNWCT6.js");
6806
+ const { queryTraceability } = await import("./dist-PGQ32ZI7.js");
6795
6807
  const options = {};
6796
6808
  if (input.spec) options.specPath = input.spec;
6797
6809
  if (input.feature) options.featureName = input.feature;
@@ -6914,7 +6926,7 @@ async function handlePredictFailures(input) {
6914
6926
  };
6915
6927
  }
6916
6928
  try {
6917
- const core = await import("./dist-ZV6GO6FA.js");
6929
+ const core = await import("./dist-TG63OKA5.js");
6918
6930
  const { TimelineManager, PredictionEngine, SpecImpactEstimator } = core;
6919
6931
  const manager = new TimelineManager(projectPath);
6920
6932
  const includeRoadmap = input.includeRoadmap !== false;
@@ -7104,7 +7116,7 @@ function handleContentMode(content, pipeline, budget, source) {
7104
7116
  };
7105
7117
  }
7106
7118
  async function handleIntentMode(projectPath, intent, pipeline, budget, filterContent) {
7107
- const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-KXVS3YK3.js");
7119
+ const { loadGraphStore: loadGraphStore2 } = await import("./graph-loader-TIVI6NQ7.js");
7108
7120
  const store = await loadGraphStore2(projectPath);
7109
7121
  if (!store) {
7110
7122
  return {
@@ -7117,7 +7129,7 @@ async function handleIntentMode(projectPath, intent, pipeline, budget, filterCon
7117
7129
  isError: true
7118
7130
  };
7119
7131
  }
7120
- const { PackedSummaryCache, FusionLayer, ContextQL } = await import("./dist-HPWNWCT6.js");
7132
+ const { PackedSummaryCache, FusionLayer, ContextQL } = await import("./dist-PGQ32ZI7.js");
7121
7133
  const cache = new PackedSummaryCache(store);
7122
7134
  const cachedEnvelope = cache.get(intent);
7123
7135
  if (cachedEnvelope) {
@@ -7330,7 +7342,7 @@ async function handleDetectConstraintEmergence(input) {
7330
7342
  }
7331
7343
  const nodePath = await import("path");
7332
7344
  const historyPath = nodePath.resolve(projectPath, ".harness/arch/violation-history.json");
7333
- const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-ZV6GO6FA.js");
7345
+ const { ViolationHistoryManager, detectEmergentConstraints } = await import("./dist-TG63OKA5.js");
7334
7346
  const manager = new ViolationHistoryManager(historyPath);
7335
7347
  const history = manager.load();
7336
7348
  const options = { windowWeeks, minOccurrences };
@@ -7580,7 +7592,7 @@ async function appendUpdateNotification(result, resolvedRoot) {
7580
7592
  shouldRunCheck,
7581
7593
  readCheckState,
7582
7594
  spawnBackgroundCheck
7583
- } = await import("./dist-ZV6GO6FA.js");
7595
+ } = await import("./dist-TG63OKA5.js");
7584
7596
  const { CLI_VERSION } = await import("./version-CUI434OP.js");
7585
7597
  const configInterval = readConfigInterval(resolvedRoot);
7586
7598
  const DEFAULT_INTERVAL = 864e5;