nexus-agents 2.172.0 → 2.173.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 (118) hide show
  1. package/dist/{child-mcp-config-NW4JZFWC.js → child-mcp-config-KD5FKDG7.js} +2 -2
  2. package/dist/{chunk-CEDSYAAI.js → chunk-26PMOFR2.js} +2 -2
  3. package/dist/{chunk-DLVDFJXU.js → chunk-3DYABC5Y.js} +4 -4
  4. package/dist/{chunk-AJIDYCQG.js → chunk-3QY2YLJV.js} +3 -3
  5. package/dist/{chunk-IK7POCXO.js → chunk-3Y5UUFZL.js} +3 -3
  6. package/dist/{chunk-S66XOAMZ.js → chunk-4KURMOBY.js} +2 -2
  7. package/dist/{chunk-7AJWIOMT.js → chunk-5IDFZ2PC.js} +2 -2
  8. package/dist/{chunk-SUWN54CK.js → chunk-5LXKF34H.js} +2 -2
  9. package/dist/{chunk-QBOTSJ7S.js → chunk-5WFHSWQG.js} +73 -17
  10. package/dist/chunk-5WFHSWQG.js.map +1 -0
  11. package/dist/{chunk-76Q63KJM.js → chunk-6OTA2VER.js} +2 -2
  12. package/dist/{chunk-Y7JDXVJA.js → chunk-6X26RTOA.js} +2 -2
  13. package/dist/{chunk-BTH745HU.js → chunk-7FDHPEZ3.js} +2 -2
  14. package/dist/{chunk-IC3NZHPT.js → chunk-EL2O75ZS.js} +2 -2
  15. package/dist/{chunk-4KVAHGMB.js → chunk-FYYPW6EC.js} +2 -2
  16. package/dist/{chunk-RAK6PTNM.js → chunk-G37IJILX.js} +2 -2
  17. package/dist/{chunk-O4J34GZT.js → chunk-GKR7YE2E.js} +2 -2
  18. package/dist/{chunk-SCHMBRK4.js → chunk-H245LNLT.js} +3 -3
  19. package/dist/{chunk-ZSWXEDI6.js → chunk-HLCPLQFG.js} +2 -2
  20. package/dist/{chunk-Z5GJ4FXW.js → chunk-HRTSIY4W.js} +4 -4
  21. package/dist/{chunk-LFKCJQ7G.js → chunk-LQHBSYNN.js} +4 -4
  22. package/dist/{chunk-SZ3CRNPI.js → chunk-M5VIIUM5.js} +8 -8
  23. package/dist/{chunk-GJRLIANS.js → chunk-MBTEWGZK.js} +7 -7
  24. package/dist/{chunk-DYFF72HX.js → chunk-N6UV7XFO.js} +3 -3
  25. package/dist/{chunk-KP4ZXW3B.js → chunk-NZKMPDZ4.js} +3 -3
  26. package/dist/{chunk-NSP3SZW2.js → chunk-O2U2UC6Q.js} +5 -5
  27. package/dist/{chunk-YKVO32BI.js → chunk-O4I6EHI4.js} +8 -8
  28. package/dist/{chunk-FU2FRL46.js → chunk-O6VB54QJ.js} +2 -2
  29. package/dist/{chunk-B4XT3B2E.js → chunk-P6POKYSM.js} +2 -2
  30. package/dist/{chunk-25CWEJ2M.js → chunk-SUCOTX7I.js} +4 -4
  31. package/dist/{chunk-QBCWORAK.js → chunk-V6ADQNN6.js} +3 -3
  32. package/dist/{chunk-QFS5VOB6.js → chunk-VK65G7MX.js} +2 -2
  33. package/dist/{chunk-C7TWCMK4.js → chunk-XAJLOBUL.js} +35 -35
  34. package/dist/{chunk-RQGORCFM.js → chunk-XJ46NHDP.js} +5 -5
  35. package/dist/{chunk-5UDKUPZB.js → chunk-XMG5D3LK.js} +7 -7
  36. package/dist/{cli-circuit-breaker-UWJNXHLC.js → cli-circuit-breaker-C2DPF3IA.js} +4 -4
  37. package/dist/cli.js +40 -40
  38. package/dist/{composite-router-ULDZRQGO.js → composite-router-XMSM4GXK.js} +2 -2
  39. package/dist/{consensus-vote-KF6M7NZJ.js → consensus-vote-S7JBAHGL.js} +15 -15
  40. package/dist/{context-retriever-73PNAWES.js → context-retriever-L2YJ6PYH.js} +8 -8
  41. package/dist/{doctor-deep-LURSTTF7.js → doctor-deep-LMETROQX.js} +3 -3
  42. package/dist/{expert-bridge-VWS3NBL3.js → expert-bridge-Z6DC46Q3.js} +4 -4
  43. package/dist/{factory-KPJ2EG63.js → factory-LLFF3ZKV.js} +5 -5
  44. package/dist/{factory-MYJYONBQ.js → factory-UE63NFX6.js} +8 -8
  45. package/dist/{improvement-review-APOK4U3Z.js → improvement-review-4ZE3NAST.js} +5 -5
  46. package/dist/index.js +30 -30
  47. package/dist/{init-opencode-Y7WPFCY7.js → init-opencode-7ZRU6CII.js} +5 -5
  48. package/dist/{issue-triage-4P3TDIJQ.js → issue-triage-OIKKI7AK.js} +6 -6
  49. package/dist/{pr-reviewer-helpers-4JX2LEVZ.js → pr-reviewer-helpers-5EAVCRYP.js} +4 -4
  50. package/dist/{registry-command-CTYTYRXF.js → registry-command-Q6K5EPGZ.js} +2 -2
  51. package/dist/{repo-security-plan-4CXBXLAY.js → repo-security-plan-25AXO7FG.js} +3 -3
  52. package/dist/{research-helpers-synthesize-23OXMV47.js → research-helpers-synthesize-F734REUK.js} +4 -4
  53. package/dist/{routing-memory-AWCOIW27.js → routing-memory-5LU5WI5T.js} +2 -2
  54. package/dist/{session-memory-P53QXKGV.js → session-memory-3FUIP2L6.js} +3 -3
  55. package/dist/{setup-command-7S744QHK.js → setup-command-J6PASA6P.js} +13 -13
  56. package/dist/{setup-config-B7WLUMUU.js → setup-config-IHLHAX5G.js} +3 -3
  57. package/dist/{setup-custom-api-B6QGKSEY.js → setup-custom-api-JM6Z2442.js} +3 -3
  58. package/dist/{tool-memory-QUFVINHN.js → tool-memory-LPSFODBS.js} +5 -5
  59. package/dist/{unified-registry-4NOWT2MU.js → unified-registry-7MDLPIIK.js} +9 -9
  60. package/dist/{weather-report-MCLS5MFZ.js → weather-report-5HDPEOQ3.js} +2 -2
  61. package/package.json +1 -1
  62. package/dist/chunk-QBOTSJ7S.js.map +0 -1
  63. /package/dist/{child-mcp-config-NW4JZFWC.js.map → child-mcp-config-KD5FKDG7.js.map} +0 -0
  64. /package/dist/{chunk-CEDSYAAI.js.map → chunk-26PMOFR2.js.map} +0 -0
  65. /package/dist/{chunk-DLVDFJXU.js.map → chunk-3DYABC5Y.js.map} +0 -0
  66. /package/dist/{chunk-AJIDYCQG.js.map → chunk-3QY2YLJV.js.map} +0 -0
  67. /package/dist/{chunk-IK7POCXO.js.map → chunk-3Y5UUFZL.js.map} +0 -0
  68. /package/dist/{chunk-S66XOAMZ.js.map → chunk-4KURMOBY.js.map} +0 -0
  69. /package/dist/{chunk-7AJWIOMT.js.map → chunk-5IDFZ2PC.js.map} +0 -0
  70. /package/dist/{chunk-SUWN54CK.js.map → chunk-5LXKF34H.js.map} +0 -0
  71. /package/dist/{chunk-76Q63KJM.js.map → chunk-6OTA2VER.js.map} +0 -0
  72. /package/dist/{chunk-Y7JDXVJA.js.map → chunk-6X26RTOA.js.map} +0 -0
  73. /package/dist/{chunk-BTH745HU.js.map → chunk-7FDHPEZ3.js.map} +0 -0
  74. /package/dist/{chunk-IC3NZHPT.js.map → chunk-EL2O75ZS.js.map} +0 -0
  75. /package/dist/{chunk-4KVAHGMB.js.map → chunk-FYYPW6EC.js.map} +0 -0
  76. /package/dist/{chunk-RAK6PTNM.js.map → chunk-G37IJILX.js.map} +0 -0
  77. /package/dist/{chunk-O4J34GZT.js.map → chunk-GKR7YE2E.js.map} +0 -0
  78. /package/dist/{chunk-SCHMBRK4.js.map → chunk-H245LNLT.js.map} +0 -0
  79. /package/dist/{chunk-ZSWXEDI6.js.map → chunk-HLCPLQFG.js.map} +0 -0
  80. /package/dist/{chunk-Z5GJ4FXW.js.map → chunk-HRTSIY4W.js.map} +0 -0
  81. /package/dist/{chunk-LFKCJQ7G.js.map → chunk-LQHBSYNN.js.map} +0 -0
  82. /package/dist/{chunk-SZ3CRNPI.js.map → chunk-M5VIIUM5.js.map} +0 -0
  83. /package/dist/{chunk-GJRLIANS.js.map → chunk-MBTEWGZK.js.map} +0 -0
  84. /package/dist/{chunk-DYFF72HX.js.map → chunk-N6UV7XFO.js.map} +0 -0
  85. /package/dist/{chunk-KP4ZXW3B.js.map → chunk-NZKMPDZ4.js.map} +0 -0
  86. /package/dist/{chunk-NSP3SZW2.js.map → chunk-O2U2UC6Q.js.map} +0 -0
  87. /package/dist/{chunk-YKVO32BI.js.map → chunk-O4I6EHI4.js.map} +0 -0
  88. /package/dist/{chunk-FU2FRL46.js.map → chunk-O6VB54QJ.js.map} +0 -0
  89. /package/dist/{chunk-B4XT3B2E.js.map → chunk-P6POKYSM.js.map} +0 -0
  90. /package/dist/{chunk-25CWEJ2M.js.map → chunk-SUCOTX7I.js.map} +0 -0
  91. /package/dist/{chunk-QBCWORAK.js.map → chunk-V6ADQNN6.js.map} +0 -0
  92. /package/dist/{chunk-QFS5VOB6.js.map → chunk-VK65G7MX.js.map} +0 -0
  93. /package/dist/{chunk-C7TWCMK4.js.map → chunk-XAJLOBUL.js.map} +0 -0
  94. /package/dist/{chunk-RQGORCFM.js.map → chunk-XJ46NHDP.js.map} +0 -0
  95. /package/dist/{chunk-5UDKUPZB.js.map → chunk-XMG5D3LK.js.map} +0 -0
  96. /package/dist/{cli-circuit-breaker-UWJNXHLC.js.map → cli-circuit-breaker-C2DPF3IA.js.map} +0 -0
  97. /package/dist/{composite-router-ULDZRQGO.js.map → composite-router-XMSM4GXK.js.map} +0 -0
  98. /package/dist/{consensus-vote-KF6M7NZJ.js.map → consensus-vote-S7JBAHGL.js.map} +0 -0
  99. /package/dist/{context-retriever-73PNAWES.js.map → context-retriever-L2YJ6PYH.js.map} +0 -0
  100. /package/dist/{doctor-deep-LURSTTF7.js.map → doctor-deep-LMETROQX.js.map} +0 -0
  101. /package/dist/{expert-bridge-VWS3NBL3.js.map → expert-bridge-Z6DC46Q3.js.map} +0 -0
  102. /package/dist/{factory-KPJ2EG63.js.map → factory-LLFF3ZKV.js.map} +0 -0
  103. /package/dist/{factory-MYJYONBQ.js.map → factory-UE63NFX6.js.map} +0 -0
  104. /package/dist/{improvement-review-APOK4U3Z.js.map → improvement-review-4ZE3NAST.js.map} +0 -0
  105. /package/dist/{init-opencode-Y7WPFCY7.js.map → init-opencode-7ZRU6CII.js.map} +0 -0
  106. /package/dist/{issue-triage-4P3TDIJQ.js.map → issue-triage-OIKKI7AK.js.map} +0 -0
  107. /package/dist/{pr-reviewer-helpers-4JX2LEVZ.js.map → pr-reviewer-helpers-5EAVCRYP.js.map} +0 -0
  108. /package/dist/{registry-command-CTYTYRXF.js.map → registry-command-Q6K5EPGZ.js.map} +0 -0
  109. /package/dist/{repo-security-plan-4CXBXLAY.js.map → repo-security-plan-25AXO7FG.js.map} +0 -0
  110. /package/dist/{research-helpers-synthesize-23OXMV47.js.map → research-helpers-synthesize-F734REUK.js.map} +0 -0
  111. /package/dist/{routing-memory-AWCOIW27.js.map → routing-memory-5LU5WI5T.js.map} +0 -0
  112. /package/dist/{session-memory-P53QXKGV.js.map → session-memory-3FUIP2L6.js.map} +0 -0
  113. /package/dist/{setup-command-7S744QHK.js.map → setup-command-J6PASA6P.js.map} +0 -0
  114. /package/dist/{setup-config-B7WLUMUU.js.map → setup-config-IHLHAX5G.js.map} +0 -0
  115. /package/dist/{setup-custom-api-B6QGKSEY.js.map → setup-custom-api-JM6Z2442.js.map} +0 -0
  116. /package/dist/{tool-memory-QUFVINHN.js.map → tool-memory-LPSFODBS.js.map} +0 -0
  117. /package/dist/{unified-registry-4NOWT2MU.js.map → unified-registry-7MDLPIIK.js.map} +0 -0
  118. /package/dist/{weather-report-MCLS5MFZ.js.map → weather-report-5HDPEOQ3.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLogger
3
- } from "./chunk-QBCWORAK.js";
3
+ } from "./chunk-V6ADQNN6.js";
4
4
  import "./chunk-AXTD4TFK.js";
5
5
  import "./chunk-DHVMSIT5.js";
6
6
  import "./chunk-ZPWHCABL.js";
@@ -60,4 +60,4 @@ export {
60
60
  generateMcpConfig,
61
61
  getDefaultAllowedTools
62
62
  };
63
- //# sourceMappingURL=child-mcp-config-NW4JZFWC.js.map
63
+ //# sourceMappingURL=child-mcp-config-KD5FKDG7.js.map
@@ -2,7 +2,7 @@ import {
2
2
  CACHE_TIMEOUTS,
3
3
  createLogger,
4
4
  getTimeProvider
5
- } from "./chunk-QBCWORAK.js";
5
+ } from "./chunk-V6ADQNN6.js";
6
6
 
7
7
  // src/security/trust-types.ts
8
8
  import { z } from "zod";
@@ -560,4 +560,4 @@ export {
560
560
  resolveReputationGatingMode,
561
561
  gateWithReputation
562
562
  };
563
- //# sourceMappingURL=chunk-CEDSYAAI.js.map
563
+ //# sourceMappingURL=chunk-26PMOFR2.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  computeCostDetail,
3
3
  recordUsageEvent
4
- } from "./chunk-7AJWIOMT.js";
4
+ } from "./chunk-5IDFZ2PC.js";
5
5
  import {
6
6
  BaseAdapter,
7
7
  createStream,
8
8
  planOptionalParams,
9
9
  requireApiKey,
10
10
  validateApiKeyPresence
11
- } from "./chunk-4KVAHGMB.js";
11
+ } from "./chunk-FYYPW6EC.js";
12
12
  import {
13
13
  ConfigError,
14
14
  ModelCapability,
@@ -19,7 +19,7 @@ import {
19
19
  getTimeProvider,
20
20
  getTokenEstimator,
21
21
  ok
22
- } from "./chunk-QBCWORAK.js";
22
+ } from "./chunk-V6ADQNN6.js";
23
23
 
24
24
  // src/adapters/openai-types.ts
25
25
  var OPENAI_MODELS = {
@@ -795,4 +795,4 @@ export {
795
795
  discoverModels,
796
796
  buildOpenAICompatAdapters
797
797
  };
798
- //# sourceMappingURL=chunk-DLVDFJXU.js.map
798
+ //# sourceMappingURL=chunk-3DYABC5Y.js.map
@@ -9,11 +9,11 @@ import {
9
9
  gateWithReputation,
10
10
  resolveReputationGatingMode,
11
11
  sanitizeInput
12
- } from "./chunk-CEDSYAAI.js";
12
+ } from "./chunk-26PMOFR2.js";
13
13
  import {
14
14
  createLogger,
15
15
  getTimeProvider
16
- } from "./chunk-QBCWORAK.js";
16
+ } from "./chunk-V6ADQNN6.js";
17
17
 
18
18
  // src/dogfooding/pr-reviewer-helpers.ts
19
19
  import { randomUUID } from "crypto";
@@ -288,4 +288,4 @@ export {
288
288
  formatReviewComment,
289
289
  createFailedReview
290
290
  };
291
- //# sourceMappingURL=chunk-AJIDYCQG.js.map
291
+ //# sourceMappingURL=chunk-3QY2YLJV.js.map
@@ -2,14 +2,14 @@ import {
2
2
  CircuitBreakerRegistry,
3
3
  CircuitError,
4
4
  mapCliErrorToCategory
5
- } from "./chunk-76Q63KJM.js";
5
+ } from "./chunk-6OTA2VER.js";
6
6
  import {
7
7
  createLogger,
8
8
  err,
9
9
  getFallbackChainForCategory,
10
10
  getTimeProvider,
11
11
  ok
12
- } from "./chunk-QBCWORAK.js";
12
+ } from "./chunk-V6ADQNN6.js";
13
13
 
14
14
  // src/cli-adapters/cli-circuit-breaker.ts
15
15
  var CATEGORY_TO_FALLBACK = {
@@ -152,4 +152,4 @@ export {
152
152
  CliCircuitBreakerIntegration,
153
153
  createCliCircuitBreakerIntegration
154
154
  };
155
- //# sourceMappingURL=chunk-IK7POCXO.js.map
155
+ //# sourceMappingURL=chunk-3Y5UUFZL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getErrorMessage
3
- } from "./chunk-QBCWORAK.js";
3
+ } from "./chunk-V6ADQNN6.js";
4
4
 
5
5
  // src/cli/setup-config.ts
6
6
  import { copyFileSync, existsSync, mkdirSync, writeFileSync } from "fs";
@@ -77,4 +77,4 @@ function ensureBackup(outputPath) {
77
77
  export {
78
78
  runConfigInitSync
79
79
  };
80
- //# sourceMappingURL=chunk-S66XOAMZ.js.map
80
+ //# sourceMappingURL=chunk-4KURMOBY.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getDefaultRegistry
3
- } from "./chunk-QBCWORAK.js";
3
+ } from "./chunk-V6ADQNN6.js";
4
4
  import {
5
5
  getNexusDataDir
6
6
  } from "./chunk-DHVMSIT5.js";
@@ -124,4 +124,4 @@ export {
124
124
  loadUsageEvents,
125
125
  rollupByModel
126
126
  };
127
- //# sourceMappingURL=chunk-7AJWIOMT.js.map
127
+ //# sourceMappingURL=chunk-5IDFZ2PC.js.map
@@ -3,7 +3,7 @@ import {
3
3
  MODEL_IDS,
4
4
  getTimeProvider,
5
5
  resolveModelIdentitySync
6
- } from "./chunk-QBCWORAK.js";
6
+ } from "./chunk-V6ADQNN6.js";
7
7
 
8
8
  // src/config/model-availability.ts
9
9
  var DEFAULT_TTL_MS = 6e4;
@@ -150,4 +150,4 @@ export {
150
150
  resetAvailabilityCache,
151
151
  filterAvailableModels
152
152
  };
153
- //# sourceMappingURL=chunk-SUWN54CK.js.map
153
+ //# sourceMappingURL=chunk-5LXKF34H.js.map
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  resolveToken
3
- } from "./chunk-Y7JDXVJA.js";
3
+ } from "./chunk-6X26RTOA.js";
4
4
  import {
5
5
  REGISTRY_PATH,
6
6
  getProjectRoot,
7
7
  loadPapersRegistry,
8
8
  loadTechniquesRegistry,
9
9
  savePapersRegistry
10
- } from "./chunk-ZSWXEDI6.js";
10
+ } from "./chunk-HLCPLQFG.js";
11
11
  import {
12
12
  resolveInsideRoot
13
13
  } from "./chunk-NUBSJGQZ.js";
14
14
  import {
15
15
  getToolMemory
16
- } from "./chunk-LFKCJQ7G.js";
16
+ } from "./chunk-LQHBSYNN.js";
17
17
  import {
18
18
  capitalizeWords,
19
19
  truncateSentence
@@ -38,7 +38,7 @@ import {
38
38
  getTimeProvider,
39
39
  ok,
40
40
  registerPersistentDistillerFactory
41
- } from "./chunk-QBCWORAK.js";
41
+ } from "./chunk-V6ADQNN6.js";
42
42
  import {
43
43
  ensureLearningDir,
44
44
  getRulesFile
@@ -168,18 +168,50 @@ function loadPersistedRules(filePath = getRulesFile()) {
168
168
  }
169
169
 
170
170
  // src/cli/research-helpers-status.ts
171
- function toStatusSummary(id, entry) {
171
+ var TIER_RANK = { high: 3, medium: 2, low: 1 };
172
+ function outranksBest(a, b) {
173
+ if (b === void 0) return true;
174
+ if (TIER_RANK[a.evidenceTier] !== TIER_RANK[b.evidenceTier]) {
175
+ return TIER_RANK[a.evidenceTier] > TIER_RANK[b.evidenceTier];
176
+ }
177
+ return a.qualityScore > b.qualityScore;
178
+ }
179
+ function isEvidenceTier(x) {
180
+ return x === "high" || x === "medium" || x === "low";
181
+ }
182
+ function computeTechniqueEvidence(entry, papers) {
183
+ const registry = papers?.papers;
184
+ if (registry === null || typeof registry !== "object") return void 0;
185
+ const map = registry;
186
+ let best;
187
+ for (const paperId of entry.source_papers) {
188
+ const paper = map[paperId];
189
+ if (paper === null || typeof paper !== "object") continue;
190
+ const score = paper.quality_score;
191
+ if (!Number.isFinite(score)) continue;
192
+ const rawTier = paper.evidence_tier;
193
+ const candidate = {
194
+ evidenceTier: isEvidenceTier(rawTier) ? rawTier : "low",
195
+ qualityScore: score
196
+ };
197
+ if (outranksBest(candidate, best)) best = candidate;
198
+ }
199
+ return best;
200
+ }
201
+ function toStatusSummary(id, entry, papers) {
202
+ const evidence = papers !== void 0 ? computeTechniqueEvidence(entry, papers) : void 0;
172
203
  return {
173
204
  id,
174
205
  name: entry.name,
175
206
  status: entry.status,
176
207
  priority: entry.priority,
177
208
  topic: entry.topic,
178
- implementationIssue: entry.implementation_issue
209
+ implementationIssue: entry.implementation_issue,
210
+ ...evidence !== void 0 ? { evidenceTier: evidence.evidenceTier, qualityScore: evidence.qualityScore } : {}
179
211
  };
180
212
  }
181
- function filterByStatus(techniques, status) {
182
- return Object.entries(techniques).filter(([, entry]) => status === "all" || entry.status === status).map(([id, entry]) => toStatusSummary(id, entry)).sort((a, b) => {
213
+ function filterByStatus(techniques, status, papers) {
214
+ return Object.entries(techniques).filter(([, entry]) => status === "all" || entry.status === status).map(([id, entry]) => toStatusSummary(id, entry, papers)).sort((a, b) => {
183
215
  const priorityOrder = { P1: 0, P2: 1, P3: 2, P4: 3 };
184
216
  const aPriority = a.priority !== null ? priorityOrder[a.priority] ?? 4 : 4;
185
217
  const bPriority = b.priority !== null ? priorityOrder[b.priority] ?? 4 : 4;
@@ -217,6 +249,16 @@ function countByStatus(techniques) {
217
249
  total: implemented + planned + notStarted + rejected
218
250
  };
219
251
  }
252
+ async function loadPapersRegistrySoft() {
253
+ try {
254
+ const papersResult = await loadPapersRegistry();
255
+ if (!papersResult.ok) return void 0;
256
+ const value = papersResult.value;
257
+ return value ?? void 0;
258
+ } catch {
259
+ return void 0;
260
+ }
261
+ }
220
262
  async function getResearchStatus(options) {
221
263
  const result = await loadTechniquesRegistry();
222
264
  if (!result.ok) {
@@ -227,6 +269,7 @@ async function getResearchStatus(options) {
227
269
  };
228
270
  }
229
271
  const registry = result.value;
272
+ const papers = await loadPapersRegistrySoft();
230
273
  if (options.techniqueId !== void 0 && options.techniqueId !== "") {
231
274
  const entry = registry.techniques[options.techniqueId];
232
275
  if (entry === void 0) {
@@ -238,12 +281,12 @@ async function getResearchStatus(options) {
238
281
  }
239
282
  return {
240
283
  success: true,
241
- techniques: [toStatusSummary(options.techniqueId, entry)],
284
+ techniques: [toStatusSummary(options.techniqueId, entry, papers)],
242
285
  counts: countByStatus(registry.techniques)
243
286
  };
244
287
  }
245
288
  const statusFilter = options.status === "all" ? "all" : options.status;
246
- const techniques = filterByStatus(registry.techniques, statusFilter);
289
+ const techniques = filterByStatus(registry.techniques, statusFilter, papers);
247
290
  return {
248
291
  success: true,
249
292
  techniques,
@@ -3737,6 +3780,18 @@ async function getContextForTask(options) {
3737
3780
  return repoMap === void 0 ? result : { ...result, repoMap };
3738
3781
  }
3739
3782
  var MIN_RELEVANCE_TOKEN = 4;
3783
+ function evidenceRank(t) {
3784
+ switch (t.evidenceTier) {
3785
+ case "high":
3786
+ return 3;
3787
+ case "medium":
3788
+ return 2;
3789
+ case "low":
3790
+ return 1;
3791
+ default:
3792
+ return 0;
3793
+ }
3794
+ }
3740
3795
  function selectRelevantResearch(techniques, task, limit) {
3741
3796
  const taskTokens = tokenize(task);
3742
3797
  if (taskTokens.size === 0) return [];
@@ -3750,12 +3805,10 @@ function selectRelevantResearch(techniques, task, limit) {
3750
3805
  break;
3751
3806
  }
3752
3807
  }
3753
- if (hit) {
3754
- matches.push(t);
3755
- if (matches.length >= limit) break;
3756
- }
3808
+ if (hit) matches.push(t);
3757
3809
  }
3758
- return matches;
3810
+ const ordered = [...matches].sort((a, b) => evidenceRank(b) - evidenceRank(a));
3811
+ return ordered.slice(0, limit);
3759
3812
  }
3760
3813
  function tokenize(text) {
3761
3814
  const tokens = /* @__PURE__ */ new Set();
@@ -3934,7 +3987,10 @@ ${lines.join("\n")}`);
3934
3987
  );
3935
3988
  }
3936
3989
  if (ctx.researchInsights.length > 0) {
3937
- const lines = ctx.researchInsights.slice(0, 5).map((r) => `- ${oneLine3(r.name)} (${oneLine3(r.status)}) \u2014 ${oneLine3(r.topic)}`);
3990
+ const lines = ctx.researchInsights.slice(0, 5).map((r) => {
3991
+ const evidence = r.evidenceTier !== void 0 ? `, evidence: ${oneLine3(r.evidenceTier)}` : "";
3992
+ return `- ${oneLine3(r.name)} (${oneLine3(r.status)}${evidence}) \u2014 ${oneLine3(r.topic)}`;
3993
+ });
3938
3994
  sections.push(`### Prior research on this topic
3939
3995
  ${lines.join("\n")}`);
3940
3996
  }
@@ -4034,4 +4090,4 @@ export {
4034
4090
  DEFAULT_CONTEXT_BUDGET_TOKENS,
4035
4091
  getContextPromptPrefix
4036
4092
  };
4037
- //# sourceMappingURL=chunk-QBOTSJ7S.js.map
4093
+ //# sourceMappingURL=chunk-5WFHSWQG.js.map