@davidorex/pi-behavior-monitors 0.14.6 → 0.28.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/CHANGELOG.md CHANGED
@@ -1,18 +1,219 @@
1
1
  # Changelog
2
2
 
3
- ## [0.14.6] - 2026-04-27
3
+ All notable changes to `@davidorex/pi-behavior-monitors` are documented here, per published npm version (newest first). Format follows [Keep a Changelog](https://keepachangelog.com/). Entries are grounded in the git commits that touched the package's published surface (`index.ts`, `examples/`, `agents/`, `schemas/`, `skills/`); substrate-only, test-only, and tooling-only commits are excluded. Commits made at tags that were never published to npm are rolled forward into the next published version.
4
+
5
+ ## [Unreleased]
6
+
7
+ ## [0.28.0] - 2026-06-03
8
+
9
+ ### Changed
10
+ - Agent-reachable code strings (`index.ts`) no longer reference the legacy `.project` substrate directory name; references neutralized so monitor code does not surface that name to agents (`5024158`).
11
+ - Regenerated `skills/.../SKILL.md` to reflect the source neutralization above (`b4bbef9`).
12
+ - `schemas/monitor.schema.json` `action.write.block` description no longer cites an internal tracking ID (`7351735`).
13
+
14
+ ## [0.26.0] - 2026-05-25
15
+
16
+ ### Changed
17
+ - Monitor write-action routes through the pi-context block-api: a new `upsertItemInBlock` primitive replaces the prior direct write path, and bundled monitors were migrated to emit through it (`523fa96`).
18
+ - Block-api validated write surface generalized to `(filePath, schemaPath)` pairs; monitor side-car state writes route through the new typed-file primitives (`2160c63`).
19
+ - Cross-block ID resolver lifted out of project validation, affecting the resolution path monitors rely on (`b3734aa`).
20
+
21
+ ### Fixed
22
+ - Peer dependencies migrated from `@mariozechner/*` to `@earendil-works/*` at `^0.74.0`, tracking the upstream pi-coding-agent namespace rename (`e5ab8ad`).
23
+ - Internal package rename pi-project → pi-context applied in lockstep at 0.25.0; monitor imports updated accordingly (`6eb5e8b`).
24
+
25
+ ## [0.14.6] - 2026-04-28
26
+
27
+ ### Changed
28
+ - 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 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 (`f10e8bb`).
29
+ - 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 (`f10e8bb`).
30
+ - `fragility` and `hedge` classifiers route through the `agent_end` event (`affe992`).
31
+ - `collectAssistantText` walks back to the user-message boundary, aggregating all assistant text in the turn (`0b50241`).
32
+ - Classifier agents route through OpenRouter to resolve auth-failure spam emitted on every pi turn (`7edf3a2`).
33
+ - pi-mono bumped 0.63.1 → 0.70.2; TypeBox migrated v0.34 → v1.x via a hybrid import strategy (`11a4069`).
34
+
35
+ ### Added
36
+ - Monitor classify trace capture, aligned with canonical pi (`1bc36ba`).
37
+ - Provider-aware `toolChoice` normalization applied at the agent-execute boundary (`ce37772`).
38
+
39
+ ### Removed
40
+ - `seedExamples()` and the seeded-count notification — bundled monitors are no longer copied into user `.pi/monitors/` directories at first run (`f10e8bb`).
41
+ - `resolveProjectMonitorsDir` export — replaced internally by a private `findProjectMonitorsDir(): string | null` helper that returns null instead of synthesizing a cwd-rooted fallback path (`f10e8bb`).
42
+ - Internal `copyDirRecursive` helper — `scripts/generate-skills.js` retains its own private copy (`f10e8bb`).
43
+
44
+ ## [0.14.4] - 2026-04-07
45
+
46
+ ### Fixed
47
+ - Thinking disabled on classify calls — the Anthropic API rejects thinking combined with forced `toolChoice` (`e9d9457`).
48
+ - `errorMessage` included in classify diagnostics — API errors were previously invisible (`5dba094`).
49
+
50
+ ## [0.14.2] - 2026-04-06
51
+
52
+ ### Fixed
53
+ - Classify `maxTokens` increased to 1024 and diagnostic info added to tool-call failures (`bd82bae`).
54
+
55
+ ## [0.14.1] - 2026-04-06
56
+
57
+ ### Added
58
+ - Structured output for monitor classify enforced via tool-use (`2f846d3`).
59
+ - Monitor classify unified with the agent-spec infrastructure (`bff9c5a`).
60
+
61
+ ### Fixed
62
+ - Classifier agent model IDs updated to `claude-sonnet-4-6` for adaptive-thinking + tool-use compatibility (`fa45bf6`).
63
+ - `extractResponseText` reads `ThinkingContent.thinking` rather than `.text`, which had always returned empty (`fd02c15`).
64
+ - Verdict schema enforced, classify infrastructure cached, legacy path removed, and the discovery walk fixed (`76c5a02`).
65
+
66
+ ## [0.13.0] - 2026-04-06
67
+
68
+ ### Added
69
+ - `conversation_history` collector with an adaptive window (`8aa7b4a`).
70
+
71
+ ### Fixed
72
+ - Thinking re-enabled on classify and an error verdict emitted on parse failures (`e23daee`).
73
+
74
+ ## [0.12.0] - 2026-04-06
75
+
76
+ ### Changed
77
+ - Lockstep version bump; no published-surface change in this package for this release.
78
+
79
+ ## [0.11.3] - 2026-04-04
80
+
81
+ ### Changed
82
+ - Lockstep version bump; no published-surface change in this package for this release.
83
+
84
+ ## [0.11.0] - 2026-04-04
85
+
86
+ ### Changed
87
+ - Lockstep version bump; no published-surface change in this package for this release.
88
+
89
+ ## [0.10.5] - 2026-04-02
90
+
91
+ ### Fixed
92
+ - `EXAMPLES_DIR` path resolution corrected — `dist/examples/` does not exist; examples sit as a sibling of `dist/` (`cab2674`).
93
+
94
+ ## [0.10.3] - 2026-04-02
95
+
96
+ ### Fixed
97
+ - Fragility monitor adds `user_text` context and issue-logging-intent recognition (`cd6e6b2`).
98
+
99
+ ## [0.10.2] - 2026-04-02
100
+
101
+ ### Fixed
102
+ - Fragility removed from the hedge monitor's excludes — orthogonal monitors should not suppress each other (`5591004`).
103
+
104
+ ## [0.10.1] - 2026-04-02
105
+
106
+ ### Removed
107
+ - Redundant `syncSkillsToUser` skill seeding removed to eliminate pi skill collisions (`a6925c6`).
108
+
109
+ ## [0.10.0] - 2026-04-02
110
+
111
+ ### Added
112
+ - Tool-call blocking, explicit template syntax, and workflow-YAML alignment (`86ab934`).
4
113
 
5
114
  ### 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.
115
+ - `gaps` block renamed to `issues` with a new schema carrying `title`/`body`/`location`/`package` fields (`982f638`); SKILL.md regenerated after the rename (`0fdc250`).
116
+
117
+ ### Fixed
118
+ - Three catalogued gaps addressed — monitor post-hoc note, stale project block, `readBlock` filter (`4b290bf`).
119
+ - 17 issues resolved across batches 1A/2A/3B/4A — template alignment, monitor safety, executor guards, test coverage (`14eb7c2`).
120
+
121
+ ## [0.9.2] - 2026-03-31
122
+
123
+ ### Changed
124
+ - Bundled steer messages updated to use Nunjucks template syntax (`c6da122`); steer messages template-rendered through Nunjucks before injection (`e7774ea`).
125
+ - Fragility and commit-hygiene classify templates gain `user_text` context and a shared partial; inline prompts removed (`7e2a813`, `6c2c386`).
126
+ - A shared iteration-grace Nunjucks partial created for monitor templates (`aeae6f4`); duplicated iteration-grace blocks replaced across hedge, work-quality, and unauthorized-action (`b7d345d`).
8
127
 
9
128
  ### 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.
129
+ - Inline prompt fallback removed from hedge and work-quality monitors (`6d156b8`).
130
+
131
+ ## [0.9.1] - 2026-03-31
132
+
133
+ ### Fixed
134
+ - `steeredThisTurn.add()` moved inside the scope gate so excludes fire on delivery (`4380f9d`).
135
+ - Classification-failure backoff added to prevent rapid retry loops (`83b0dbd`).
136
+ - Warning logged once when `.project/` is not found in collector functions (`331a3ff`).
137
+ - Dead `monitors:abort` event subscription and `AbortController` removed (`8c959f7`).
138
+ - `seedExamples` copies template subdirectories alongside JSON files (`6d3b322`).
139
+ - Severity passed through to `learnPattern` at both call sites (`3f17a6e`); learned patterns deduped by ID with a severity parameter accepted (`7f58dea`).
140
+ - Warning logged when `parseVerdict` encounters unrecognized LLM output (`2dc1c7f`).
141
+ - `whileCount` reset to 0 on a CLEAN verdict instead of decrementing (`3d69cda`).
142
+ - Pattern severity used in `executeWriteAction` instead of a hardcoded `warning` (`46a610d`).
143
+ - Warning logged when `evaluateWhen` encounters an unrecognized condition (`bee2091`).
144
+ - Monitor system rationalized — five interconnected bug fixes (`7ba2cf1`).
145
+
146
+ ### Changed
147
+ - `scope.filter` fields documented as spec-only, not runtime-enforced (`9616397`).
148
+
149
+ ## [0.9.0] - 2026-03-29
150
+
151
+ ### Changed
152
+ - Dependency alignment to the pi-mono pattern (`3502a54`).
153
+
154
+ ## [0.6.1] - 2026-03-28
155
+
156
+ ### Changed
157
+ - Lockstep version bump; no published-surface change in this package for this release.
158
+
159
+ ## [0.5.0] - 2026-03-28
160
+
161
+ ### Changed
162
+ - Lockstep version bump; no published-surface change in this package for this release.
163
+
164
+ ## [0.4.1] - 2026-03-27
165
+
166
+ ### Changed
167
+ - CI workflow and husky pre-commit added; biome upgraded to v2.4.9 (`b79ef3a`).
168
+
169
+ ## [0.4.0] - 2026-03-27
170
+
171
+ ### Added
172
+ - Extension skills synced to `~/.pi/agent/skills/` on activation (`f828049`).
173
+
174
+ ### Fixed
175
+ - `getApiKey(model)` migrated to `getApiKeyAndHeaders(model)` for pi 0.63.1 (`9c2024d`).
176
+
177
+ ## [0.3.4] - 2026-03-27
178
+
179
+ ### Fixed
180
+ - Five conformance audit findings addressed across the extension packages (`9e9a4fb`); SKILL.md regenerated afterward (`98b9f87`).
181
+
182
+ ## [0.3.2] - 2026-03-26
183
+
184
+ ### Fixed
185
+ - Relative source imports in workflow command steps replaced with package specifiers (`453276b`).
186
+
187
+ ## [0.3.1] - 2026-03-25
188
+
189
+ ### Added
190
+ - `invokeMonitor()` export for programmatic monitor classification (`174c572`).
191
+ - `unauthorized-action` bundled monitor (`50a4eee`).
192
+
193
+ ### Changed
194
+ - Command registration refactored to dispatch tables with dynamic completions and help (`c315006`).
195
+ - pi-behavior-monitors integrated as a monorepo subtree (`c44d441`).
196
+
197
+ ### Fixed
198
+ - Command-invoked monitors no longer produce no visible output on a CLEAN verdict (`0f9573a`).
199
+ - `monitors:abort` no longer kills `agent_end` monitor classifications (`d9f8fdd`).
200
+ - Skill generator rewritten for pi-compliant SKILL.md output with YAML frontmatter and XML tags (`77e24e1`).
13
201
 
14
202
  ## [0.3.0] - 2026-03-18
15
203
 
204
+ ### Added
205
+ - Build system with tsc and a tsx test runner; type errors fixed (`1d52c68`).
206
+ - Build-time SKILL.md generation from source introspection (`c7257c6`).
207
+ - All commands exposed as tools — 14 new tools across three packages (`1f53a28`).
208
+ - `commit-hygiene` bundled monitor for uncommitted file changes (`b131ccc`).
209
+ - Monitor vocabulary extracted into exported registries for code-derived skill generation (`2c1d63c`).
210
+
211
+ ### Changed
212
+ - Monitors brought to declarative parity with workflows and agents (`3299256`).
213
+ - Cross-package patterns normalized — error signaling, atomic writes, conventions (`4fe6af5`).
214
+ - Biome linting added with initial formatting applied (`58b5ae3`).
215
+ - Skill narrative updated with the template system, new collectors, and guided creation workflow (`e950f69`).
216
+
16
217
  ## [0.2.0] - 2026-03-17
17
218
 
18
219
  ### Changed
package/README.md CHANGED
@@ -21,9 +21,9 @@ updates automatically.
21
21
 
22
22
  ## Bundled Example Monitors
23
23
 
24
- - **fragility** — detects when the agent leaves broken state behind (errors it noticed but didn't fix, TODO comments instead of solutions, empty catch blocks). Writes findings to `.project/issues.json`.
24
+ - **fragility** — detects when the agent leaves broken state behind (errors it noticed but didn't fix, TODO comments instead of solutions, empty catch blocks). Writes findings to `<substrate-dir>/issues.json`.
25
25
  - **hedge** — detects when the agent deviates from what the user actually said (rephrasing questions, assuming intent, deflecting with counter-questions)
26
- - **work-quality** — on-demand audit of work quality (trial-and-error, not reading before editing, fixing symptoms instead of root causes). Invoked via `/work-quality`. Writes findings to `.project/issues.json`.
26
+ - **work-quality** — on-demand audit of work quality (trial-and-error, not reading before editing, fixing symptoms instead of root causes). Invoked via `/work-quality`. Writes findings to `<substrate-dir>/issues.json`.
27
27
 
28
28
  ## File Structure
29
29
 
@@ -67,6 +67,6 @@ Create a `.monitor.json` file in `.pi/monitors/` conforming to `schemas/monitor.
67
67
 
68
68
  ## Development
69
69
 
70
- Part of the [`pi-project-workflows`](../../README.md) monorepo. All three packages (pi-project, pi-workflows, pi-behavior-monitors) are versioned in lockstep at 0.9.1.
70
+ Part of the [`pi-project-workflows`](../../README.md) monorepo. All four packages (pi-context, pi-jit-agents, pi-workflows, pi-behavior-monitors) are versioned in lockstep (current version in each `package.json`).
71
71
 
72
72
  `npm run build` compiles TypeScript to `dist/` via `tsc`. The package ships `dist/`, not `src/`. Tests use `vitest run` (`npm test`).
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The pi-behavior-monitors-owned set of tool names that require human-
3
+ * authorization at the pi-agent-dispatch tool_call gate. Co-located with the
4
+ * package whose tools it gates (at the package root, matching this package's
5
+ * root-level source layout) so membership changes travel with the surface they
6
+ * describe; the pi-agent-dispatch gate imports this via the `./auth-required`
7
+ * subpath and folds it into the aggregated AUTH_REQUIRED_TOOLS. The gate remains
8
+ * the enforcement point — this is the source of pi-behavior-monitors'
9
+ * contribution to it.
10
+ */
11
+ export declare const gatedTools: readonly ["monitors-control", "monitors-rules"];
12
+ //# sourceMappingURL=auth-required.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-required.d.ts","sourceRoot":"","sources":["../auth-required.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,iDAAkD,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The pi-behavior-monitors-owned set of tool names that require human-
3
+ * authorization at the pi-agent-dispatch tool_call gate. Co-located with the
4
+ * package whose tools it gates (at the package root, matching this package's
5
+ * root-level source layout) so membership changes travel with the surface they
6
+ * describe; the pi-agent-dispatch gate imports this via the `./auth-required`
7
+ * subpath and folds it into the aggregated AUTH_REQUIRED_TOOLS. The gate remains
8
+ * the enforcement point — this is the source of pi-behavior-monitors'
9
+ * contribution to it.
10
+ */
11
+ export const gatedTools = ["monitors-control", "monitors-rules"];
12
+ //# sourceMappingURL=auth-required.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-required.js","sourceRoot":"","sources":["../auth-required.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,CAAU,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ExtensionAPI, SessionEntry } from "@mariozechner/pi-coding-agent";
1
+ import type { ExtensionAPI, SessionEntry } from "@earendil-works/pi-coding-agent";
2
2
  export interface CollectorDescriptor {
3
3
  name: string;
4
4
  description: string;
@@ -39,11 +39,24 @@ export interface MonitorScope {
39
39
  export interface MonitorAction {
40
40
  steer?: string | null;
41
41
  learn_pattern?: boolean;
42
+ /**
43
+ * Monitor write-action contract — closes issue-065 by routing through
44
+ * `@davidorex/pi-context/block-api` rather than raw fs.writeFileSync.
45
+ *
46
+ * `block` (replaces former `path`): the named .project/ block to write
47
+ * to; block-api derives the on-disk path as `<cwd>/.project/<block>.json`
48
+ * and the schema as `<cwd>/.project/schemas/<block>.schema.json`. Removing
49
+ * the explicit `path` + `schema` fields collapses the four prior bypass
50
+ * paths (no AJV, no lock, no DispatchContext stamping, no central choke
51
+ * point) into one validated, locked, attributed write surface.
52
+ *
53
+ * `merge`: "append" calls `appendToBlock`; "upsert" calls
54
+ * `upsertItemInBlock` keyed on `id`.
55
+ */
42
56
  write?: {
43
- path: string;
44
- schema?: string;
45
- merge: "append" | "upsert";
57
+ block: string;
46
58
  array_field: string;
59
+ merge: "append" | "upsert";
47
60
  template: Record<string, string>;
48
61
  };
49
62
  }
@@ -199,6 +212,7 @@ export declare function isReferentialMessage(text: string): boolean;
199
212
  export declare function collectConversationHistory(branch: SessionEntry[]): string;
200
213
  /** Collector names derived from the runtime registry — used for consistency testing. */
201
214
  export declare const COLLECTOR_NAMES: string[];
215
+ export declare function saveInstructions(monitor: Monitor, instructions: MonitorInstruction[]): string | null;
202
216
  export type MonitorsCommand = {
203
217
  type: "list";
204
218
  } | {
@@ -259,7 +273,39 @@ export declare function extractResponseText(parts: readonly {
259
273
  * Handles case-insensitive verdict strings and optional fields.
260
274
  */
261
275
  export declare function mapVerdictToClassifyResult(parsed: Record<string, unknown>): ClassifyResult;
276
+ export declare function learnPattern(monitor: Monitor, description: string, severity?: string): void;
262
277
  export declare function generateFindingId(monitorName: string, _description: string): string;
278
+ /**
279
+ * Apply a monitor's write-action by routing through `@davidorex/pi-context/block-api`.
280
+ *
281
+ * Closes issue-065: the prior body wrote findings via `fs.writeFileSync`
282
+ * after manual JSON read+merge+write, bypassing AJV schema validation,
283
+ * proper-lockfile contention guards, DispatchContext author stamping, and
284
+ * any centralized "monitor wrote here" choke point. This refactor routes
285
+ * every monitor write through `appendToBlock` / `upsertItemInBlock` with
286
+ * a `DispatchContext.writer` of `{ kind: "monitor", monitor_name }` so:
287
+ *
288
+ * 1. AJV validates the entry against `.project/schemas/<block>.schema.json`
289
+ * before write — drift surfaces immediately, not on later reader load.
290
+ * 2. proper-lockfile guards concurrent monitor + LLM writes against the
291
+ * same block file.
292
+ * 3. created_by / created_at / modified_by / modified_at fields, when
293
+ * declared on the destination schema, are stamped with the monitor's
294
+ * writer string ("monitor/<name>") so monitor-authored entries are
295
+ * distinguishable from human / agent / workflow entries downstream.
296
+ * 4. All monitor writes funnel through one execute boundary — the future
297
+ * "detect monitor bypass" check has a single call site to inspect.
298
+ *
299
+ * Failure model: AJV ValidationError or any block-api error is logged via
300
+ * console.error with the monitor name and propagated NO FURTHER. This
301
+ * mirrors the previous fs-write failure handling — a monitor that cannot
302
+ * persist a finding does not crash the host turn; the operator sees the
303
+ * stderr line and can investigate. Re-raising would change the host
304
+ * extension's failure model and is out of scope for this refactor.
305
+ *
306
+ * Exported for unit-test access (Phase F of issue-065 closure plan).
307
+ */
308
+ export declare function executeWriteAction(monitor: Monitor, action: MonitorAction, result: ClassifyResult): void;
263
309
  /**
264
310
  * Programmatic monitor invocation — runs classification and write actions for
265
311
  * a named monitor, returning the verdict. Unlike activate(), this skips dedup,
@@ -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,14 +12,14 @@ 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 { appendToBlock, appendToTypedFile, readBlock, upsertItemInBlock, writeTypedFile, } from "@davidorex/pi-context/block-api";
16
+ import { validateFromFile } from "@davidorex/pi-context/schema-validator";
15
17
  import { dateRotatedPath, executeAgent } from "@davidorex/pi-jit-agents";
16
- import { readBlock } from "@davidorex/pi-project/block-api";
17
- import { validateFromFile } from "@davidorex/pi-project/schema-validator";
18
18
  import { createAgentLoader } from "@davidorex/pi-workflows/agent-spec";
19
19
  import { compileAgentSpec } from "@davidorex/pi-workflows/step-shared";
20
- import { StringEnum, Type } from "@mariozechner/pi-ai";
21
- import { getAgentDir } from "@mariozechner/pi-coding-agent";
22
- import { Box, Text } from "@mariozechner/pi-tui";
20
+ import { StringEnum, Type } from "@earendil-works/pi-ai";
21
+ import { getAgentDir } from "@earendil-works/pi-coding-agent";
22
+ import { Box, Text } from "@earendil-works/pi-tui";
23
23
  import nunjucks from "nunjucks";
24
24
  const EXTENSION_DIR = path.dirname(fileURLToPath(import.meta.url));
25
25
  /**
@@ -32,6 +32,20 @@ const EXTENSION_DIR = path.dirname(fileURLToPath(import.meta.url));
32
32
  const PACKAGE_ROOT = path.basename(EXTENSION_DIR) === "dist" ? path.dirname(EXTENSION_DIR) : EXTENSION_DIR;
33
33
  const EXAMPLES_DIR = path.join(PACKAGE_ROOT, "examples");
34
34
  const AGENTS_DIR = path.join(PACKAGE_ROOT, "agents");
35
+ const SCHEMAS_DIR = path.join(PACKAGE_ROOT, "schemas");
36
+ /**
37
+ * Framework-contract schemas for monitor side-car state files. The
38
+ * `*.patterns.json` and `*.instructions.json` files written by `learnPattern`
39
+ * and `saveInstructions` route through `appendToTypedFile` /
40
+ * `writeTypedFile` from `@davidorex/pi-context/block-api`, threading these
41
+ * schema paths so AJV validation, atomic write, and proper-lockfile gating
42
+ * apply uniformly with `.project/<block>.json` writes (FGAP-019 closure;
43
+ * issue-065's three remaining bypass categories — no AJV, no
44
+ * proper-lockfile, no centralized choke point — closed for monitor
45
+ * framework state).
46
+ */
47
+ const PATTERN_LIST_SCHEMA_PATH = path.join(SCHEMAS_DIR, "monitor-pattern-list.schema.json");
48
+ const INSTRUCTIONS_LIST_SCHEMA_PATH = path.join(SCHEMAS_DIR, "monitor-instruction-list.schema.json");
35
49
  /**
36
50
  * Tool definition for forcing structured verdict output from the classify LLM call.
37
51
  *
@@ -62,8 +76,8 @@ export const COLLECTOR_DESCRIPTORS = [
62
76
  },
63
77
  { name: "tool_calls", description: "Tool calls and results interleaved", limits: "Last 20, truncated 2000 chars" },
64
78
  { name: "custom_messages", description: "Custom extension messages since last user message" },
65
- { name: "project_vision", description: ".project/project.json vision, core_value, name" },
66
- { name: "project_conventions", description: ".project/conformance-reference.json principle names" },
79
+ { name: "project_vision", description: "<substrate-dir>/project.json vision, core_value, name" },
80
+ { name: "project_conventions", description: "<substrate-dir>/conformance-reference.json principle names" },
67
81
  { name: "git_status", description: "Output of git status --porcelain", limits: "5s timeout" },
68
82
  {
69
83
  name: "conversation_history",
@@ -724,20 +738,20 @@ function loadInstructions(monitor) {
724
738
  return [];
725
739
  }
726
740
  }
727
- function saveInstructions(monitor, instructions) {
728
- const tmpPath = `${monitor.resolvedInstructionsPath}.${process.pid}.tmp`;
741
+ // Exported (over the package barrel) so the side-car-routing test suite in
742
+ // `index.test.ts` can drive it directly without reaching through the
743
+ // `/monitors rules ...` command surface; behavior is otherwise identical to
744
+ // when this was a module-private helper.
745
+ export function saveInstructions(monitor, instructions) {
746
+ // Routes through `writeTypedFile` so AJV validates the array against
747
+ // `monitor-instruction-list.schema.json`, the write goes through
748
+ // proper-lockfile, and the same atomic tmp+rename + cleanup-on-failure
749
+ // applies as for `.project/<block>.json` writes — FGAP-019 closure.
729
750
  try {
730
- fs.writeFileSync(tmpPath, `${JSON.stringify(instructions, null, 2)}\n`);
731
- fs.renameSync(tmpPath, monitor.resolvedInstructionsPath);
751
+ writeTypedFile(monitor.resolvedInstructionsPath, INSTRUCTIONS_LIST_SCHEMA_PATH, instructions, undefined, `monitor '${monitor.name}' instructions`);
732
752
  return null;
733
753
  }
734
754
  catch (err) {
735
- try {
736
- fs.unlinkSync(tmpPath);
737
- }
738
- catch {
739
- /* cleanup */
740
- }
741
755
  return err instanceof Error ? err.message : String(err);
742
756
  }
743
757
  }
@@ -1203,35 +1217,41 @@ async function classifyViaAgent(ctx, monitor, branch, extraContext, signal) {
1203
1217
  // =============================================================================
1204
1218
  // Pattern learning (JSON)
1205
1219
  // =============================================================================
1206
- function learnPattern(monitor, description, severity = "warning") {
1207
- const patterns = loadPatterns(monitor);
1220
+ // Exported (over the package barrel) so the side-car-routing test suite can
1221
+ // drive it directly without reaching through the dispatch path; behavior is
1222
+ // otherwise identical to when this was a module-private helper.
1223
+ export function learnPattern(monitor, description, severity = "warning") {
1208
1224
  const id = description
1209
1225
  .toLowerCase()
1210
1226
  .replace(/[^a-z0-9]+/g, "-")
1211
1227
  .slice(0, 60);
1212
1228
  // dedup by ID — two different descriptions can slugify to the same ID,
1213
1229
  // so check ID rather than raw description to avoid collisions
1214
- if (patterns.some((p) => p.id === id))
1230
+ const existing = loadPatterns(monitor);
1231
+ if (existing.some((p) => p.id === id))
1215
1232
  return;
1216
- patterns.push({
1233
+ const newPattern = {
1217
1234
  id,
1218
1235
  description,
1219
1236
  severity,
1220
1237
  source: "learned",
1221
1238
  learned_at: new Date().toISOString(),
1222
- });
1223
- const tmpPath = `${monitor.resolvedPatternsPath}.${process.pid}.tmp`;
1239
+ };
1240
+ // Routes through `appendToTypedFile` (arrayPath = null = top-level array
1241
+ // shape) so AJV validates the appended item + the whole array against
1242
+ // `monitor-pattern-list.schema.json`, the read-modify-write critical
1243
+ // section is wrapped in proper-lockfile, and the same atomic tmp+rename
1244
+ // applies as for `.project/<block>.json` writes — FGAP-019 closure.
1245
+ // `appendToTypedFile` requires the file to already exist, so bootstrap
1246
+ // an empty list here when the patterns file is absent (matching the
1247
+ // prior "loadPatterns returns [] on read failure" behavior).
1224
1248
  try {
1225
- fs.writeFileSync(tmpPath, `${JSON.stringify(patterns, null, 2)}\n`);
1226
- fs.renameSync(tmpPath, monitor.resolvedPatternsPath);
1249
+ if (!fs.existsSync(monitor.resolvedPatternsPath)) {
1250
+ writeTypedFile(monitor.resolvedPatternsPath, PATTERN_LIST_SCHEMA_PATH, [], undefined, `monitor '${monitor.name}' patterns`);
1251
+ }
1252
+ appendToTypedFile(monitor.resolvedPatternsPath, PATTERN_LIST_SCHEMA_PATH, null, newPattern, undefined, `monitor '${monitor.name}' pattern`);
1227
1253
  }
1228
1254
  catch (err) {
1229
- try {
1230
- fs.unlinkSync(tmpPath);
1231
- }
1232
- catch {
1233
- /* cleanup */
1234
- }
1235
1255
  console.error(`[${monitor.name}] Failed to write pattern: ${err instanceof Error ? err.message : err}`);
1236
1256
  }
1237
1257
  }
@@ -1241,12 +1261,43 @@ function learnPattern(monitor, description, severity = "warning") {
1241
1261
  export function generateFindingId(monitorName, _description) {
1242
1262
  return `${monitorName}-${Date.now().toString(36)}`;
1243
1263
  }
1244
- function executeWriteAction(monitor, action, result) {
1264
+ /**
1265
+ * Apply a monitor's write-action by routing through `@davidorex/pi-context/block-api`.
1266
+ *
1267
+ * Closes issue-065: the prior body wrote findings via `fs.writeFileSync`
1268
+ * after manual JSON read+merge+write, bypassing AJV schema validation,
1269
+ * proper-lockfile contention guards, DispatchContext author stamping, and
1270
+ * any centralized "monitor wrote here" choke point. This refactor routes
1271
+ * every monitor write through `appendToBlock` / `upsertItemInBlock` with
1272
+ * a `DispatchContext.writer` of `{ kind: "monitor", monitor_name }` so:
1273
+ *
1274
+ * 1. AJV validates the entry against `.project/schemas/<block>.schema.json`
1275
+ * before write — drift surfaces immediately, not on later reader load.
1276
+ * 2. proper-lockfile guards concurrent monitor + LLM writes against the
1277
+ * same block file.
1278
+ * 3. created_by / created_at / modified_by / modified_at fields, when
1279
+ * declared on the destination schema, are stamped with the monitor's
1280
+ * writer string ("monitor/<name>") so monitor-authored entries are
1281
+ * distinguishable from human / agent / workflow entries downstream.
1282
+ * 4. All monitor writes funnel through one execute boundary — the future
1283
+ * "detect monitor bypass" check has a single call site to inspect.
1284
+ *
1285
+ * Failure model: AJV ValidationError or any block-api error is logged via
1286
+ * console.error with the monitor name and propagated NO FURTHER. This
1287
+ * mirrors the previous fs-write failure handling — a monitor that cannot
1288
+ * persist a finding does not crash the host turn; the operator sees the
1289
+ * stderr line and can investigate. Re-raising would change the host
1290
+ * extension's failure model and is out of scope for this refactor.
1291
+ *
1292
+ * Exported for unit-test access (Phase F of issue-065 closure plan).
1293
+ */
1294
+ export function executeWriteAction(monitor, action, result) {
1245
1295
  if (!action.write)
1246
1296
  return;
1247
1297
  const writeCfg = action.write;
1248
- const filePath = path.isAbsolute(writeCfg.path) ? writeCfg.path : path.resolve(process.cwd(), writeCfg.path);
1249
- // Build the entry from template, substituting placeholders
1298
+ // Build the entry from template, substituting placeholders.
1299
+ // Template substitution semantics preserved verbatim from the prior body —
1300
+ // the change is the persistence path, not the entry shape.
1250
1301
  const findingId = generateFindingId(monitor.name, result.description ?? "unknown");
1251
1302
  const entry = {};
1252
1303
  for (const [key, tmpl] of Object.entries(writeCfg.template)) {
@@ -1257,45 +1308,25 @@ function executeWriteAction(monitor, action, result) {
1257
1308
  .replace(/\{monitor_name\}/g, monitor.name)
1258
1309
  .replace(/\{timestamp\}/g, new Date().toISOString());
1259
1310
  }
1260
- // Read existing file or create structure
1261
- let data = {};
1311
+ // DispatchContext writer identifying the monitor — block-api stamps
1312
+ // created_by / modified_by with `writerToString({ kind: "monitor", monitor_name })`
1313
+ // → "monitor/<name>" when the destination schema declares those fields.
1314
+ const ctx = {
1315
+ writer: { kind: "monitor", monitor_name: monitor.name },
1316
+ };
1262
1317
  try {
1263
- data = JSON.parse(fs.readFileSync(filePath, "utf-8"));
1264
- }
1265
- catch {
1266
- // file doesn't exist or is invalid — create fresh
1267
- }
1268
- const arrayField = writeCfg.array_field;
1269
- if (!Array.isArray(data[arrayField])) {
1270
- data[arrayField] = [];
1271
- }
1272
- const arr = data[arrayField];
1273
- if (writeCfg.merge === "upsert") {
1274
- const idx = arr.findIndex((item) => item.id === entry.id);
1275
- if (idx !== -1) {
1276
- arr[idx] = entry;
1318
+ if (writeCfg.merge === "upsert") {
1319
+ upsertItemInBlock(process.cwd(), writeCfg.block, writeCfg.array_field, entry, "id", ctx);
1277
1320
  }
1278
1321
  else {
1279
- arr.push(entry);
1322
+ appendToBlock(process.cwd(), writeCfg.block, writeCfg.array_field, entry, ctx);
1280
1323
  }
1281
1324
  }
1282
- else {
1283
- arr.push(entry);
1284
- }
1285
- const tmpPath = `${filePath}.${process.pid}.tmp`;
1286
- try {
1287
- fs.mkdirSync(path.dirname(filePath), { recursive: true });
1288
- fs.writeFileSync(tmpPath, `${JSON.stringify(data, null, 2)}\n`);
1289
- fs.renameSync(tmpPath, filePath);
1290
- }
1291
1325
  catch (err) {
1292
- try {
1293
- fs.unlinkSync(tmpPath);
1294
- }
1295
- catch {
1296
- /* cleanup */
1297
- }
1298
- console.error(`[${monitor.name}] Failed to write to ${filePath}: ${err instanceof Error ? err.message : err}`);
1326
+ // Mirror the previous failure model: log + continue. Includes AJV
1327
+ // ValidationError (schema mismatch), missing block file, missing
1328
+ // arrayKey, lock-contention timeout — all surface here as Error.
1329
+ console.error(`[${monitor.name}] block-api write failed: ${err instanceof Error ? err.message : String(err)}`);
1299
1330
  }
1300
1331
  }
1301
1332
  // =============================================================================
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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"}
@@ -21,8 +21,7 @@
21
21
  "on_flag": {
22
22
  "steer": "{% if user_text %}{{ description }}{% else %}Fix the issue you left behind: {{ description }}{% endif %}",
23
23
  "write": {
24
- "path": ".project/issues.json",
25
- "schema": "schemas/issues.schema.json",
24
+ "block": "issues",
26
25
  "merge": "append",
27
26
  "array_field": "issues",
28
27
  "template": {
@@ -39,8 +38,7 @@
39
38
  "steer": "{% if user_text %}{{ description }}{% else %}Fix the issue you left behind: {{ description }}{% endif %}",
40
39
  "learn_pattern": true,
41
40
  "write": {
42
- "path": ".project/issues.json",
43
- "schema": "schemas/issues.schema.json",
41
+ "block": "issues",
44
42
  "merge": "append",
45
43
  "array_field": "issues",
46
44
  "template": {
@@ -21,8 +21,7 @@
21
21
  "on_flag": {
22
22
  "steer": "{{ description }}",
23
23
  "write": {
24
- "path": ".project/issues.json",
25
- "schema": "schemas/issues.schema.json",
24
+ "block": "issues",
26
25
  "merge": "append",
27
26
  "array_field": "issues",
28
27
  "template": {
@@ -39,8 +38,7 @@
39
38
  "steer": "{{ description }}",
40
39
  "learn_pattern": true,
41
40
  "write": {
42
- "path": ".project/issues.json",
43
- "schema": "schemas/issues.schema.json",
41
+ "block": "issues",
44
42
  "merge": "append",
45
43
  "array_field": "issues",
46
44
  "template": {
package/package.json CHANGED
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "name": "@davidorex/pi-behavior-monitors",
3
- "version": "0.14.6",
3
+ "version": "0.28.0",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
4
7
  "description": "Behavior monitors for pi that watch agent activity and steer corrections",
5
8
  "type": "module",
6
9
  "keywords": [
@@ -16,6 +19,17 @@
16
19
  "homepage": "https://github.com/davidorex/pi-project-workflows/tree/main/packages/pi-behavior-monitors",
17
20
  "main": "./dist/index.js",
18
21
  "types": "./dist/index.d.ts",
22
+ "exports": {
23
+ ".": {
24
+ "types": "./dist/index.d.ts",
25
+ "default": "./dist/index.js"
26
+ },
27
+ "./auth-required": {
28
+ "types": "./dist/auth-required.d.ts",
29
+ "default": "./dist/auth-required.js"
30
+ },
31
+ "./package.json": "./package.json"
32
+ },
19
33
  "files": [
20
34
  "dist/",
21
35
  "examples",
@@ -35,22 +49,25 @@
35
49
  },
36
50
  "scripts": {
37
51
  "clean": "rm -rf dist",
38
- "build": "tsc -p tsconfig.build.json",
52
+ "build": "rm -rf dist && tsc -p tsconfig.build.json",
39
53
  "prepublishOnly": "npm run clean && npm run build",
40
54
  "test": "vitest run",
41
55
  "test:watch": "vitest"
42
56
  },
43
57
  "dependencies": {
44
58
  "nunjucks": "^3.2.4",
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"
59
+ "@davidorex/pi-jit-agents": "^0.28.0",
60
+ "@davidorex/pi-context": "^0.28.0",
61
+ "@davidorex/pi-workflows": "^0.28.0",
62
+ "@earendil-works/pi-ai": "^0.75.4",
63
+ "@earendil-works/pi-coding-agent": "^0.75.4",
64
+ "@earendil-works/pi-tui": "^0.75.4"
51
65
  },
52
66
  "devDependencies": {
53
67
  "@types/nunjucks": "^3.2.6",
54
68
  "vitest": "^3.2.4"
69
+ },
70
+ "engines": {
71
+ "node": ">=22.19.0"
55
72
  }
56
73
  }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Monitor instruction list",
4
+ "description": "Top-level array of MonitorInstruction entries persisted at <discovery-dir>/<name>.instructions.json",
5
+ "type": "array",
6
+ "items": {
7
+ "type": "object",
8
+ "properties": {
9
+ "text": { "type": "string" },
10
+ "added_at": { "type": "string" }
11
+ },
12
+ "required": ["text"],
13
+ "additionalProperties": false
14
+ }
15
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Monitor pattern list",
4
+ "description": "Top-level array of MonitorPattern entries persisted at <discovery-dir>/<name>.patterns.json",
5
+ "type": "array",
6
+ "items": {
7
+ "type": "object",
8
+ "properties": {
9
+ "id": { "type": "string" },
10
+ "description": { "type": "string" },
11
+ "severity": { "type": "string" },
12
+ "category": { "type": "string" },
13
+ "examples": { "type": "array", "items": { "type": "string" } },
14
+ "learned_at": { "type": "string" },
15
+ "source": { "type": "string" }
16
+ },
17
+ "required": ["id", "description"],
18
+ "additionalProperties": false
19
+ }
20
+ }
@@ -116,15 +116,11 @@
116
116
  },
117
117
  "write": {
118
118
  "type": "object",
119
- "required": ["path", "merge"],
119
+ "required": ["block", "merge"],
120
120
  "properties": {
121
- "path": {
121
+ "block": {
122
122
  "type": "string",
123
- "description": "JSON file to write findings to"
124
- },
125
- "schema": {
126
- "type": "string",
127
- "description": "Schema the target file conforms to"
123
+ "description": "Block name in .project/ to write to (e.g., 'issues'). block-api derives the path .project/<block>.json and the schema .project/schemas/<block>.schema.json. Replaces former 'path' + 'schema' fields."
128
124
  },
129
125
  "merge": {
130
126
  "type": "string",
@@ -76,11 +76,11 @@ Subcommands: `on`, `off`, `help`, `commit-hygiene`, `fragility`, `hedge`, `unaut
76
76
  </commands_reference>
77
77
 
78
78
  <events>
79
- `session_start`, `agent_end`, `turn_start`, `message_end`, `turn_end`, `tool_call`
79
+ `session_start`, `agent_end`, `turn_start`, `tool_call`
80
80
  </events>
81
81
 
82
82
  <bundled_resources>
83
- 5 agents, 3 schemas, 21 examples bundled.
83
+ 5 agents, 5 schemas, 21 examples bundled.
84
84
  See references/bundled-resources.md for full inventory.
85
85
  </bundled_resources>
86
86
 
@@ -95,8 +95,8 @@ See references/bundled-resources.md for full inventory.
95
95
  | `tool_results` | `{tool_results}` / `{{ tool_results }}` | Tool results with tool name and error status | Last 5, truncated 2000 chars |
96
96
  | `tool_calls` | `{tool_calls}` / `{{ tool_calls }}` | Tool calls and results interleaved | Last 20, truncated 2000 chars |
97
97
  | `custom_messages` | `{custom_messages}` / `{{ custom_messages }}` | Custom extension messages since last user message | — |
98
- | `project_vision` | `{project_vision}` / `{{ project_vision }}` | .project/project.json vision, core_value, name | — |
99
- | `project_conventions` | `{project_conventions}` / `{{ project_conventions }}` | .project/conformance-reference.json principle names | — |
98
+ | `project_vision` | `{project_vision}` / `{{ project_vision }}` | <substrate-dir>/project.json vision, core_value, name | — |
99
+ | `project_conventions` | `{project_conventions}` / `{{ project_conventions }}` | <substrate-dir>/conformance-reference.json principle names | — |
100
100
  | `git_status` | `{git_status}` / `{{ git_status }}` | Output of git status --porcelain | 5s timeout |
101
101
  | `conversation_history` | `{conversation_history}` / `{{ conversation_history }}` | Prior turn summaries (user request + actions + assistant response) | 1-3 turns adaptive, 2000 char max |
102
102
 
@@ -209,7 +209,7 @@ A `.monitor.json` file conforms to `schemas/monitor.schema.json`:
209
209
  "on_flag": {
210
210
  "steer": "Fix the issue.",
211
211
  "write": {
212
- "path": ".project/issues.json",
212
+ "path": "<substrate-dir>/issues.json",
213
213
  "merge": "append",
214
214
  "array_field": "issues",
215
215
  "template": {
@@ -475,7 +475,7 @@ acknowledgment support:
475
475
  **fragility** (`message_end`, `when: has_tool_results`)
476
476
  Watches for unaddressed fragilities after tool use — errors, warnings, or broken state the
477
477
  agent noticed but chose not to fix. Steers with "Fix the issue you left behind." Writes
478
- findings to `.project/issues.json` under `category: "fragility"`. Excludes: none. Ceiling: 5.
478
+ findings to `<substrate-dir>/issues.json` under `category: "fragility"`. Excludes: none. Ceiling: 5.
479
479
  12 bundled patterns across categories: avoidance (dismiss-preexisting, not-my-change,
480
480
  blame-environment, workaround-over-root-cause, elaborate-workaround-for-fixable),
481
481
  error-handling (empty-catch, happy-path-only, early-return-on-unexpected,
@@ -493,7 +493,7 @@ deflection (ask-permission, qualify-yesno, counter-question).
493
493
 
494
494
  **work-quality** (`command`, `when: always`)
495
495
  On-demand work quality analysis invoked via `/work-quality`. Analyzes user request, tool
496
- calls, and assistant response for quality issues. Writes findings to `.project/issues.json`
496
+ calls, and assistant response for quality issues. Writes findings to `<substrate-dir>/issues.json`
497
497
  under `category: "work-quality"`. Ceiling: 3.
498
498
  11 bundled patterns across categories: methodology (trial-and-error, symptom-fix,
499
499
  double-edit, edit-without-read, insanity-retry, no-plan), verification (no-verify),
@@ -8,8 +8,10 @@
8
8
  - `agents/unauthorized-action-classifier.agent.yaml`
9
9
  - `agents/work-quality-classifier.agent.yaml`
10
10
 
11
- ## schemas/ (3 files)
11
+ ## schemas/ (5 files)
12
12
 
13
+ - `schemas/monitor-instruction-list.schema.json`
14
+ - `schemas/monitor-pattern-list.schema.json`
13
15
  - `schemas/monitor-pattern.schema.json`
14
16
  - `schemas/monitor.schema.json`
15
17
  - `schemas/verdict.schema.json`