@emiliosp/pi-maestro 0.9.0 → 0.9.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/CHANGELOG.md CHANGED
@@ -2,12 +2,29 @@
2
2
 
3
3
  This file summarizes meaningful changes to the codebase, including behavior, data formats, architecture, and development tools. Git tags identify version boundaries; GitHub Releases are not required. Version-only changes and routine maintenance are omitted.
4
4
 
5
- ## Unreleased
5
+ ## 0.9.2
6
6
 
7
- 1. Breaking: `builder` reports now support only `done` and `escalation`. Reportable technical problems use the existing `owner` `escalation` process.
7
+ 1. Added code-quality review to `verifier` guidance for code affected by the approved change when applicable `AGENTS.md` directives exist. See [PR #34](https://github.com/emilioSp/pi-maestro/pull/34). All existing verification duties remain unchanged.
8
+ 2. Required instruction-violation `findings` to identify the instruction file, quote the rule, and explain the violating code through existing evidence fields.
9
+ 3. Skip only the added review when files or code-quality directives are absent. Missing directives and personal style preferences do not produce `findings`.
10
+
11
+ ## 0.9.1
12
+
13
+ 1. Added a brief introduction and an invitation to ask how `Maestro` works to the successful activation notice. See [PR #33](https://github.com/emilioSp/pi-maestro/pull/33).
14
+ 2. Preserved the configured agent details and UI-only activation. Activation does not add session history or start a model request.
15
+ 3. Added absolute paths to the installed README and documentation directory in active instructions. `Maestro` reads relevant documentation on demand without automatically loading its contents.
16
+
17
+ ## 0.9.0
18
+
19
+ 1. Breaking: `builder` reports now support only `done` and `escalation`. Reportable technical problems use the existing `owner` `escalation` process. See [PR #32](https://github.com/emilioSp/pi-maestro/pull/32).
8
20
  2. Removed the terminal `builder` failure phase and event. Execution errors and missing or invalid saved results still stop the workflow without automatic recovery.
9
21
  3. No migrations, compatibility readers, or deprecated aliases are provided. `Artifact` versions remain `1.0.0`.
10
22
 
23
+ ## 0.8.0
24
+
25
+ 1. Updated the bundled `pi-subagents` dependency from `0.76.0` to `0.78.0`.
26
+ 2. Renamed `test/` to `tests/`. Updated imports, fixture paths, lint configuration, and project instructions. Source tests remain next to their source files.
27
+
11
28
  ## 0.7.3
12
29
 
13
30
  1. Added Oxlint rules for `given ... when ... then ...` test titles, `const` usage, unnecessary `else` branches, type aliases, and ESM imports. See [PR #31](https://github.com/emilioSp/pi-maestro/pull/31).
package/ROADMAP.md CHANGED
@@ -24,6 +24,16 @@ Numbered `builder` `handoffs` contain multiple `escalation` questions and their
24
24
 
25
25
  [Specification](.specs/20261008-132344-store-escalations-in-builder-handoffs/spec.md), [verifier report](.specs/20261008-132344-store-escalations-in-builder-handoffs/handoffs/verifier/V1.json), and [merged PR #27](https://github.com/emilioSp/pi-maestro/pull/27).
26
26
 
27
+ ### R-03: Route builder failures through owner escalations
28
+
29
+ Released in `0.9.0`. The `builder` reports only `done` or `escalation`. Reportable technical problems use the existing `owner` `escalation` process. Individual `probe` results retain `failed`. Execution errors and missing or invalid saved results still stop the workflow without automatic recovery.
30
+
31
+ All 8 `acceptance criteria` passed with no `verifier` `findings`. The saved workflow reached `candidate-ready`.
32
+
33
+ #### Evidence
34
+
35
+ [Specification](.specs/20261013-101454-route-builder-failures-through-owner-escalations/spec.md), [verifier report](.specs/20261013-101454-route-builder-failures-through-owner-escalations/handoffs/verifier/V1.json), and [merged PR #32](https://github.com/emilioSp/pi-maestro/pull/32).
36
+
27
37
  ### R-12: Format glossary terms consistently
28
38
 
29
39
  Applied glossary formatting across the documentation and recorded its exclusions in `AGENTS.md` and the documentation audit skill. The approved change document uses the term `spec`. The `owner` confirmed completion.
@@ -32,6 +42,18 @@ Applied glossary formatting across the documentation and recorded its exclusions
32
42
 
33
43
  [Glossary](docs/glossary.md) and [workflow documentation](docs/workflow.md).
34
44
 
45
+ ### R-14: Introduce Maestro at activation
46
+
47
+ Implemented in `0.9.1`. Successful activation introduces `Maestro` and invites the `owner` to ask how it works. The UI-only notice retains the configured agent details and does not add session history or start a model request.
48
+
49
+ Active instructions identify absolute paths to the installed README and documentation directory. `Maestro` reads relevant documentation on demand without automatically loading its contents.
50
+
51
+ All 6 `acceptance criteria` passed with no `verifier` `findings`. The saved workflow reached `candidate-ready`.
52
+
53
+ #### Evidence
54
+
55
+ [Specification](.specs/20261013-171954-introduce-maestro-at-activation/spec.md), [verifier report](.specs/20261013-171954-introduce-maestro-at-activation/handoffs/verifier/V1.json), and [merged PR #33](https://github.com/emilioSp/pi-maestro/pull/33).
56
+
35
57
  ### R-15: Rename the test support directory
36
58
 
37
59
  Renamed `test/` to `tests/` at the owner's request. Updated imports, fixture paths, lint configuration, and project instructions. This follows the global instruction to keep fixtures under `tests/fixtures`. Source tests remain next to their source files. Historical `handoffs` retain their recorded paths.
@@ -40,24 +62,22 @@ Renamed `test/` to `tests/` at the owner's request. Updated imports, fixture pat
40
62
 
41
63
  [Test support](tests/support/), [fixtures](tests/fixtures/), [lint configuration](biome.json), and [project instructions](AGENTS.md#tests).
42
64
 
43
- ## Now
65
+ ### R-16: Verify code quality against AGENTS.md instructions
44
66
 
45
- ### R-03: Route builder failures through owner escalations
67
+ Implemented in `0.9.2`. `Verifier` guidance now requires code-quality review only for code affected by the approved change when applicable `AGENTS.md` directives exist. All existing duties remain unchanged, including independent verification of every `acceptance criterion`.
46
68
 
47
- #### Objective
69
+ Instruction-violation `findings` identify the instruction file, quote the rule, and explain the violating code through existing evidence fields. Missing files or code-quality directives cause only the added review to be skipped. Personal style preferences are not requirements.
48
70
 
49
- The `builder` reports technical problems that prevent completion through the existing `escalation` process. The `owner` decides how to proceed.
71
+ All 5 `acceptance criteria` passed through independent inspection of the written guidance, with no `verifier` `findings`. No additional model trials were performed. The saved workflow reached `candidate-ready`.
50
72
 
51
- The approved [specification](.specs/20261013-101454-route-builder-failures-through-owner-escalations/spec.md) is implemented.
52
- Automatic recovery of interrupted `runs` remains outside this item.
73
+ #### Evidence
53
74
 
54
- #### Completed when
75
+ [Specification](.specs/20261013-185941-verify-code-quality-against-agents-md-instructions/spec.md), [verifier report](.specs/20261013-185941-verify-code-quality-against-agents-md-instructions/handoffs/verifier/V1.json), and [merged PR #34](https://github.com/emilioSp/pi-maestro/pull/34).
55
76
 
56
- `Builder` failures produce `owner` `escalations` instead of a terminal failure state. Individual checks retain `failed` as a valid result. Agent instructions, tools, workflow transitions, tests, and documentation describe the same behavior.
77
+ ## Now
57
78
 
58
79
  ## Next
59
80
 
60
-
61
81
  ## Later
62
82
 
63
83
  These items need scope review before `specification` approval. Existing behavior must be checked before adding new code. Dependencies between these items are not yet agreed.
@@ -159,25 +179,3 @@ Show an activity indicator in Pi's status bar while progress does not require an
159
179
  #### Completed when
160
180
 
161
181
  The status clearly distinguishes work in progress from a request for `owner` action.
162
-
163
- ### R-14: Introduce Maestro at activation
164
-
165
- #### Objective
166
-
167
- When activated, `Maestro` gives a brief introduction and invites the `owner` to ask how it works, if interested. `Maestro` must have access to its own documentation to answer those questions.
168
-
169
- #### Completed when
170
-
171
- Activation includes this short introduction. `Maestro` can consult its documentation.
172
-
173
- ### R-16: Verify code quality against AGENTS.md instructions
174
-
175
- #### Objective
176
-
177
- Add code-quality review against applicable `AGENTS.md` instructions as another `verifier` responsibility. Keep all existing responsibilities unchanged, including independent verification of every `acceptance criterion` in the approved `spec`. Code-quality review supplements that verification. It does not replace or reduce it.
178
-
179
- Existing `verifier` instructions already require reading applicable `AGENTS.md` files and following technical rules. Extend that guidance to require explicit code-quality review and reporting of instruction violations. Do not introduce personal style preferences as requirements.
180
-
181
- #### Completed when
182
-
183
- The `verifier` performs both its existing verification duties and the additional code-quality review. Every `acceptance criterion` is still independently verified. Each code-quality `finding` about an instruction violation identifies the `AGENTS.md` file, quotes the violated instruction, and explains how the code violates it.
@@ -63,6 +63,21 @@ Use `probeStatus: passed` when the observed result matches the expected result.
63
63
  Use `failed` for an observed probe failure and `not-run` for an unexecuted probe.
64
64
  Include every spec criterion once. Never omit unrun criteria or fabricate evidence.
65
65
 
66
+ ## Review code quality
67
+
68
+ If applicable `AGENTS.md` files contain code-quality directives, review affected code against those directives.
69
+ Review only code affected by the approved change. Do not audit unrelated project code.
70
+ This review supplements all existing duties. Independently verify every acceptance criterion even when this review finds instruction violations.
71
+ Do not treat personal style preferences as requirements or report findings based only on those preferences.
72
+
73
+ For each instruction violation, use the existing finding evidence fields:
74
+
75
+ 1. Identify the applicable `AGENTS.md` file in `evidence.source` and quote the violated instruction exactly in `evidence.observation`.
76
+ 2. Identify the violating code in `evidence.source` and explain how it violates that instruction in `evidence.observation`.
77
+
78
+ If no applicable `AGENTS.md` files exist, or they contain no code-quality directives, skip only this added review.
79
+ Missing files or directives are not errors or findings. Do not invent directives or require those files to be created.
80
+
66
81
  ## Record findings, not decisions
67
82
 
68
83
  Record technical issues supported by fresh evidence. Do not add requirements, style preferences, or unrelated improvements.
@@ -90,10 +90,12 @@ export default (pi: ExtensionAPI): void => {
90
90
  syncMainTools();
91
91
  await refreshMaestroStatus(context);
92
92
 
93
- // show builder/verifier model on activation
93
+ // Introduce Maestro and show configured agents only in the UI.
94
94
  context.ui.notify(
95
95
  [
96
96
  context.ui.theme.fg('muted', 'Maestro active'),
97
+ 'Maestro helps the owner define a spec, then coordinates implementation and independent verification.',
98
+ 'Ask how Maestro works for a short explanation.',
97
99
  context.ui.theme.fg(
98
100
  'accent',
99
101
  `Builder (${config.builder.model} ${config.builder.thinking})`,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emiliosp/pi-maestro",
3
- "version": "0.9.0",
3
+ "version": "0.9.2",
4
4
  "description": "A spec-driven multiagent development workflow for Pi.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -3,6 +3,14 @@
3
3
  * Used: When Pi prepares a model request while Maestro is active.
4
4
  */
5
5
 
6
+ import { fileURLToPath } from 'node:url';
7
+
8
+ const README_PATH = fileURLToPath(
9
+ new URL('../../../README.md', import.meta.url),
10
+ );
11
+
12
+ const DOCS_PATH = fileURLToPath(new URL('../../../docs/', import.meta.url));
13
+
6
14
  const MAESTRO_INSTRUCTIONS = `## Maestro mode
7
15
 
8
16
  You are Maestro. Coordinate one sequential spec-driven workflow in the current session.
@@ -10,6 +18,14 @@ The owner decides requirements, scope, technical decisions in the spec, spec app
10
18
  The builder implements the approved spec. The verifier independently checks the candidate. Do not perform their work yourself.
11
19
  The approved spec.md is the contract for all three roles. Do not infer owner approval from an agent's recommendation.
12
20
 
21
+ ### Maestro documentation
22
+
23
+ The loaded Maestro package's documentation is separate from the owner's project:
24
+ README.md: ${README_PATH}
25
+ docs/: ${DOCS_PATH}
26
+ Before answering questions about Maestro, use the available file-reading tools to read the relevant documentation on demand.
27
+ Do not automatically load all documentation.
28
+
13
29
  ### Tools and boundaries
14
30
 
15
31
  The project root is the canonical Pi working directory, resolved with realpath. Do not search ancestor directories.