@davidorex/pi-behavior-monitors 0.14.4 → 0.14.6

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/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.14.6] - 2026-04-27
4
+
5
+ ### Changed
6
+ - Monitor discovery uses a three-tier multi-location loader (project `.pi/monitors/` > global `~/.pi/agent/monitors/` > bundled `<package>/examples/`) instead of the prior copy-on-first-run `seedExamples()` pattern. Bundled monitor changes (e.g., the `agent_end` routing fix in commit affe992) now propagate to all installations automatically because the bundled tier reads the package examples directly. First match by `monitor.name` wins; same-name shadowing across tiers logs a one-line warning at session_start so drift is visible.
7
+ - Existing files in `.pi/monitors/` continue to work as project-level overrides under the new model. To receive bundled-monitor updates, delete the per-monitor files in `.pi/monitors/`. The override warning at session_start identifies which monitors are currently shadowed and where the bundled version lives.
8
+
9
+ ### Removed
10
+ - `seedExamples()` and the seeded-count notification — bundled monitors are no longer copied into user `.pi/monitors/` directories at first run.
11
+ - `resolveProjectMonitorsDir` export — replaced internally by a private `findProjectMonitorsDir(): string | null` helper that returns null instead of synthesizing a cwd-rooted fallback path.
12
+ - Internal `copyDirRecursive` helper — `scripts/generate-skills.js` retains its own private copy.
13
+
3
14
  ## [0.3.0] - 2026-03-18
4
15
 
5
16
  ## [0.2.0] - 2026-03-17
package/README.md CHANGED
@@ -12,7 +12,12 @@ pi install npm:@davidorex/pi-behavior-monitors
12
12
 
13
13
  Or install all three extensions at once: `pi install npm:@davidorex/pi-project-workflows`
14
14
 
15
- On first run, if no monitors exist in your project, example monitors are seeded into `.pi/monitors/`. Edit or delete them to customize.
15
+ Five example monitors ship bundled with the package and load by default from a
16
+ three-tier search (project `.pi/monitors/` > global `~/.pi/agent/monitors/` >
17
+ bundled `examples/`); first match by name wins. To customize one, create
18
+ `.pi/monitors/<name>.monitor.json` in your project — the override fully replaces
19
+ the bundled version by name. Delete the override to revert and pick up bundled
20
+ updates automatically.
16
21
 
17
22
  ## Bundled Example Monitors
18
23
 
@@ -1,7 +1,8 @@
1
1
  name: commit-hygiene-classifier
2
2
  role: sensor
3
3
  description: Classifies whether agent committed changes with proper hygiene
4
- model: claude-sonnet-4-6
4
+ # Route through openrouter (only credential in ~/.pi/agent/auth.json). Use dot form per openrouter registry; dash form (claude-sonnet-4-6) is the anthropic-direct id.
5
+ model: openrouter/anthropic/claude-sonnet-4.6
5
6
  thinking: "on"
6
7
  output:
7
8
  format: json
@@ -1,7 +1,8 @@
1
1
  name: fragility-classifier
2
2
  role: sensor
3
3
  description: Classifies whether agent left unaddressed fragilities
4
- model: claude-sonnet-4-6
4
+ # Route through openrouter (only credential in ~/.pi/agent/auth.json). Use dot form per openrouter registry; dash form (claude-sonnet-4-6) is the anthropic-direct id.
5
+ model: openrouter/anthropic/claude-sonnet-4.6
5
6
  thinking: "on"
6
7
  output:
7
8
  format: json
@@ -1,7 +1,8 @@
1
1
  name: hedge-classifier
2
2
  role: sensor
3
3
  description: Classifies whether assistant deviated from user intent
4
- model: claude-sonnet-4-6
4
+ # Route through openrouter (only credential in ~/.pi/agent/auth.json). Use dot form per openrouter registry; dash form (claude-sonnet-4-6) is the anthropic-direct id.
5
+ model: openrouter/anthropic/claude-sonnet-4.6
5
6
  thinking: "on"
6
7
  output:
7
8
  format: json
@@ -1,7 +1,8 @@
1
1
  name: unauthorized-action-classifier
2
2
  role: sensor
3
3
  description: Classifies whether agent is about to take an unauthorized action
4
- model: claude-sonnet-4-6
4
+ # Route through openrouter (only credential in ~/.pi/agent/auth.json). Use dot form per openrouter registry; dash form (claude-sonnet-4-6) is the anthropic-direct id.
5
+ model: openrouter/anthropic/claude-sonnet-4.6
5
6
  thinking: "on"
6
7
  output:
7
8
  format: json
@@ -1,7 +1,8 @@
1
1
  name: work-quality-classifier
2
2
  role: sensor
3
3
  description: Classifies work quality issues in agent output
4
- model: claude-sonnet-4-6
4
+ # Route through openrouter (only credential in ~/.pi/agent/auth.json). Use dot form per openrouter registry; dash form (claude-sonnet-4-6) is the anthropic-direct id.
5
+ model: openrouter/anthropic/claude-sonnet-4.6
5
6
  thinking: "on"
6
7
  output:
7
8
  format: json
package/dist/index.d.ts CHANGED
@@ -118,8 +118,78 @@ export interface MonitorMessageDetails {
118
118
  }
119
119
  type MonitorEvent = "message_end" | "turn_end" | "agent_end" | "command" | "tool_call";
120
120
  export declare const VALID_EVENTS: Set<string>;
121
- export declare function discoverMonitors(): Monitor[];
122
- export declare function resolveProjectMonitorsDir(): string;
121
+ /**
122
+ * Tracks a monitor in a lower-precedence tier whose `name` was shadowed by an
123
+ * earlier (higher-precedence) tier. Surfaced at session_start so users see when
124
+ * a project- or user-level override is hiding a (potentially newer) bundled
125
+ * version. The drift signal is the substitute for copy-on-first-run seeding:
126
+ * package examples now load directly as the third tier, and any project file
127
+ * keeping its older shape is reported here rather than silently winning forever.
128
+ */
129
+ export interface MonitorOverride {
130
+ name: string;
131
+ winnerDir: string;
132
+ losingDir: string;
133
+ }
134
+ /** Return value of `discoverMonitors`. `monitors` is the deduplicated set used
135
+ * by the runtime; `overrides` is the audit trail of shadowed lower-tier files. */
136
+ export interface MonitorDiscovery {
137
+ monitors: Monitor[];
138
+ overrides: MonitorOverride[];
139
+ }
140
+ /**
141
+ * Discover monitors across three tiers; first match by `name` wins.
142
+ *
143
+ * Precedence (highest first):
144
+ * 1. project `.pi/monitors/` (walk-up to .git boundary)
145
+ * 2. global `~/.pi/agent/monitors/` (via `getAgentDir()`)
146
+ * 3. bundled `<package>/examples/` (built-in defaults shipped with this extension)
147
+ *
148
+ * Any monitor file in a lower tier whose `name` matches an already-seen
149
+ * higher-tier monitor is recorded in `overrides` (not loaded). This replaces
150
+ * the prior `seedExamples()` copy-on-first-run pattern: bundled fixes (e.g.
151
+ * commit affe992 routing fragility/hedge classifiers through `agent_end`) now
152
+ * propagate to users automatically because tier 3 is read live, not copied.
153
+ */
154
+ export declare function discoverMonitors(): MonitorDiscovery;
155
+ /**
156
+ * Collect the assistant's response text for the current turn.
157
+ *
158
+ * Walks the branch backward from the tail and aggregates text from every
159
+ * assistant `MessageEntry` until it reaches the most recent user message
160
+ * (turn boundary), at which point the walk stops. Collected segments are
161
+ * reversed back to chronological order and joined with `\n\n`. Empty
162
+ * segments (from tool-call-only assistant messages with no text content)
163
+ * are dropped before joining.
164
+ *
165
+ * Encoded design decisions:
166
+ *
167
+ * - F-014 root-cause fix: previously the function returned from the FIRST
168
+ * assistant message it hit walking backward; when that latest assistant
169
+ * message was tool-call-only, the result was empty even though earlier
170
+ * assistant messages in the same turn carried the user-visible text.
171
+ * The walk now aggregates across all assistant messages in the turn so
172
+ * tool-call-only tail messages no longer mask prior text.
173
+ *
174
+ * - F-018 multi-message-turn semantics: "the assistant's response" is
175
+ * defined as all assistant text emitted from the most recent user
176
+ * message up to the present, joined with double-newline separator.
177
+ * Non-message entries (model_change, label, custom_message,
178
+ * branch_summary, etc.) are skipped — they are not part of the
179
+ * assistant's response.
180
+ *
181
+ * - `extractText` (text-only filter) is intentionally not modified here:
182
+ * tool-call blocks have no user-visible text, and thinking blocks are
183
+ * model-internal reasoning that should not leak into classifier prompts.
184
+ *
185
+ * Edge cases:
186
+ * - Empty branch: returns "".
187
+ * - No user message in branch (e.g., system-init turn): walks to start
188
+ * and returns all collected assistant text.
189
+ * - All assistant messages tool-call-only: returns "" (true empty
190
+ * response, distinct from the F-014 false-positive case).
191
+ */
192
+ export declare function collectAssistantText(branch: SessionEntry[]): string;
123
193
  /**
124
194
  * Detect whether the current user message references prior conversation context
125
195
  * via backreferences, affirmations, or short messages without action verbs.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -12,20 +12,37 @@ import * as fs from "node:fs";
12
12
  import * as os from "node:os";
13
13
  import * as path from "node:path";
14
14
  import { fileURLToPath } from "node:url";
15
+ import { dateRotatedPath, executeAgent } from "@davidorex/pi-jit-agents";
15
16
  import { readBlock } from "@davidorex/pi-project/block-api";
16
17
  import { validateFromFile } from "@davidorex/pi-project/schema-validator";
17
18
  import { createAgentLoader } from "@davidorex/pi-workflows/agent-spec";
18
19
  import { compileAgentSpec } from "@davidorex/pi-workflows/step-shared";
19
- import { complete, StringEnum } from "@mariozechner/pi-ai";
20
+ import { StringEnum, Type } from "@mariozechner/pi-ai";
20
21
  import { getAgentDir } from "@mariozechner/pi-coding-agent";
21
22
  import { Box, Text } from "@mariozechner/pi-tui";
22
- import { Type } from "@sinclair/typebox";
23
23
  import nunjucks from "nunjucks";
24
24
  const EXTENSION_DIR = path.dirname(fileURLToPath(import.meta.url));
25
- const EXAMPLES_DIR = path.join(EXTENSION_DIR, "..", "examples");
26
- const AGENTS_DIR = path.join(EXTENSION_DIR, "..", "agents");
27
- /** Tool definition for forcing structured verdict output from the classify LLM call. */
28
- const VERDICT_TOOL = {
25
+ /**
26
+ * Package root is one level up from `dist/` at runtime (compiled `dist/index.js`),
27
+ * or equal to `EXTENSION_DIR` when running from source (e.g. vitest). Detecting
28
+ * which case we're in by inspecting the basename keeps the bundled-content paths
29
+ * (`examples/`, `agents/`) reachable from both contexts without separate test
30
+ * fixtures.
31
+ */
32
+ const PACKAGE_ROOT = path.basename(EXTENSION_DIR) === "dist" ? path.dirname(EXTENSION_DIR) : EXTENSION_DIR;
33
+ const EXAMPLES_DIR = path.join(PACKAGE_ROOT, "examples");
34
+ const AGENTS_DIR = path.join(PACKAGE_ROOT, "agents");
35
+ /**
36
+ * Tool definition for forcing structured verdict output from the classify LLM call.
37
+ *
38
+ * Retained as a documentation reference; the live phantom-tool used at dispatch
39
+ * time is now built by `buildPhantomTool(outputSchema)` inside pi-jit-agents'
40
+ * `executeAgent`, fed by the agent spec's `outputSchema` (canonical:
41
+ * `verdict.schema.json`). The shape below mirrors that schema. Underscore
42
+ * prefix suppresses the unused-symbol lint while preserving the on-file
43
+ * trace of the contract that the phantom-tool path now enforces.
44
+ */
45
+ const _VERDICT_TOOL = {
29
46
  name: "classify_verdict",
30
47
  description: "Output the monitor classification verdict",
31
48
  parameters: Type.Object({
@@ -84,41 +101,71 @@ export const VALID_EVENTS = new Set(["message_end", "turn_end", "agent_end", "co
84
101
  function isValidEvent(event) {
85
102
  return VALID_EVENTS.has(event);
86
103
  }
87
- // =============================================================================
88
- // Discovery
89
- // =============================================================================
90
- export function discoverMonitors() {
91
- const dirs = [];
92
- // project-local
104
+ /**
105
+ * Walk up from `process.cwd()` looking for a `.pi/monitors/` directory, stopping
106
+ * at the first `.git` boundary so we never escape into the user's home config.
107
+ * Returns the resolved path or `null` when no project-tier monitors directory
108
+ * exists. Single source for the project-tier walk used by both `discoverMonitors`
109
+ * and `createMonitorAgentTemplateEnv` (the previous `resolveProjectMonitorsDir`
110
+ * also returned a synthesized cwd-rooted fallback path even when no directory
111
+ * existed, which conflated "exists" with "would be created on seed"; that
112
+ * conflation is no longer needed and is removed here).
113
+ */
114
+ function findProjectMonitorsDir() {
93
115
  let cwd = process.cwd();
94
116
  while (true) {
95
117
  const candidate = path.join(cwd, ".pi", "monitors");
96
- if (isDir(candidate)) {
97
- dirs.push(candidate);
98
- break;
99
- }
100
- // Stop at project root (.git boundary) — don't traverse into user home config
118
+ if (isDir(candidate))
119
+ return candidate;
101
120
  if (isDir(path.join(cwd, ".git")))
102
- break;
121
+ return null;
103
122
  const parent = path.dirname(cwd);
104
123
  if (parent === cwd)
105
- break;
124
+ return null;
106
125
  cwd = parent;
107
126
  }
108
- // global
127
+ }
128
+ /**
129
+ * Discover monitors across three tiers; first match by `name` wins.
130
+ *
131
+ * Precedence (highest first):
132
+ * 1. project `.pi/monitors/` (walk-up to .git boundary)
133
+ * 2. global `~/.pi/agent/monitors/` (via `getAgentDir()`)
134
+ * 3. bundled `<package>/examples/` (built-in defaults shipped with this extension)
135
+ *
136
+ * Any monitor file in a lower tier whose `name` matches an already-seen
137
+ * higher-tier monitor is recorded in `overrides` (not loaded). This replaces
138
+ * the prior `seedExamples()` copy-on-first-run pattern: bundled fixes (e.g.
139
+ * commit affe992 routing fragility/hedge classifiers through `agent_end`) now
140
+ * propagate to users automatically because tier 3 is read live, not copied.
141
+ */
142
+ export function discoverMonitors() {
143
+ const dirs = [];
144
+ const projectDir = findProjectMonitorsDir();
145
+ if (projectDir)
146
+ dirs.push(projectDir);
109
147
  const globalDir = path.join(getAgentDir(), "monitors");
110
148
  if (isDir(globalDir))
111
149
  dirs.push(globalDir);
150
+ if (isDir(EXAMPLES_DIR))
151
+ dirs.push(EXAMPLES_DIR);
112
152
  const seen = new Map();
153
+ const overrides = [];
113
154
  for (const dir of dirs) {
114
155
  for (const file of listMonitorFiles(dir)) {
115
156
  const monitor = parseMonitorJson(path.join(dir, file), dir);
116
- if (monitor && !seen.has(monitor.name)) {
157
+ if (!monitor)
158
+ continue;
159
+ const winner = seen.get(monitor.name);
160
+ if (!winner) {
117
161
  seen.set(monitor.name, monitor);
118
162
  }
163
+ else {
164
+ overrides.push({ name: monitor.name, winnerDir: winner.dir, losingDir: dir });
165
+ }
119
166
  }
120
167
  }
121
- return Array.from(seen.values());
168
+ return { monitors: Array.from(seen.values()), overrides };
122
169
  }
123
170
  function isDir(p) {
124
171
  try {
@@ -209,73 +256,6 @@ function parseMonitorJson(filePath, dir) {
209
256
  };
210
257
  }
211
258
  // =============================================================================
212
- // Example seeding
213
- // =============================================================================
214
- export function resolveProjectMonitorsDir() {
215
- let cwd = process.cwd();
216
- while (true) {
217
- const piDir = path.join(cwd, ".pi");
218
- if (isDir(piDir))
219
- return path.join(piDir, "monitors");
220
- // Stop at project root (.git boundary) — don't traverse into user home config
221
- if (isDir(path.join(cwd, ".git")))
222
- break;
223
- const parent = path.dirname(cwd);
224
- if (parent === cwd)
225
- break;
226
- cwd = parent;
227
- }
228
- return path.join(process.cwd(), ".pi", "monitors");
229
- }
230
- function seedExamples() {
231
- if (discoverMonitors().length > 0)
232
- return 0;
233
- if (!isDir(EXAMPLES_DIR))
234
- return 0;
235
- const targetDir = resolveProjectMonitorsDir();
236
- fs.mkdirSync(targetDir, { recursive: true });
237
- if (listMonitorFiles(targetDir).length > 0)
238
- return 0;
239
- const entries = fs.readdirSync(EXAMPLES_DIR, { withFileTypes: true });
240
- const files = entries.filter((e) => e.isFile() && e.name.endsWith(".json"));
241
- let copied = 0;
242
- for (const file of files) {
243
- const dest = path.join(targetDir, file.name);
244
- if (!fs.existsSync(dest)) {
245
- fs.copyFileSync(path.join(EXAMPLES_DIR, file.name), dest);
246
- copied++;
247
- }
248
- }
249
- // Also copy template subdirectories (e.g., commit-hygiene/classify.md)
250
- // These contain Nunjucks .md prompt templates referenced by promptTemplate
251
- // fields in the monitor JSON specs.
252
- const dirs = entries.filter((e) => e.isDirectory());
253
- for (const dir of dirs) {
254
- const srcDir = path.join(EXAMPLES_DIR, dir.name);
255
- const destDir = path.join(targetDir, dir.name);
256
- if (!fs.existsSync(destDir)) {
257
- copyDirRecursive(srcDir, destDir);
258
- }
259
- }
260
- return copied;
261
- }
262
- // =============================================================================
263
- // Skill syncing
264
- // =============================================================================
265
- function copyDirRecursive(src, dest) {
266
- fs.mkdirSync(dest, { recursive: true });
267
- for (const entry of fs.readdirSync(src, { withFileTypes: true })) {
268
- const srcPath = path.join(src, entry.name);
269
- const destPath = path.join(dest, entry.name);
270
- if (entry.isDirectory()) {
271
- copyDirRecursive(srcPath, destPath);
272
- }
273
- else if (entry.isFile()) {
274
- fs.copyFileSync(srcPath, destPath);
275
- }
276
- }
277
- }
278
- // =============================================================================
279
259
  // Context collection
280
260
  // =============================================================================
281
261
  const TRUNCATE = 2000;
@@ -319,14 +299,59 @@ function collectUserText(branch) {
319
299
  }
320
300
  return "";
321
301
  }
322
- function collectAssistantText(branch) {
302
+ /**
303
+ * Collect the assistant's response text for the current turn.
304
+ *
305
+ * Walks the branch backward from the tail and aggregates text from every
306
+ * assistant `MessageEntry` until it reaches the most recent user message
307
+ * (turn boundary), at which point the walk stops. Collected segments are
308
+ * reversed back to chronological order and joined with `\n\n`. Empty
309
+ * segments (from tool-call-only assistant messages with no text content)
310
+ * are dropped before joining.
311
+ *
312
+ * Encoded design decisions:
313
+ *
314
+ * - F-014 root-cause fix: previously the function returned from the FIRST
315
+ * assistant message it hit walking backward; when that latest assistant
316
+ * message was tool-call-only, the result was empty even though earlier
317
+ * assistant messages in the same turn carried the user-visible text.
318
+ * The walk now aggregates across all assistant messages in the turn so
319
+ * tool-call-only tail messages no longer mask prior text.
320
+ *
321
+ * - F-018 multi-message-turn semantics: "the assistant's response" is
322
+ * defined as all assistant text emitted from the most recent user
323
+ * message up to the present, joined with double-newline separator.
324
+ * Non-message entries (model_change, label, custom_message,
325
+ * branch_summary, etc.) are skipped — they are not part of the
326
+ * assistant's response.
327
+ *
328
+ * - `extractText` (text-only filter) is intentionally not modified here:
329
+ * tool-call blocks have no user-visible text, and thinking blocks are
330
+ * model-internal reasoning that should not leak into classifier prompts.
331
+ *
332
+ * Edge cases:
333
+ * - Empty branch: returns "".
334
+ * - No user message in branch (e.g., system-init turn): walks to start
335
+ * and returns all collected assistant text.
336
+ * - All assistant messages tool-call-only: returns "" (true empty
337
+ * response, distinct from the F-014 false-positive case).
338
+ */
339
+ export function collectAssistantText(branch) {
340
+ const segments = [];
323
341
  for (let i = branch.length - 1; i >= 0; i--) {
324
342
  const entry = branch[i];
325
- if (isMessageEntry(entry) && entry.message.role === "assistant") {
326
- return extractText(entry.message.content);
343
+ if (!isMessageEntry(entry))
344
+ continue;
345
+ if (entry.message.role === "user")
346
+ break;
347
+ if (entry.message.role === "assistant") {
348
+ segments.push(extractText(entry.message.content));
327
349
  }
328
350
  }
329
- return "";
351
+ return segments
352
+ .reverse()
353
+ .filter((s) => s.length > 0)
354
+ .join("\n\n");
330
355
  }
331
356
  function collectToolResults(branch, limit = 5) {
332
357
  const results = [];
@@ -937,13 +962,13 @@ export function mapVerdictToClassifyResult(parsed) {
937
962
  * Monitor paths take precedence.
938
963
  */
939
964
  function createMonitorAgentTemplateEnv(cwd) {
940
- const projectMonitorsDir = resolveProjectMonitorsDir();
965
+ const projectMonitorsDir = findProjectMonitorsDir();
941
966
  const userMonitorsDir = path.join(os.homedir(), ".pi", "agent", "monitors");
942
967
  const projectTemplatesDir = path.join(cwd, ".pi", "templates");
943
968
  const userTemplatesDir = path.join(os.homedir(), ".pi", "agent", "templates");
944
969
  const searchPaths = [];
945
970
  // Monitor paths first — monitor templates take precedence
946
- if (isDir(projectMonitorsDir))
971
+ if (projectMonitorsDir)
947
972
  searchPaths.push(projectMonitorsDir);
948
973
  if (isDir(userMonitorsDir))
949
974
  searchPaths.push(userMonitorsDir);
@@ -964,6 +989,86 @@ function createMonitorAgentTemplateEnv(cwd) {
964
989
  let cachedAgentLoader = null;
965
990
  /** Module-level cached template environment for classify agent specs, populated at session_start. */
966
991
  let cachedMonitorAgentEnv = null;
992
+ /**
993
+ * Module-level reference to the ExtensionAPI for CLI flag lookup at classify time.
994
+ * Set by the default export (activate function) so classifyViaAgent can read
995
+ * --trace, --no-trace, --trace-dir, and --trace-filter via pi.getFlag().
996
+ *
997
+ * Held as an opaque `getFlag` callable rather than the full ExtensionAPI to keep
998
+ * the surface narrow and to allow future-replacement by direct argv parsing
999
+ * without a wider refactor.
1000
+ */
1001
+ let getCliFlag = null;
1002
+ /**
1003
+ * Resolve effective trace settings for a monitor classify call.
1004
+ *
1005
+ * Trace-path resolution precedence (highest to lowest):
1006
+ * 1. `--no-trace` CLI flag → null (explicit disable)
1007
+ * 2. `--trace-dir <dir>` CLI flag → dateRotatedPath(<dir>) — single shared dir,
1008
+ * no per-monitor subdir (caller chose the path explicitly)
1009
+ * 3. `PI_AGENT_TRACE_DIR` env var → dateRotatedPath(<env>/<monitor.name>) —
1010
+ * env var is the global base; per-monitor subdir appends
1011
+ * 4. `--trace` CLI flag → default per-monitor path (explicit enable)
1012
+ * 5. Default ON when no flags / env unset → default per-monitor path
1013
+ *
1014
+ * Default per-monitor path:
1015
+ * .workflows/monitors/<monitor.name>/<YYYY-MM-DD>.jsonl
1016
+ *
1017
+ * Redaction-config path resolution (highest to lowest):
1018
+ * 1. `--trace-filter <file>` CLI flag
1019
+ * 2. `PI_AGENT_TRACE_FILTER` env var
1020
+ * 3. .workflows/monitors/<monitor.name>/trace-config.json (if exists)
1021
+ * 4. null (builtin patterns only)
1022
+ *
1023
+ * Per DEC-0005 the trace stream is push-write inside executeAgent and is
1024
+ * intentionally divergent from pi-mono's pull/replay session model — this
1025
+ * resolver feeds DispatchContext fields the runtime consumes; trace-write
1026
+ * failures are non-fatal and never abort classify.
1027
+ */
1028
+ function resolveTraceSettings(monitorName) {
1029
+ const flagNoTrace = getCliFlag?.("no-trace") === true;
1030
+ const flagTrace = getCliFlag?.("trace") === true;
1031
+ const flagTraceDirRaw = getCliFlag?.("trace-dir");
1032
+ const flagTraceDir = typeof flagTraceDirRaw === "string" && flagTraceDirRaw.length > 0 ? flagTraceDirRaw : null;
1033
+ const flagTraceFilterRaw = getCliFlag?.("trace-filter");
1034
+ const flagTraceFilter = typeof flagTraceFilterRaw === "string" && flagTraceFilterRaw.length > 0 ? flagTraceFilterRaw : null;
1035
+ const envTraceDir = process.env.PI_AGENT_TRACE_DIR;
1036
+ const envTraceFilter = process.env.PI_AGENT_TRACE_FILTER;
1037
+ const defaultTraceBaseDir = path.join(process.cwd(), ".workflows", "monitors", monitorName);
1038
+ const defaultTracePath = dateRotatedPath(defaultTraceBaseDir);
1039
+ let tracePath;
1040
+ if (flagNoTrace) {
1041
+ tracePath = null;
1042
+ }
1043
+ else if (flagTraceDir) {
1044
+ tracePath = dateRotatedPath(flagTraceDir);
1045
+ }
1046
+ else if (envTraceDir && envTraceDir.length > 0) {
1047
+ tracePath = dateRotatedPath(path.join(envTraceDir, monitorName));
1048
+ }
1049
+ else if (flagTrace) {
1050
+ tracePath = defaultTracePath;
1051
+ }
1052
+ else {
1053
+ // Default: trace ON to per-monitor path. Disable explicitly via --no-trace.
1054
+ tracePath = defaultTracePath;
1055
+ }
1056
+ const monitorTraceConfigPath = path.join(process.cwd(), ".workflows", "monitors", monitorName, "trace-config.json");
1057
+ let redactionConfigPath;
1058
+ if (flagTraceFilter) {
1059
+ redactionConfigPath = flagTraceFilter;
1060
+ }
1061
+ else if (envTraceFilter && envTraceFilter.length > 0) {
1062
+ redactionConfigPath = envTraceFilter;
1063
+ }
1064
+ else if (fs.existsSync(monitorTraceConfigPath)) {
1065
+ redactionConfigPath = monitorTraceConfigPath;
1066
+ }
1067
+ else {
1068
+ redactionConfigPath = null;
1069
+ }
1070
+ return { tracePath, redactionConfigPath };
1071
+ }
967
1072
  /**
968
1073
  * Classify via agent spec — the sole classify path.
969
1074
  * Loads the agent YAML, builds context from collectors, compiles via
@@ -1012,38 +1117,88 @@ async function classifyViaAgent(ctx, monitor, branch, extraContext, signal) {
1012
1117
  const auth = await ctx.modelRegistry.getApiKeyAndHeaders(model);
1013
1118
  if (!auth.ok)
1014
1119
  throw new Error(auth.error);
1120
+ // --- Trace-capture wiring (issue-023 T6) -------------------------------
1121
+ // Resolve effective tracePath / redactionConfigPath / monitorName for this
1122
+ // classify call. See resolveTraceSettings() for precedence rules. The
1123
+ // dispatch surface is pi-jit-agents' executeAgent (DEC-0005 push-write
1124
+ // trace pipeline); failures inside the trace path are non-fatal and never
1125
+ // abort the classify call.
1126
+ const { tracePath, redactionConfigPath } = resolveTraceSettings(monitor.name);
1127
+ // Resolve absolute outputSchema path. The pi-workflows compileAgentSpec
1128
+ // preserves the relative path that the agent YAML declared; executeAgent
1129
+ // requires an absolute filesystem path for validateFromFile / phantom-tool
1130
+ // construction. AGENTS_DIR is the canonical fallback resolution base.
1131
+ let resolvedOutputSchema;
1132
+ if (compiled.outputSchema) {
1133
+ resolvedOutputSchema = path.isAbsolute(compiled.outputSchema)
1134
+ ? compiled.outputSchema
1135
+ : path.resolve(AGENTS_DIR, compiled.outputSchema);
1136
+ }
1137
+ // Build a synthetic CompiledAgent from the pi-workflows compileAgentSpec
1138
+ // output. The two AgentSpec shapes are not identical — pi-jit-agents only
1139
+ // reads `name` off `spec` for trace stamping; we stub `loadedFrom` so the
1140
+ // type-check passes. `contextValues` carries the resolved collector output
1141
+ // keyed by collector name so executeAgent can emit one context_collection
1142
+ // entry per resolved key.
1143
+ const synthCompiled = {
1144
+ spec: {
1145
+ name: agentSpec.name,
1146
+ loadedFrom: "<monitor-classify>",
1147
+ },
1148
+ systemPrompt: compiled.systemPrompt,
1149
+ taskPrompt: prompt,
1150
+ model: modelSpec,
1151
+ outputSchema: resolvedOutputSchema,
1152
+ contextValues: { ...collected, ...(extraContext ?? {}) },
1153
+ };
1154
+ const dispatch = {
1155
+ model: model,
1156
+ // JitAgentAuth requires non-optional apiKey/headers; the
1157
+ // ResolvedRequestAuth ok-branch leaves both optional. Default empty
1158
+ // values match the legacy behavior where pi-ai's `complete` accepted
1159
+ // undefined values transparently.
1160
+ auth: { apiKey: auth.apiKey ?? "", headers: auth.headers ?? {} },
1161
+ maxTokens: 1024,
1162
+ signal,
1163
+ tracePath,
1164
+ redactionConfigPath,
1165
+ monitorName: monitor.name,
1166
+ };
1015
1167
  // Thinking is disabled for classify calls — Anthropic API rejects
1016
1168
  // thinking + forced toolChoice. The phantom tool enforces output shape;
1017
1169
  // thinking support requires Structured Outputs (output_config.format)
1018
- // which pi-ai does not yet expose.
1019
- const response = await complete(model, {
1020
- messages: [{ role: "user", content: [{ type: "text", text: prompt }], timestamp: Date.now() }],
1021
- tools: [VERDICT_TOOL],
1022
- }, {
1023
- apiKey: auth.apiKey,
1024
- headers: auth.headers,
1025
- maxTokens: 1024,
1026
- signal,
1027
- toolChoice: { type: "tool", name: "classify_verdict" },
1028
- });
1029
- const toolCall = response.content.find((c) => c.type === "toolCall");
1030
- if (!toolCall) {
1031
- const contentTypes = response.content.map((c) => c.type).join(", ");
1032
- const errMsg = response.errorMessage ? ` error: ${response.errorMessage}` : "";
1170
+ // which pi-ai does not yet expose. executeAgent enforces the same
1171
+ // constraint internally.
1172
+ let result;
1173
+ try {
1174
+ result = await executeAgent(synthCompiled, dispatch);
1175
+ }
1176
+ catch (err) {
1177
+ const errMsg = err instanceof Error ? err.message : String(err);
1033
1178
  return {
1034
1179
  verdict: "error",
1035
- error: `No tool call in response (stopReason: ${response.stopReason}, content: [${contentTypes}]${errMsg})`,
1180
+ error: errMsg,
1036
1181
  };
1037
1182
  }
1038
- const parsed = toolCall.arguments;
1039
- // Validate against verdict schema if the agent spec declares one
1040
- if (compiled.outputSchema) {
1041
- const schemaPath = path.isAbsolute(compiled.outputSchema)
1042
- ? compiled.outputSchema
1043
- : path.resolve(AGENTS_DIR, compiled.outputSchema);
1044
- validateFromFile(schemaPath, parsed, `verdict for monitor '${monitor.name}'`);
1183
+ // executeAgent returns the validated tool-call arguments as `output` when
1184
+ // outputSchema is set (verdict schema). Otherwise `output` is the extracted
1185
+ // text — fall back to parseVerdict for unstructured responses to preserve
1186
+ // the legacy free-text classify path used by some agent specs.
1187
+ if (resolvedOutputSchema && result.output && typeof result.output === "object") {
1188
+ const parsed = result.output;
1189
+ // Re-validate at the call site for parity with the prior implementation
1190
+ // (executeAgent already validated; the duplicate call is a no-op on the
1191
+ // happy path and preserves the existing error-surfacing label).
1192
+ validateFromFile(resolvedOutputSchema, parsed, `verdict for monitor '${monitor.name}'`);
1193
+ return mapVerdictToClassifyResult(parsed);
1194
+ }
1195
+ if (!resolvedOutputSchema && typeof result.output === "string") {
1196
+ return parseVerdict(result.output);
1045
1197
  }
1046
- return mapVerdictToClassifyResult(parsed);
1198
+ return {
1199
+ verdict: "error",
1200
+ error: `Unexpected executeAgent output shape (type=${typeof result.output})`,
1201
+ };
1047
1202
  }
1048
1203
  // =============================================================================
1049
1204
  // Pattern learning (JSON)
@@ -1357,8 +1512,32 @@ async function escalate(monitor, _pi, ctx) {
1357
1512
  // Extension entry point
1358
1513
  // =============================================================================
1359
1514
  export default function (pi) {
1360
- const seeded = seedExamples();
1361
- const monitors = discoverMonitors();
1515
+ // Cache pi for classify-time CLI flag lookup. classifyViaAgent reads
1516
+ // --trace / --no-trace / --trace-dir / --trace-filter via getCliFlag()
1517
+ // to resolve the trace destination passed through DispatchContext.
1518
+ getCliFlag = (name) => pi.getFlag(name);
1519
+ // CLI flag registration for the agent-trace pipeline (issue-023 T6).
1520
+ // pi-coding-agent's convention is `--no-<name>` for boolean disable, plain
1521
+ // `--<name>` for boolean enable, and `--<name> <value>` for value flags.
1522
+ pi.registerFlag("trace", {
1523
+ type: "boolean",
1524
+ default: false,
1525
+ description: "Enable agent-trace JSONL emission for monitor classify calls (default location: .workflows/monitors/<name>/<YYYY-MM-DD>.jsonl).",
1526
+ });
1527
+ pi.registerFlag("no-trace", {
1528
+ type: "boolean",
1529
+ default: false,
1530
+ description: "Disable agent-trace JSONL emission for monitor classify calls.",
1531
+ });
1532
+ pi.registerFlag("trace-dir", {
1533
+ type: "string",
1534
+ description: "Override the base directory for agent-trace JSONL files. Date-rotated filename appended.",
1535
+ });
1536
+ pi.registerFlag("trace-filter", {
1537
+ type: "string",
1538
+ description: "Path to a trace-config.json with custom redaction patterns layered atop the builtin set.",
1539
+ });
1540
+ const { monitors, overrides } = discoverMonitors();
1362
1541
  loadedMonitors = monitors;
1363
1542
  if (monitors.length === 0)
1364
1543
  return;
@@ -1391,9 +1570,14 @@ export default function (pi) {
1391
1570
  try {
1392
1571
  statusCtx = ctx;
1393
1572
  invokeCtx = ctx;
1394
- if (seeded > 0 && ctx.hasUI) {
1395
- const dir = resolveProjectMonitorsDir();
1396
- ctx.ui.notify(`Seeded ${seeded} example monitor files into ${dir}\nEdit or delete them to customize.`, "info");
1573
+ // Surface drift between project/user overrides and bundled defaults.
1574
+ // One notification per shadowed lower-tier monitor; users decide
1575
+ // whether to delete the override (and pick up bundled updates) or
1576
+ // keep it (preserving local customisations).
1577
+ if (ctx.hasUI && overrides.length > 0) {
1578
+ for (const o of overrides) {
1579
+ ctx.ui.notify(`[monitors] override active for '${o.name}' — using ${o.winnerDir}/${o.name}.monitor.json; bundled version at ${o.losingDir} may be newer (delete the override to receive updates)`, "warning");
1580
+ }
1397
1581
  }
1398
1582
  // Reset per-monitor state for the new session. This covers both
1399
1583
  // fresh sessions and what was previously handled by session_switch
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fragility",
3
3
  "description": "Detects unaddressed fragilities after tool use",
4
- "event": "message_end",
4
+ "event": "agent_end",
5
5
  "when": "has_tool_results",
6
6
  "scope": {
7
7
  "target": "main"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "hedge",
3
3
  "description": "Detects when assistant deviates from what the user said",
4
- "event": "turn_end",
4
+ "event": "agent_end",
5
5
  "when": "always",
6
6
  "scope": {
7
7
  "target": "main"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@davidorex/pi-behavior-monitors",
3
- "version": "0.14.4",
3
+ "version": "0.14.6",
4
4
  "description": "Behavior monitors for pi that watch agent activity and steer corrections",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -42,12 +42,12 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "nunjucks": "^3.2.4",
45
- "@davidorex/pi-project": "^0.14.4",
46
- "@davidorex/pi-workflows": "^0.14.4",
47
- "@mariozechner/pi-ai": "^0.63.1",
48
- "@mariozechner/pi-coding-agent": "^0.63.1",
49
- "@mariozechner/pi-tui": "^0.63.1",
50
- "@sinclair/typebox": "^0.34.48"
45
+ "@davidorex/pi-jit-agents": "^0.14.6",
46
+ "@davidorex/pi-project": "^0.14.6",
47
+ "@davidorex/pi-workflows": "^0.14.6",
48
+ "@mariozechner/pi-ai": "^0.70.2",
49
+ "@mariozechner/pi-coding-agent": "^0.70.2",
50
+ "@mariozechner/pi-tui": "^0.70.2"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/nunjucks": "^3.2.6",
@@ -131,32 +131,31 @@ write structured findings to JSON files for downstream consumption.
131
131
  </objective>
132
132
 
133
133
  <monitor_locations>
134
- Monitors are discovered from two locations, checked in order:
134
+ Monitors are discovered from three tiers, checked in precedence order; the first match
135
+ by `monitor.name` wins:
135
136
 
136
- 1. **Project**: `.pi/monitors/*.monitor.json` (walks up from cwd to find `.pi/`)
137
+ 1. **Project**: `.pi/monitors/*.monitor.json` (walks up from cwd to find `.pi/`, stops at the `.git` boundary)
137
138
  2. **Global**: `~/.pi/agent/monitors/*.monitor.json` (via `getAgentDir()`)
139
+ 3. **Bundled**: `<package>/examples/*.monitor.json` (the five built-in defaults that ship with the extension)
138
140
 
139
- Project monitors take precedence if a project monitor has the same `name` as a global
140
- one, the global monitor is ignored. The extension silently exits if zero monitors are
141
- discovered after checking both locations.
141
+ When a higher-precedence tier shadows a same-name monitor in a lower tier, the override
142
+ is logged once at session_start so drift is visible. The extension silently exits if
143
+ zero monitors are discovered across all three tiers.
142
144
  </monitor_locations>
143
145
 
144
- <seeding>
145
- On first run in a project, the extension seeds bundled example monitors into
146
- `.pi/monitors/` if ALL of the following are true:
146
+ <overrides>
147
+ To customize a bundled monitor, create `.pi/monitors/<name>.monitor.json` (and its
148
+ `.patterns.json` and `.instructions.json` sidecars) in your project. The override fully
149
+ replaces the bundled version by name. Per-monitor template subdirectories (e.g.,
150
+ `fragility/classify.md`) follow the same multi-tier search via
151
+ `createMonitorAgentTemplateEnv`, so an override directory tree mirrors the bundled
152
+ layout.
147
153
 
148
- - `discoverMonitors()` finds zero monitors (neither project nor global)
149
- - The `examples/` directory exists in the extension package
150
- - The target `.pi/monitors/` directory contains no `.monitor.json` files
151
-
152
- Seeding copies all `.json` files from `examples/` (monitor definitions, patterns, and
153
- instructions files) into `.pi/monitors/`. It skips files that already exist at the
154
- destination. The user is notified: "Edit or delete them to customize."
155
-
156
- To customize seeded monitors, edit the copies in `.pi/monitors/` directly. To remove a
157
- bundled monitor, delete its three files (`.monitor.json`, `.patterns.json`,
158
- `.instructions.json`). Seeding never re-runs once any monitors exist.
159
- </seeding>
154
+ Delete the override to revert to bundled behavior — bundled updates are picked up
155
+ automatically on the next session because tier 3 reads the package examples directly,
156
+ not a copied snapshot. This replaces the prior copy-on-first-run pattern that left
157
+ seeded `.pi/monitors/` files frozen at the package version they were seeded from.
158
+ </overrides>
160
159
 
161
160
  <file_structure>
162
161
  Each monitor is a set of files sharing a name prefix:
@@ -468,7 +467,8 @@ for other extensions or workflows to invoke classification directly.
468
467
  </commands>
469
468
 
470
469
  <bundled_monitors>
471
- Five example monitors ship in `examples/` and are seeded on first run. Each has a
470
+ Five example monitors ship in `examples/` and load directly from the package as the
471
+ third discovery tier. Each has a
472
472
  Nunjucks classify template in `examples/<name>/classify.md` with iteration-aware
473
473
  acknowledgment support:
474
474