omnius 1.0.483 → 1.0.484

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.
package/dist/index.js CHANGED
@@ -576436,13 +576436,14 @@ function uniqueLimited(values) {
576436
576436
  return uniqueValues;
576437
576437
  return uniqueValues.slice(-MAX_FORBIDDEN_FAMILIES);
576438
576438
  }
576439
- var directiveCounter, TERMINAL_INCOMPLETE_IGNORE_THRESHOLD, MAX_FORBIDDEN_FAMILIES, FocusSupervisor;
576439
+ var directiveCounter, TERMINAL_INCOMPLETE_IGNORE_THRESHOLD, MAX_FORBIDDEN_FAMILIES, REPEATED_FAMILY_VIOLATION_LIMIT, FocusSupervisor;
576440
576440
  var init_focusSupervisor = __esm({
576441
576441
  "packages/orchestrator/dist/focusSupervisor.js"() {
576442
576442
  "use strict";
576443
576443
  directiveCounter = 0;
576444
576444
  TERMINAL_INCOMPLETE_IGNORE_THRESHOLD = 8;
576445
576445
  MAX_FORBIDDEN_FAMILIES = 12;
576446
+ REPEATED_FAMILY_VIOLATION_LIMIT = 3;
576446
576447
  FocusSupervisor = class {
576447
576448
  mode;
576448
576449
  modelTier;
@@ -576462,6 +576463,7 @@ var init_focusSupervisor = __esm({
576462
576463
  convergenceFamilyCounts = /* @__PURE__ */ new Map();
576463
576464
  ignoredDirectiveStreak = 0;
576464
576465
  lastIgnoredDirectiveTurn = null;
576466
+ repeatedViolationCounts = /* @__PURE__ */ new Map();
576465
576467
  availableTools = null;
576466
576468
  constructor(options2 = {}) {
576467
576469
  this.mode = options2.mode ?? "auto";
@@ -576558,6 +576560,28 @@ var init_focusSupervisor = __esm({
576558
576560
  prior.ignoredCount++;
576559
576561
  this.ignoredDirectiveStreak++;
576560
576562
  this.lastIgnoredDirectiveTurn = input.turn;
576563
+ const familyViolationKey = `${prior.id}|${family}`;
576564
+ const familyViolationCount = (this.repeatedViolationCounts.get(familyViolationKey) ?? 0) + 1;
576565
+ this.repeatedViolationCounts.set(familyViolationKey, familyViolationCount);
576566
+ if (prior.requiredNextAction !== "creative_pivot_or_research" && familyViolationCount >= REPEATED_FAMILY_VIOLATION_LIMIT) {
576567
+ const directive = this.setDirective({
576568
+ turn: input.turn,
576569
+ state: "forced_replan",
576570
+ reason: `model repeatedly retried the same blocked action family (${family}) ${familyViolationCount} times for directive ${prior.id}`,
576571
+ requiredNextAction: "creative_pivot_or_research",
576572
+ forbiddenActionFamilies: uniqueLimited([
576573
+ ...prior.forbiddenActionFamilies,
576574
+ family
576575
+ ])
576576
+ });
576577
+ return this.block(directive, [
576578
+ "[FOCUS SUPERVISOR BLOCK: LOOP CONTROL]",
576579
+ `Directive ${prior.id} was repeatedly ignored with ${family}.`,
576580
+ `Required next action: ${directive.requiredNextAction}.`,
576581
+ actionReasonSummary(input.actionReason),
576582
+ "Stop trying this action-family repeatedly. Pivot to a materially different approach or web_search the blocker, then continue."
576583
+ ].filter(Boolean).join("\n"), false);
576584
+ }
576561
576585
  if (prior.requiredNextAction === "read_authoritative_target" && input.cachedResult && (input.duplicateHitCount ?? 0) >= Math.max(1, this.repeatGateMax - 1)) {
576562
576586
  const deadlockDirective = this.setDirective({
576563
576587
  turn: input.turn,
@@ -576872,6 +576896,9 @@ var init_focusSupervisor = __esm({
576872
576896
  createdTurn: input.turn,
576873
576897
  ignoredCount: 0
576874
576898
  };
576899
+ if (!stable) {
576900
+ this.repeatedViolationCounts.clear();
576901
+ }
576875
576902
  this.directive = directive;
576876
576903
  this.state = directive.state;
576877
576904
  this.lastReason = directive.reason;
@@ -576888,6 +576915,7 @@ var init_focusSupervisor = __esm({
576888
576915
  this.state = "observe";
576889
576916
  this.ignoredDirectiveStreak = 0;
576890
576917
  this.lastIgnoredDirectiveTurn = null;
576918
+ this.repeatedViolationCounts.clear();
576891
576919
  }
576892
576920
  pass() {
576893
576921
  return {
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.483",
3
+ "version": "1.0.484",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "omnius",
9
- "version": "1.0.483",
9
+ "version": "1.0.484",
10
10
  "bundleDependencies": [
11
11
  "image-to-ascii"
12
12
  ],
@@ -4096,9 +4096,9 @@
4096
4096
  }
4097
4097
  },
4098
4098
  "node_modules/hono": {
4099
- "version": "4.12.27",
4100
- "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.27.tgz",
4101
- "integrity": "sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==",
4099
+ "version": "4.12.28",
4100
+ "resolved": "https://registry.npmjs.org/hono/-/hono-4.12.28.tgz",
4101
+ "integrity": "sha512-YwUvVpSF7m1yOblFPrU3Hbo8XhPheBoiyfGuII6z19LnOr6JpDnyyp7LFNrfV56wS8tpvtBFGRISHN02pDdLOA==",
4102
4102
  "license": "MIT",
4103
4103
  "engines": {
4104
4104
  "node": ">=16.9.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omnius",
3
- "version": "1.0.483",
3
+ "version": "1.0.484",
4
4
  "description": "AI coding agent powered by open-source models (Ollama/vLLM) — interactive TUI with agentic tool-calling loop",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",