@herjarsa/omo-meta-governor 0.32.1 → 0.33.2

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/README.md CHANGED
@@ -166,20 +166,20 @@ fires — verified via Gap C audit).
166
166
 
167
167
  ### Intervention modes
168
168
 
169
- When the decision is `warn` / `escalate` / `stop`, the plugin can inject
170
- the rationale into the agent's context via `experimental.chat.messages.transform`:
169
+ **v0.33.0 banner-killer fix**: all modes are now non-blocking. None of them produce the `continua` banner that previously killed delegation loops. The plugin persists guidance as a TUI notification (visible to user, invisible to agent as a blocking message-queue item). The agent still receives the violation context to correct it, either via system-prompt injection (`system` mode) or through its natural next turn after the notification.
170
+
171
+ When the decision is `warn` / `escalate` / `stop`:
171
172
 
172
173
  | Mode | Mechanism | Effect |
173
174
  |------|-----------|--------|
174
- | `silent` | (none) | Decision is logged only |
175
- | `message` | `chat.messages.transform` | Injects a synthetic user message visible to the LLM |
176
- | `system` | `chat.system.transform` | Appends guidance to the system prompt |
175
+ | `silent` (default) | (none) | Decision logged only; no TUI notification. Lowest noise. |
176
+ | `message` | `session.prompt()` (deferred 250ms) | Notification persisted to session TUI; agent does NOT see it as a blocking turn. Banner-free. |
177
+ | `system` | `chat.system.transform` | Guidance appended to system prompt on every turn; agent receives context non-blocking. |
177
178
 
178
179
  `maxInterventionsPerSession: 3` (default) hard-stops injection after 3
179
- interventions per session to prevent infinite instruction loops
180
- (v0.10.0). When `respectDoneSignal: true` (default), injection stops
181
- once the agent emits the terminal signal AND Oracle has verified.
182
-
180
+ interventions per session to prevent instruction loops (v0.10.0). When
181
+ `respectDoneSignal: true` (default), injection stops once the agent emits
182
+ the terminal signal AND Oracle has verified.
183
183
  ### Protocol enforcement
184
184
 
185
185
  `src/protocol-enforcer.ts` audits tool calls against a configurable
@@ -545,8 +545,7 @@ All configuration lives under the `meta_governor` key in
545
545
  | `includeDecisionHistory` | boolean | — | Whether to include recent decision history in injection. |
546
546
  | `maxHistoryMessages` | integer | `5` | Max history entries when `includeDecisionHistory: true`. |
547
547
  | `minActionForMessage` | enum | — | Minimum action: `'warn'` (all non-continue), `'escalate'`, `'stop'`. |
548
- | `persistToSession` | boolean | `true` | v0.19.0: when true, intervention messages ALSO persist to the session. |
549
- | `maxInterventionsPerSession` | integer | `3` | v0.10.0: hard cap before auto-disable. |
548
+ | `persistToSession` | boolean | `true` | v0.33.0: when true, notifications persist to the session via `session.prompt()` (banner-free, TUI-visible). The plugin no longer pushes `role:'user'` synthetic messages through `experimental.chat.messages.transform` (that was the session-killer — OpenCode renders them as blocking banners requiring `continua` clicks). |
550
549
  | `respectDoneSignal` | boolean | `true` | Stop injecting once terminal signal + Oracle verified. |
551
550
  | `phaseAwareDoneSignal` | boolean | `false` | v0.15.0: split per-phase hint from terminal signal. |
552
551
  | `compactionLoopGuard.enabled` | boolean | `true` | v0.31.2: defense against opencode [#27924](https://github.com/anomalyco/opencode/issues/27924) (infinite overflow-compaction loop). |