@herjarsa/omo-meta-governor 0.34.1 → 0.35.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.
package/README.md CHANGED
@@ -225,6 +225,16 @@ cost: the directive forbids enumerating the full catalog.
225
225
  }
226
226
  }
227
227
  ```
228
+ ### Skills system: 3-tier resolution
229
+ The plugin resolves skills from three tiers, in this precedence:
230
+ 1. **Chore (global)** — bundled skills shipped with the plugin, extracted to
231
+ `~/.agents/skills/` on first run. Read-only from the plugin's perspective.
232
+ 2. **Hub (lazy)** — on-demand from `skills-library.com` / `skills.sh`. Materialized
233
+ to `<cwd>/.agents/skills/<slug>/SKILL.md` when the agent calls `omo_skill_get`.
234
+ 3. **Custom (project-local)** — written by the agent via the `writing-skills`
235
+ chore skill when no hub match exists.
236
+ The plugin recommends skills to the agent; it never injects skill content into
237
+ prompts. The agent decides which skill to use per task.
228
238
 
229
239
  ### Multi-phase plans
230
240
 
package/dist/config.d.ts CHANGED
@@ -74,6 +74,10 @@ export interface MetaGovernorPluginConfig {
74
74
  * bug #27924 (recursive overflow-only compactions). When the guard
75
75
  * trips, the plugin flips opencode's autocontinue to disabled so the
76
76
  * model can resume its pending tasks.
77
+ *
78
+ * v0.34.2: defaults aligned to ON (was OFF in v0.31.x - v0.34.1).
79
+ * Users upgrading from v0.34.0/0.34.1 should set nabled: false
80
+ * explicitly if they relied on the previous OFF default.
77
81
  */
78
82
  compactionLoopGuard?: {
79
83
  enabled?: boolean;
@@ -148,6 +152,9 @@ export interface MetaGovernorPluginConfig {
148
152
  minInstalls?: number;
149
153
  filterDuplicates?: boolean;
150
154
  depsCheck?: boolean;
155
+ choreDir?: string;
156
+ /** v0.35.0: write fetched hub skills to <cwd>/.agents/skills/<slug>/SKILL.md. */
157
+ autoMaterialize?: boolean;
151
158
  };
152
159
  /** Post-wave workflow gate (v0.21.0): landing directives after Oracle-approved waves. */
153
160
  postWave?: PostWaveConfig;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * MetaGovernor decision store — in-memory Map for intervention feature.
2
+ * MetaGovernor decision store - in-memory Map for intervention feature.
3
3
  *
4
4
  * Stores decisions produced by tool.execute.after so they can be
5
5
  * consumed by experimental.chat.messages.transform and
@@ -8,11 +8,15 @@
8
8
  * The store is keyed by sessionID. For hooks that receive a sessionID
9
9
  * (system.transform), use takeDecision(sessionID). For hooks that
10
10
  * receive no sessionID (messages.transform), use takeAnyDecision().
11
+ *
12
+ * v0.34.2: added per-session decision history (capped) for the
13
+ * paralysis-override signal consumed by scoring-engine.
11
14
  */
12
15
  import type { DecisionHandlerOutput } from "./types";
13
16
  /**
14
17
  * Store a decision for a session.
15
18
  * Overwrites any previous pending decision for the same session.
19
+ * v0.34.2: also appends to per-session history.
16
20
  */
17
21
  export declare function storeDecision(sessionID: string, decision: DecisionHandlerOutput): void;
18
22
  /**
@@ -26,12 +30,19 @@ export declare function takeDecision(sessionID: string): DecisionHandlerOutput |
26
30
  export declare function hasDecision(sessionID: string): boolean;
27
31
  /**
28
32
  * @deprecated v0.16.0: this function can leak decisions across sessions.
29
- * Use takeDecision(sessionID) instead — the messages.transform hook now
33
+ * Use takeDecision(sessionID) instead - the messages.transform hook now
30
34
  * derives the sessionID from the last outgoing message (see plugin.ts).
31
35
  * Will be removed in v0.18.0.
32
36
  */
33
37
  export declare function takeAnyDecision(): DecisionHandlerOutput | undefined;
34
38
  /**
35
- * Clear all stored decisions. Useful in tests or when a session ends.
39
+ * Clear all stored decisions and history. Useful in tests or when
40
+ * a session ends.
36
41
  */
37
42
  export declare function clearAll(): void;
43
+ /**
44
+ * v0.34.2: per-session history of past decisions (capped at MAX_HISTORY).
45
+ * Consumed by scoring-engine via countConsecutiveStops() to detect
46
+ * paralysis (3+ consecutive stops triggers force-continue).
47
+ */
48
+ export declare function getDecisionHistory(sessionID: string): readonly DecisionHandlerOutput["historyEntry"][];
package/dist/health.d.ts CHANGED
@@ -23,6 +23,15 @@ export interface PluginHealth {
23
23
  interventionsDelivered: number;
24
24
  orchestratorRuns: number;
25
25
  orchestratorErrors: number;
26
+ /** v0.35.0 (Tier 2 materialization): count of materializeSkill() calls
27
+ * that returned reason='denied' (filesystem write failure). */
28
+ materializationFailures: number;
29
+ /** v0.35.0 (Tier 3 advisory): count of writing-skills reminders emitted
30
+ * on zero-result queries. Rate-limited to 1 per query, 3 per session. */
31
+ tier3RemindersSent: number;
32
+ /** v0.35.0 (Tier 3 watcher): count of new SKILL.md files detected under
33
+ * cwd/.agents/skills/. Increments per create/write event from chokidar. */
34
+ tier3SkillsCreated: number;
26
35
  lastDecisionISO: string | null;
27
36
  lastInterventionISO: string | null;
28
37
  };
@@ -79,6 +88,10 @@ export interface PluginHealth {
79
88
  omo_add: number;
80
89
  omo_check_update: number;
81
90
  omo_hook_status: number;
91
+ omo_cli_anything_install: number;
92
+ omo_cli_anything_list: number;
93
+ omo_cli_anything_search: number;
94
+ omo_cli_anything_info: number;
82
95
  };
83
96
  }
84
97
  /**