@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 +19 -2
- package/ROADMAP.md +29 -31
- package/agents/verifier.md +15 -0
- package/extensions/maestro.ts +3 -1
- package/package.json +1 -1
- package/src/maestro/instructions/getMaestroInstructions.ts +16 -0
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
|
-
##
|
|
5
|
+
## 0.9.2
|
|
6
6
|
|
|
7
|
-
1.
|
|
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
|
-
|
|
65
|
+
### R-16: Verify code quality against AGENTS.md instructions
|
|
44
66
|
|
|
45
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
52
|
-
Automatic recovery of interrupted `runs` remains outside this item.
|
|
73
|
+
#### Evidence
|
|
53
74
|
|
|
54
|
-
|
|
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
|
-
|
|
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.
|
package/agents/verifier.md
CHANGED
|
@@ -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.
|
package/extensions/maestro.ts
CHANGED
|
@@ -90,10 +90,12 @@ export default (pi: ExtensionAPI): void => {
|
|
|
90
90
|
syncMainTools();
|
|
91
91
|
await refreshMaestroStatus(context);
|
|
92
92
|
|
|
93
|
-
// show
|
|
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
|
@@ -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.
|