nexus-agents 8.54.9 → 8.54.11

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-7F735S2L.js";
24
+ } from "./chunk-IQPZNSWU.js";
25
25
  import {
26
26
  executeExpert
27
27
  } from "./chunk-QDLALX37.js";
@@ -60,7 +60,7 @@ import {
60
60
  toJobSummary,
61
61
  updateStage,
62
62
  writeJobCancelled
63
- } from "./chunk-N3G3QF6G.js";
63
+ } from "./chunk-EP7N3MVM.js";
64
64
  import {
65
65
  allOf,
66
66
  anyOf
@@ -80,7 +80,7 @@ import {
80
80
  } from "./chunk-54HLYHWM.js";
81
81
  import {
82
82
  withPrerequisite
83
- } from "./chunk-SZP4OESB.js";
83
+ } from "./chunk-Q57FNQUE.js";
84
84
  import {
85
85
  NOOP_NOTIFIER,
86
86
  RateLimiter,
@@ -105,7 +105,7 @@ import {
105
105
  withAuditTrail,
106
106
  withProgressHeartbeat,
107
107
  wrapToolWithTimeout
108
- } from "./chunk-3SNVA4HI.js";
108
+ } from "./chunk-RPNMDXVE.js";
109
109
  import {
110
110
  createAuditTrail,
111
111
  createGraphAuditBridge,
@@ -46173,7 +46173,7 @@ function buildVotingInput(plan, config) {
46173
46173
  }
46174
46174
  async function executeSingleVote(plan, config, log) {
46175
46175
  try {
46176
- const { executeVoting } = await import("./consensus-vote-XK6FOSKZ.js");
46176
+ const { executeVoting } = await import("./consensus-vote-N734APG3.js");
46177
46177
  const input = buildVotingInput(plan, config);
46178
46178
  const result = await executeVoting(input, log);
46179
46179
  return parseVotingResult(result);
@@ -47968,7 +47968,7 @@ ${contextBlock}`;
47968
47968
  const strategy = config.votingStrategy ?? "higher_order";
47969
47969
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
47970
47970
  try {
47971
- const { executeVoting } = await import("./consensus-vote-XK6FOSKZ.js");
47971
+ const { executeVoting } = await import("./consensus-vote-N734APG3.js");
47972
47972
  const votingResult = await executeVoting(
47973
47973
  {
47974
47974
  proposal: buildVoteProposal(plan, research),
@@ -56888,4 +56888,4 @@ export {
56888
56888
  startPipelineEventBridge,
56889
56889
  shutdownPipelineEventBridge
56890
56890
  };
56891
- //# sourceMappingURL=chunk-6PAPRLER.js.map
56891
+ //# sourceMappingURL=chunk-4OMHJHKS.js.map
@@ -24,10 +24,10 @@ import {
24
24
  toolSuccessStructured,
25
25
  withProgressHeartbeat,
26
26
  wrapToolWithTimeout
27
- } from "./chunk-3SNVA4HI.js";
27
+ } from "./chunk-RPNMDXVE.js";
28
28
  import {
29
29
  VERSION
30
- } from "./chunk-244GPQSG.js";
30
+ } from "./chunk-NFWDEAMM.js";
31
31
  import {
32
32
  UNRESOLVED_MODEL_ID,
33
33
  assessPanelIndependence,
@@ -5628,6 +5628,14 @@ var VoteRecordPanelCoverageSchema = z8.object({
5628
5628
  erroredRoles: z8.array(z8.string().min(1).max(100))
5629
5629
  }).strict();
5630
5630
  var MAX_VOTER_REASONING_CHARS = 2e4;
5631
+ var SeatFallbackRecordSchema = z8.object({
5632
+ /** The CLI the seat was assigned to, bare (`claude`, not `cli-claude`). */
5633
+ fromCli: z8.string().min(1).max(100),
5634
+ /** The model the assigned adapter had detected, when it had one. */
5635
+ fromModel: z8.string().min(1).max(200).optional(),
5636
+ /** The adapter-layer class of the error that moved the seat. */
5637
+ reason: z8.enum(["rate-limit", "capacity", "auth", "timeout", "sandbox", "unknown"])
5638
+ }).strict();
5631
5639
  var VoterSummarySchema = z8.object({
5632
5640
  role: z8.string().min(1).max(100),
5633
5641
  decision: z8.enum(["approve", "reject", "abstain"]),
@@ -5697,7 +5705,30 @@ var VoterSummarySchema = z8.object({
5697
5705
  * on the proposal text after failing to read. `literal(true)` and
5698
5706
  * present-only, so every pre-1.8 entry re-hashes byte-identical.
5699
5707
  */
5700
- unverifiable: z8.literal(true).optional()
5708
+ unverifiable: z8.literal(true).optional(),
5709
+ /**
5710
+ * The CLI the round-robin or `NEXUS_VOTER_MODEL_<ROLE>` pin chose for the
5711
+ * seat, as a bare name (#6115, schema 1.9). `model` says where a seat
5712
+ * answered; this says where it was MEANT to. Three consecutive 7-seat
5713
+ * ratification panels on 2026-09-13 answered every seat on one gemini
5714
+ * model while the assignment was three claude, two codex, two gemini,
5715
+ * and the 1.8 record showed seven identical `model` values with nothing
5716
+ * that said five of them were substitutes. Present-only, on the `model`
5717
+ * rule; absent on a result built outside the panel launcher.
5718
+ */
5719
+ assignedCli: z8.string().min(1).max(100).optional(),
5720
+ /**
5721
+ * Present only when the seat answered on a different CLI or model than
5722
+ * assigned (#6115, schema 1.9): the exact `SeatFallback` shape the live
5723
+ * result carries, rebuilt field-by-field. `fromCli` is the assigned CLI,
5724
+ * `fromModel` the model it had detected (absent when it never did — the
5725
+ * pending-detection placeholder is not a model), `reason` the adapter
5726
+ * layer's error class. The vocabulary is compile-checked against the live
5727
+ * `FallbackReason` in vote-record.test.ts; a class one side learns alone
5728
+ * would either refuse every record that carries it (#6054) or accept one
5729
+ * no producer can write.
5730
+ */
5731
+ fallback: SeatFallbackRecordSchema.optional()
5701
5732
  }).strict();
5702
5733
  function defineVoterKeys(keys) {
5703
5734
  return keys;
@@ -5712,12 +5743,30 @@ var VOTER_SUMMARY_KEYS = defineVoterKeys([
5712
5743
  // 1.8 (#6091, #6094): appended after `retried`, present-only, so a 1.7
5713
5744
  // entry projects byte-identically.
5714
5745
  "model",
5715
- "unverifiable"
5746
+ "unverifiable",
5747
+ // 1.9 (#6115): appended after `unverifiable`, present-only, so a 1.8 entry
5748
+ // projects byte-identically. `fallback` is the first nested voter field;
5749
+ // `projectSeatFallback` rebuilds it in its own canonical order.
5750
+ "assignedCli",
5751
+ "fallback"
5716
5752
  ]);
5753
+ function noUnprojectedKeys(rest) {
5754
+ return rest;
5755
+ }
5756
+ function projectSeatFallback(f) {
5757
+ const { fromCli, fromModel, reason, ...rest } = f;
5758
+ noUnprojectedKeys(rest);
5759
+ return {
5760
+ fromCli,
5761
+ ...fromModel !== void 0 ? { fromModel } : {},
5762
+ reason
5763
+ };
5764
+ }
5717
5765
  function projectVoterSummary(v) {
5718
5766
  const out = {};
5719
5767
  for (const key of VOTER_SUMMARY_KEYS) {
5720
- if (v[key] !== void 0) out[key] = v[key];
5768
+ const value = key === "fallback" ? v.fallback === void 0 ? void 0 : projectSeatFallback(v.fallback) : v[key];
5769
+ if (value !== void 0) out[key] = value;
5721
5770
  }
5722
5771
  return out;
5723
5772
  }
@@ -5741,7 +5790,7 @@ var VoteRecordSchema = z8.object({
5741
5790
  * `ratifies` is folded into the self-hash ONLY when present (see
5742
5791
  * {@link computeVoteRecordHash}).
5743
5792
  */
5744
- version: z8.enum(["1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8"]),
5793
+ version: z8.enum(["1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9"]),
5745
5794
  /** Unique record id (also usable as a `ratificationVoteRef`). */
5746
5795
  id: z8.string().min(1),
5747
5796
  /**
@@ -5942,7 +5991,12 @@ function toVoterSummaries(votes) {
5942
5991
  // #6094: a seat that answered without reading the artifact. Its
5943
5992
  // `decision` is abstain; this flag is what keeps it from reading as a
5944
5993
  // considered abstention.
5945
- ...v.source === "unverifiable" ? { unverifiable: true } : {}
5994
+ ...v.source === "unverifiable" ? { unverifiable: true } : {},
5995
+ // #6115: where the seat was assigned, and — when it answered elsewhere —
5996
+ // the fallback the live result stated. `model` alone showed seven
5997
+ // identical values on a panel assigned three ways and could not say so.
5998
+ ...v.assignedCli !== void 0 ? { assignedCli: v.assignedCli } : {},
5999
+ ...v.fallback !== void 0 ? { fallback: projectSeatFallback(v.fallback) } : {}
5946
6000
  });
5947
6001
  }
5948
6002
  return summaries;
@@ -5966,6 +6020,7 @@ function deriveOptionFields(votes, declaredOptions) {
5966
6020
  return { optionTally: tallied ?? [], optionCoverage: coverageOf(votes) };
5967
6021
  }
5968
6022
  function recordVersion(optionTally, optionCoverage, panelCoverage, voters) {
6023
+ if (voters.some((v) => v.assignedCli !== void 0 || v.fallback !== void 0)) return "1.9";
5969
6024
  if (voters.some((v) => v.model !== void 0 || v.unverifiable === true)) return "1.8";
5970
6025
  if (voters.some((v) => v.retried === true)) return "1.7";
5971
6026
  if (voters.some((v) => v.reasoning !== void 0)) return "1.6";
@@ -8450,4 +8505,4 @@ export {
8450
8505
  CONSENSUS_VOTE_TOOL_SCHEMA,
8451
8506
  registerConsensusVoteTool
8452
8507
  };
8453
- //# sourceMappingURL=chunk-N3G3QF6G.js.map
8508
+ //# sourceMappingURL=chunk-EP7N3MVM.js.map