nexus-agents 6.1.0 → 6.1.1

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.
@@ -21,7 +21,7 @@ import {
21
21
  import {
22
22
  DEFAULT_TASK_TTL_MS,
23
23
  clampTaskTtl
24
- } from "./chunk-WKDHVZY6.js";
24
+ } from "./chunk-HE76P4LG.js";
25
25
  import {
26
26
  executeExpert
27
27
  } from "./chunk-GHD3CUV7.js";
@@ -47,7 +47,7 @@ import {
47
47
  simulationDeniedResult,
48
48
  toJobSummary,
49
49
  writeJobCancelled
50
- } from "./chunk-W4RTV2QJ.js";
50
+ } from "./chunk-PE4W7G7S.js";
51
51
  import {
52
52
  allOf
53
53
  } from "./chunk-OQB3XC5O.js";
@@ -64,7 +64,7 @@ import {
64
64
  } from "./chunk-QNXB6PVL.js";
65
65
  import {
66
66
  withPrerequisite
67
- } from "./chunk-HJOHXFBN.js";
67
+ } from "./chunk-FWRH2IEJ.js";
68
68
  import {
69
69
  NOOP_NOTIFIER,
70
70
  RateLimiter,
@@ -88,7 +88,7 @@ import {
88
88
  withAuditTrail,
89
89
  withProgressHeartbeat,
90
90
  wrapToolWithTimeout
91
- } from "./chunk-MKMVUV3M.js";
91
+ } from "./chunk-TPO3KDE3.js";
92
92
  import {
93
93
  createAuditTrail,
94
94
  createGraphAuditBridge,
@@ -47358,7 +47358,7 @@ ${contextBlock}`;
47358
47358
  const strategy = config.votingStrategy ?? "higher_order";
47359
47359
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
47360
47360
  try {
47361
- const { executeVoting } = await import("./consensus-vote-HBGUIOFE.js");
47361
+ const { executeVoting } = await import("./consensus-vote-RULORCL2.js");
47362
47362
  const votingResult = await executeVoting(
47363
47363
  {
47364
47364
  proposal: buildVoteProposal(plan, research),
@@ -55989,4 +55989,4 @@ export {
55989
55989
  shutdownFeedbackSubscriber,
55990
55990
  createEventBusBridge
55991
55991
  };
55992
- //# sourceMappingURL=chunk-K4MCF6AT.js.map
55992
+ //# sourceMappingURL=chunk-3K6DNH62.js.map
@@ -7,7 +7,7 @@ import {
7
7
  toolStructuredError,
8
8
  toolSuccessStructured,
9
9
  wrapToolWithTimeout
10
- } from "./chunk-MKMVUV3M.js";
10
+ } from "./chunk-TPO3KDE3.js";
11
11
  import {
12
12
  JsonlStore,
13
13
  SECURITY_KEYWORDS,
@@ -2159,4 +2159,4 @@ export {
2159
2159
  runImprovementReview,
2160
2160
  registerImprovementReviewTool
2161
2161
  };
2162
- //# sourceMappingURL=chunk-HJOHXFBN.js.map
2162
+ //# sourceMappingURL=chunk-FWRH2IEJ.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-OQB3XC5O.js";
7
7
  import {
8
8
  VERSION
9
- } from "./chunk-ISBY4JCY.js";
9
+ } from "./chunk-YVRYIIHX.js";
10
10
  import {
11
11
  capitalize
12
12
  } from "./chunk-6T3EPABN.js";
@@ -1201,7 +1201,7 @@ async function runDoctorFix(result) {
1201
1201
  writeLine2("\u2500".repeat(40));
1202
1202
  let fixCount = 0;
1203
1203
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
1204
- const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-3WU7GG76.js");
1204
+ const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-XRUWUIYA.js");
1205
1205
  const outcome = describeDataDirFix2(initDataDirectories2());
1206
1206
  writeLine2(outcome.line);
1207
1207
  if (outcome.counted) fixCount++;
@@ -1303,4 +1303,4 @@ export {
1303
1303
  startStdioServer,
1304
1304
  closeServer
1305
1305
  };
1306
- //# sourceMappingURL=chunk-WKDHVZY6.js.map
1306
+ //# sourceMappingURL=chunk-HE76P4LG.js.map
@@ -23,7 +23,7 @@ import {
23
23
  toolSuccessStructured,
24
24
  withProgressHeartbeat,
25
25
  wrapToolWithTimeout
26
- } from "./chunk-MKMVUV3M.js";
26
+ } from "./chunk-TPO3KDE3.js";
27
27
  import {
28
28
  assessPanelIndependence,
29
29
  countDistinctModels,
@@ -80,6 +80,18 @@ import {
80
80
  // src/mcp/tools/consensus-vote.ts
81
81
  import { z as z10 } from "zod";
82
82
 
83
+ // src/utils/bounded-artifact.ts
84
+ function boundArtifactForReview(text, budget, label) {
85
+ if (text.length <= budget) {
86
+ return { text, note: "", bound: void 0 };
87
+ }
88
+ return {
89
+ text: text.slice(0, budget),
90
+ note: `> NOTE: partial view \u2014 you are seeing the first ${String(budget)} of ${String(text.length)} characters of the ${label}. Judge only what is shown, and treat insufficient visibility as itself a reason to raise a concern.`,
91
+ bound: { reviewedChars: budget, totalChars: text.length, partial: true }
92
+ };
93
+ }
94
+
83
95
  // src/cli/voter-model-overrides.ts
84
96
  function voterModelOverrideEnvKey(role) {
85
97
  return `NEXUS_VOTER_MODEL_${role.toUpperCase()}`;
@@ -6259,21 +6271,34 @@ async function processVotesWithCascade(engineVotes, opts) {
6259
6271
  return { engineResult, voteMap, higherOrderResult, outcome, cascaded: cascadeInfo.decided };
6260
6272
  }
6261
6273
  var CONTRARIAN_ESCALATION_THRESHOLD = 0.8;
6274
+ var CONTRARIAN_PROPOSAL_BUDGET = 2e3;
6275
+ function buildContrarianPrompt(bounded) {
6276
+ return [
6277
+ "You are a contrarian analyst. Your job is to find reasons this proposal should be REJECTED.",
6278
+ "Look for: YAGNI (not needed), MISALIGNED (wrong tech/architecture), SECURITY_RISK, SCOPE_CREEP.",
6279
+ "",
6280
+ ...bounded.note === "" ? [] : [bounded.note, ""],
6281
+ `Proposal: ${bounded.text}`,
6282
+ "",
6283
+ "If you find a strong reason to reject, respond with JSON:",
6284
+ '{"decision":"reject","confidence":0.0-1.0,"reasoning":"your concern"}',
6285
+ "If the proposal is sound, respond with:",
6286
+ '{"decision":"approve","confidence":0.0-1.0,"reasoning":"why it is acceptable"}'
6287
+ ].join("\n");
6288
+ }
6289
+ function logPartialProposal(bounded, log) {
6290
+ if (bounded.bound === void 0) return;
6291
+ log.info("Contrarian sees a partial proposal", {
6292
+ reviewedChars: bounded.bound.reviewedChars,
6293
+ totalChars: bounded.bound.totalChars
6294
+ });
6295
+ }
6262
6296
  async function runContrarianCheck(proposal, log) {
6263
6297
  try {
6264
6298
  const { executeExpert } = await import("./expert-bridge-3EHBG44P.js");
6265
- const prompt = [
6266
- "You are a contrarian analyst. Your job is to find reasons this proposal should be REJECTED.",
6267
- "Look for: YAGNI (not needed), MISALIGNED (wrong tech/architecture), SECURITY_RISK, SCOPE_CREEP.",
6268
- "",
6269
- `Proposal: ${proposal.slice(0, 2e3)}`,
6270
- "",
6271
- "If you find a strong reason to reject, respond with JSON:",
6272
- '{"decision":"reject","confidence":0.0-1.0,"reasoning":"your concern"}',
6273
- "If the proposal is sound, respond with:",
6274
- '{"decision":"approve","confidence":0.0-1.0,"reasoning":"why it is acceptable"}'
6275
- ].join("\n");
6276
- const result = await executeExpert("architecture", prompt);
6299
+ const bounded = boundArtifactForReview(proposal, CONTRARIAN_PROPOSAL_BUDGET, "proposal");
6300
+ logPartialProposal(bounded, log);
6301
+ const result = await executeExpert("architecture", buildContrarianPrompt(bounded));
6277
6302
  if (!result.success) return { shouldEscalate: false, reason: "", confidence: 0, errored: true };
6278
6303
  const jsonMatch = result.text.match(/\{[\s\S]*\}/);
6279
6304
  if (jsonMatch === null)
@@ -6848,4 +6873,4 @@ export {
6848
6873
  CONSENSUS_VOTE_TOOL_SCHEMA,
6849
6874
  registerConsensusVoteTool
6850
6875
  };
6851
- //# sourceMappingURL=chunk-W4RTV2QJ.js.map
6876
+ //# sourceMappingURL=chunk-PE4W7G7S.js.map