@emiliosp/pi-maestro 0.5.2 → 0.6.1

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.
Files changed (65) hide show
  1. package/README.md +38 -41
  2. package/agents/builder.md +16 -18
  3. package/agents/verifier.md +24 -21
  4. package/docs/configuration.md +16 -24
  5. package/docs/subagent-integration.md +18 -40
  6. package/docs/workflow.md +106 -169
  7. package/package.json +1 -2
  8. package/src/MaestroPaths.ts +111 -47
  9. package/src/artifacts/builder-handoff/assertBuilderHandoff.ts +2 -15
  10. package/src/artifacts/builder-handoff/readBuilderHandoff.ts +0 -3
  11. package/src/artifacts/builder-handoff/schema.ts +1 -1
  12. package/src/artifacts/builder-handoff/writeBuilderHandoff.ts +3 -5
  13. package/src/artifacts/escalation/createEscalation.ts +7 -7
  14. package/src/artifacts/escalation/getNextEscalationId.ts +0 -3
  15. package/src/artifacts/escalation/readEscalation.ts +1 -11
  16. package/src/artifacts/escalation/readEscalationHistory.ts +0 -3
  17. package/src/artifacts/escalation/resolveEscalation.ts +2 -12
  18. package/src/artifacts/escalation/schema.ts +0 -1
  19. package/src/artifacts/verifier-handoff/assertVerifierHandoff.ts +2 -9
  20. package/src/artifacts/verifier-handoff/readVerifierHandoff.ts +0 -3
  21. package/src/artifacts/verifier-handoff/schema.ts +20 -6
  22. package/src/artifacts/verifier-handoff/writeVerifierHandoff.ts +7 -7
  23. package/src/config/loadConfiguration.ts +18 -18
  24. package/src/maestro/checks/assertEnvironment.ts +13 -17
  25. package/src/maestro/instructions/getMaestroInstructions.ts +33 -24
  26. package/src/specs/create.ts +0 -2
  27. package/src/tools/child/open-escalation.ts +3 -4
  28. package/src/tools/child/record-builder-handoff.ts +4 -4
  29. package/src/tools/child/record-verifier-handoff.ts +13 -26
  30. package/src/tools/child/utils/resolveWorkflowContext.ts +3 -3
  31. package/src/tools/main/mark-spec-ready.ts +2 -2
  32. package/src/tools/main/resolve-escalation.ts +2 -4
  33. package/src/tools/main/resolve-findings.ts +17 -15
  34. package/src/tools/main/run-builder.ts +10 -38
  35. package/src/tools/main/run-verifier.ts +6 -33
  36. package/src/tools/utils/resolveToolRunContext.ts +8 -8
  37. package/src/utils/path-strictly-within.ts +4 -4
  38. package/src/utils/write-json.ts +24 -0
  39. package/src/workflow/builder/completeBuilderPass.ts +6 -15
  40. package/src/workflow/builder/prepareBuilderRun.ts +3 -34
  41. package/src/workflow/escalation/openBuilderEscalation.ts +2 -10
  42. package/src/workflow/escalation/resolveBuilderEscalation.ts +9 -14
  43. package/src/workflow/findings/resolveFindings.ts +25 -135
  44. package/src/workflow/spec/markSpecReady.ts +0 -1
  45. package/src/workflow/state/readWorkflowState.ts +2 -2
  46. package/src/workflow/state/schema.ts +0 -1
  47. package/src/workflow/state/writeWorkflowState.ts +7 -63
  48. package/src/workflow/transitions.ts +2 -2
  49. package/src/workflow/verifier/completeVerifierPass.ts +8 -14
  50. package/src/workflow/verifier/prepareVerifierRun.ts +4 -41
  51. package/src/artifacts/verifier-handoff/rejectVerifierFinding.ts +0 -54
  52. package/src/git/command.ts +0 -172
  53. package/src/git/commits/createCommit.ts +0 -76
  54. package/src/git/commits/createWorkflowCheckpointCommit.ts +0 -24
  55. package/src/git/commits/findCommitByMessage.ts +0 -39
  56. package/src/git/commits/getStagedPaths.ts +0 -23
  57. package/src/git/history/getParentCommit.ts +0 -25
  58. package/src/git/repository/assertRepositoryTrusted.ts +0 -16
  59. package/src/git/repository/findRepositoryRoot.ts +0 -19
  60. package/src/git/repository/getCurrentBranch.ts +0 -18
  61. package/src/git/repository/getHeadCommit.ts +0 -18
  62. package/src/git/repository/getRepositoryStatus.ts +0 -74
  63. package/src/git/utils/hasGitExitCode.ts +0 -19
  64. package/src/utils/write-atomically.ts +0 -41
  65. package/src/utils/write-json-atomically.ts +0 -28
package/docs/workflow.md CHANGED
@@ -1,250 +1,187 @@
1
1
  # Workflow
2
2
 
3
- Maestro manages one spec-driven development workflow in the current session.
3
+ Maestro manages one spec-driven workflow in the current Pi session. The owner works directly with Maestro.
4
4
 
5
- The approved `spec.md` is the contract between the owner, Maestro, the builder, and the verifier.
5
+ The approved `spec.md` is the contract for the change. It defines behavior, scope, constraints, technical decisions, and acceptance criteria.
6
6
 
7
- It defines the intended behavior, constraints, technical decisions, and acceptance criteria.
7
+ An acceptance criterion contains a probe, an expected result and an example. The probe checks an acceptance criterion against its expected result.
8
8
 
9
- The owner works directly with Maestro.
9
+ An agent run result is a handoff.
10
+ The handoff can contain:
11
+ - Escalations: the owner have to decide implementation questions.
12
+ - Findings: technical issues on the implementation
13
+ - Evidences: work executed by agents
10
14
 
11
- Maestro, using the current Git branch, prepares the spec, updates workflow state, starts the builder and verifier, and records owner decisions.
12
-
13
- Builder and verifier runs are foreground operations, and communicate with Maestro through repository handoffs.
14
-
15
- Pi waits for each run before the owner continues. Maestro's Pi status shows the current phase, and pi-subagents FleetView shows the live activity and transcript.
15
+ The workflow uses files in the [project root](configuration.md#project-root).
16
16
 
17
17
  ## Roles
18
18
 
19
- ### Owner
20
-
21
- The owner is the human in the loop: every decision that needs human judgment returns to the owner.
22
-
23
- The owner has final authority over:
24
-
25
- - Requirements
26
- - Scope
27
- - Technical decisions recorded in the spec
28
- - Escalation answers
29
- - Finding decisions
30
- - Spec approval
31
- - Git flow after the candidate is ready
32
- - Final Pull Request and merge
33
-
34
- ### Maestro
35
-
36
- - Discusses the change with the owner
37
- - Writes and reviews the spec with the owner
38
- - Creates workflow artifacts on the current branch
39
- - Starts the builder and verifier
40
- - Reads their handoffs
41
- - Presents escalations and findings to the owner
42
- - Records explicit owner decisions
43
- - Summarizes the results and facts for a Pull Request when the candidate is ready
44
-
45
- ### Builder
46
-
47
- The builder works on the current branch with a fresh context.
48
-
49
- It reads the active spec, implements the approved change, and runs every probe against its expected result.
50
-
51
- The builder ends a run with one of these outcomes:
52
-
53
- - `done`
54
- - `failed`
55
- - An `escalation`
56
-
57
- ### Verifier
58
-
59
- The verifier works on the current branch with a fresh context.
60
-
61
- It reads the active spec and available artifacts. Historical artifacts provide context, not proof.
19
+ | Role | Responsibility |
20
+ |---|---|
21
+ | Owner | Decides requirements, scope, technical decisions, spec approval, escalation answers, and finding decisions. Performs the final review. |
22
+ | Maestro | Prepares the spec with the owner, records workflow progress, runs agents, presents issues, and saves owner decisions. |
23
+ | Builder | Implements the approved spec and runs every probe. Reports completion, an escalation, or a technical failure. |
24
+ | Verifier | Independently runs every probe against the live project files. Reports findings without repairing product code. |
62
25
 
63
- Before the verifier starts, Maestro commits a `verifier-running` checkpoint. That checkpoint is the candidate commit.
26
+ Builder and verifier runs are sequential foreground operations. Each starts with a fresh conversation and reads the spec and saved artifacts.
64
27
 
65
- The verifier does not repair product code. It independently runs every probe against its expected result. It restores all temporary changes before reporting its results.
28
+ Maestro's Pi status shows the current phase. `pi-subagents` FleetView and `/subagents-fleet` show live agent activity and transcripts.
66
29
 
67
30
  ## Main flow
68
31
 
69
- Happy path is highlighted in green.
32
+ The green arrows and lines show the path without escalations or findings.
70
33
 
71
34
  ```mermaid
72
35
  flowchart TD
73
- spec[Owner and Maestro write one spec]
74
- ready[Maestro marks the spec ready]
75
- approval[Owner commits spec and workflow state on the current branch]
76
- build[Builder works on the current branch]
77
- buildOutcome{How does the builder run end?}
78
-
79
- spec --> ready
80
- ready --> approval
36
+ spec[Owner and Maestro prepare one spec]
37
+ approval[Owner replies GREEN FLAG]
38
+ build[Builder implements the approved spec]
39
+ buildOutcome{Builder outcome}
40
+ verify[Verifier checks live project files]
41
+ findings{Findings?}
42
+ candidate[Candidate ready]
43
+ summary[Maestro summarizes results]
44
+ review[Owner performs the final review]
45
+
46
+ spec --> approval
81
47
  approval --> build
82
48
  build --> buildOutcome
83
-
84
- buildOutcome -->|Escalation| escalation[Builder records an escalation and stops]
85
- escalation --> ownerAnswer[Owner decides]
86
- ownerAnswer --> escalationOutcome{Does the spec change?}
87
- escalationOutcome -->|No| recordContinue[Maestro records the resolution]
88
- recordContinue --> build
89
- escalationOutcome -->|Yes| reviseSpec[Owner revises and approves spec.md]
49
+ buildOutcome -->|Done| verify
50
+ verify --> findings
51
+ findings -->|None| candidate
52
+
53
+ buildOutcome -->|Escalation| ownerEscalation{Owner decides}
54
+ ownerEscalation -->|Contract unchanged| recordEscalation[Maestro records the answer]
55
+ recordEscalation --> build
56
+ ownerEscalation -->|Contract changes| reviseSpec[Owner and Maestro revise the spec]
90
57
  reviseSpec --> approval
91
58
 
92
- buildOutcome -->|Failed| builderFailed[Maestro reports the error and stops]
93
- builderFailed --> abandoned[Owner handles the failed workflow manually]
59
+ buildOutcome -->|Failed| stopped[Workflow stops for manual owner follow-up]
94
60
 
95
- buildOutcome -->|Done| verify[Verifier regenerates every proof]
96
- verify --> findings{Findings?}
61
+ findings -->|One or more| ownerFindings[Owner decides every finding]
62
+ ownerFindings -->|Reject all with reasons| candidate
63
+ ownerFindings -->|Fix code| recordFixes[Maestro records the decisions]
64
+ recordFixes --> build
65
+ ownerFindings -->|Revise spec| reviseSpec
97
66
 
98
- findings -->|None| candidate[Candidate ready]
99
- findings -->|One or more| ownerFindings[Owner reviews every finding]
67
+ candidate --> summary
68
+ summary --> review
100
69
 
101
- ownerFindings -->|Reject all with reasons| candidate
102
- ownerFindings -->|Code must change| returnBuilder[Maestro records the decision]
103
- returnBuilder --> build
104
- ownerFindings -->|Spec must change| reviseSpec
105
-
106
- candidate --> summary[Maestro summarizes results and Pull Request facts]
107
- summary --> ownerReview[Owner reviews the candidate]
108
- ownerReview -->|Changes needed| adjust[Owner changes code, spec, or acceptance criteria]
109
- adjust --> ownerReview
110
- ownerReview -->|Satisfied| pullRequest[Owner opens a Pull Request]
111
- pullRequest --> merge[Owner merges the Pull Request]
112
-
113
- linkStyle 0,1,2,3,13,14,15,21,22,23,24,25,26 stroke:#2e7d32,stroke-width:3px
70
+ linkStyle 0,1,2,3,4,5,17,18 stroke:#2e7d32,stroke-width:3px
114
71
  ```
115
72
 
116
73
  ## Workflow phases
117
74
 
118
- Each spec has a `workflow.json` file that records its progress. Maestro creates and updates this file. It stores the current phase, which tells you where the work stands. For example, `ready-for-verifier` means that the builder completed the work and the verifier can start.
75
+ Each spec has a `workflow.json` file that records its identity and current phase. The saved phase controls the next permitted workflow action. An agent's final message alone does not establish a completed action.
119
76
 
120
- Maestro stores this file at `.specs/<spec-id>/workflow.json`.
77
+ The default path is `.specs/<spec-id>/workflow.json`. The spec directory is [configurable](configuration.md).
121
78
 
122
79
  | Phase | Meaning |
123
80
  |---|---|
124
- | `drafting-spec` | Owner and Maestro are preparing the initial spec |
125
- | `ready-for-builder` | The owner approved the spec and it awaits a builder run |
126
- | `builder-running` | A builder run is active |
127
- | `escalation-decision` | The owner must decide how to resolve the active escalation |
128
- | `builder-failed` | The builder ended the run with a failure |
129
- | `ready-for-verifier` | Builder work is ready for independent verification |
130
- | `verifier-running` | A verifier run is active |
131
- | `findings-decision` | The owner must decide how to handle verifier findings |
132
- | `candidate-ready` | The candidate commit passed verification or all findings were rejected with reasons. This is the last persisted Maestro phase |
133
-
134
- Disabling Maestro, restarting Pi, or using `/resume` clears live session state. Maestro does not resume an incomplete workflow, the owner must clean it up manually.
81
+ | `drafting-spec` | The owner and Maestro are preparing the initial spec. |
82
+ | `ready-for-builder` | The approved spec or recorded owner decisions permit a builder run. |
83
+ | `builder-running` | A builder run is active. |
84
+ | `escalation-decision` | The owner must decide how to handle the current escalation. |
85
+ | `builder-failed` | The builder recorded a technical failure. The workflow stops. |
86
+ | `ready-for-verifier` | The builder completed the work and the verifier can start. |
87
+ | `verifier-running` | A verifier run is active. |
88
+ | `findings-decision` | The owner must decide how to handle every current finding. |
89
+ | `candidate-ready` | The verifier reported no findings, or the owner rejected every finding with a reason. The workflow is complete. |
135
90
 
136
91
  ## Spec approval
137
92
 
138
93
  For the initial spec:
139
94
 
140
- 1. Maestro creates `spec.md` and `workflow.json` in `drafting-spec`.
141
- 2. The owner reviews and approves the spec.
142
- 3. `maestro_mark_spec_ready` changes the phase to `ready-for-builder`.
143
- 4. The owner commits `spec.md`, its prototypes, and `workflow.json` on the current branch.
144
-
145
- During `drafting-spec`, Maestro can use any available tool to edit the active `spec.md` with the owner. Maestro can also create and update visual prototypes in that spec's `prototypes/` directory with any available tool. During `escalation-decision` or `findings-decision`, the same permission applies to owner-directed contract revisions of the spec and its prototypes. This permission does not apply to other workflow artifacts or product files. Maestro cannot edit the spec or its prototypes in other phases.
95
+ 1. Maestro creates `spec.md` and `workflow.json` in `drafting-spec` and prepares the spec with the owner.
96
+ 2. The owner reviews the requirements, scope, technical decisions, and acceptance criteria.
97
+ 3. Maestro asks the owner to inspect the current `spec.md` and reply `GREEN FLAG` to approve it and start the builder.
98
+ 4. After that reply, Maestro saves `ready-for-builder` and starts the builder in the foreground.
146
99
 
147
- The committed `spec.md` represents the approved contract for the builder and verifier. Agents must not change the spec or its prototypes during a builder or verifier pass.
100
+ Approval freezes the spec as the contract. The spec and its visual prototypes remain unchanged during builder and verifier execution. Contract revisions are limited to the decision phases described in [Spec revision](#spec-revision).
148
101
 
149
- During spec preparation, Maestro can run tests and checks to understand the repository. This also applies when you request a spec revision in `escalation-decision` or `findings-decision`, but not in other phases.
102
+ ## Acceptance criteria
150
103
 
151
- Checks that leave product files and workflow artifacts unchanged do not need your approval as experiments. Maestro removes any temporary files they create and preserves your existing files.
104
+ Each acceptance criterion has a unique ID and describes one observable result. It contains these parts:
152
105
 
153
- If answering a specification question requires temporary product changes, Maestro first agrees on the question and scope with you. Commands with automatic fixes also require this agreement, even if they ultimately change no files. These experiments help clarify the spec. They do not implement the feature or replace the builder and verifier.
154
-
155
- Maestro must preserve all pre-existing changes, including uncommitted and untracked files. Before requesting spec approval or resuming the workflow, Maestro must restore only its experiment changes and remove temporary files. If cleanup fails, Maestro reports the remaining changes and stops. Experiments cannot create commits or change `workflow.json`, handoffs, or other protected workflow artifacts. Installing packages or adding or updating dependencies requires explicit owner approval. After cleanup, Maestro records only conclusions and limits that affect the contract in `spec.md`.
156
-
157
- ## Acceptance criterion simplicity principle
158
-
159
- Each acceptance criterion describes one observable result.
160
-
161
- ```text
162
- Probe
163
- How the behavior is verified.
164
-
165
- Expected result
166
- What the probe must observe.
167
-
168
- Example
169
- Specific starting conditions, input or action, and the exact expected result.
170
- ```
171
-
172
- The builder and verifier each run every probe and compare the observed result with the expected result.
106
+ | Part | Content |
107
+ |---|---|
108
+ | Probe | Starting conditions and the action or observation that checks the behavior. |
109
+ | Expected result | The measurable result the probe observes. |
110
+ | Example | Concrete starting conditions, an input or action, and the exact expected result. |
173
111
 
174
112
  ## Escalations
175
113
 
176
- An escalation is the way Maestro brings a significant implementation discovery to the owner's attention and asks for a decision. It is not necessarily a technical failure, an error, or a blocker.
114
+ An escalation returns an implementation decision to the owner. It does not necessarily mean that a technical failure occurred. Examples include undefined behavior, a conflict with the spec, or a possible scope change.
177
115
 
178
- An escalation is relevant when the work presents meaningful alternatives with different consequences.
116
+ Maestro presents the question, evidence, options, consequences, and next steps. The workflow pauses in `escalation-decision` until the owner decides.
179
117
 
180
- Examples:
181
- - conflict between the approved spec and the repository.
182
- - behavior that the spec does not define.
183
- - a material architectural alternative.
184
- - a possible scope change.
185
- - a decision that affects verification or reversibility.
186
-
187
- Each escalation presents a question, context and evidence, available options, consequences, next steps, and an optional recommendation.
188
-
189
- While an escalation is unresolved, the workflow is paused in `escalation-decision` and the owner must decide how to proceed.
190
-
191
- The owner can choose one of two paths:
192
-
193
- - Continue with the current spec. Maestro records the decision and returns the workflow to `ready-for-builder` for another builder run.
194
- - Change the approved spec. The owner revises and approves the spec, then the workflow returns to `ready-for-builder`.
118
+ | Owner choice | Result |
119
+ |---|---|
120
+ | Keep the current contract | Maestro records the answer and reason, returns to `ready-for-builder`, and starts another builder run. |
121
+ | Change the contract | The owner and Maestro revise the same spec and obtain renewed approval before another builder run. |
195
122
 
196
- Each escalation remains in the workflow history as references.
123
+ The escalation file remains available as history.
197
124
 
198
125
  ## Findings
199
126
 
200
- A finding records a technical issue found by the verifier. Every finding blocks progress until the owner makes a decision.
127
+ Every current finding requires an owner decision, regardless of severity. Maestro explains the issue, evidence, practical effect, and available choices.
201
128
 
202
129
  | Decision | Result |
203
130
  |---|---|
204
- | `reject` | Requires and records the owner’s reason. When every finding is rejected, the candidate becomes ready. |
205
- | `fix-code` | Keeps the current spec and returns the workflow to `ready-for-builder`. |
206
- | Spec must change | The owner revises the spec from `findings-decision`; previous findings become historical. |
131
+ | `reject` | Records the owner's reason. If every finding is rejected, the workflow reaches `candidate-ready`. |
132
+ | `fix-code` | Keeps the current spec and returns to `ready-for-builder` for code fixes. |
207
133
 
208
- When decisions are mixed between `reject` and `fix-code`, any `fix-code` decision returns the workflow to `ready-for-builder`.
134
+ Any `fix-code` decision requires another builder run, including when other findings are rejected. After the builder completes the fixes, the verifier checks the work again.
209
135
 
210
- If a finding requires a spec change, thw owner must approve a revised spec and run the builder again.
136
+ If the contract must change, the owner and Maestro use [Spec revision](#spec-revision) instead. Earlier findings then become historical context.
211
137
 
212
138
  ## Spec revision
213
139
 
214
- A spec revision is allowed only from these blocked phases:
140
+ Contract revisions are allowed only in `escalation-decision` or `findings-decision`. Maestro revises the same spec with the owner, including its prototypes when needed.
215
141
 
216
- - `escalation-decision`
217
- - `findings-decision`
142
+ After review and cleanup, Maestro asks the owner to inspect the revised spec and reply `GREEN FLAG` again. Maestro then records `ready-for-builder` and starts another builder run.
218
143
 
219
- The owner edits and approves the spec, then Maestro calls `maestro_mark_spec_ready` to change the phase to `ready-for-builder`. The owner must commit the revised `spec.md`, its prototypes, and `workflow.json` before Maestro starts the builder again. The checkout must be clean.
144
+ Previous escalations, findings, and handoffs remain as historical context. The revised spec is the contract for subsequent work.
220
145
 
221
- The previous escalation or finding becomes inactive. Its artifact remains in the branch as historical context. Builder and verifier decide whether historical artifacts apply to the current spec.
146
+ ## Verification boundary
147
+
148
+ The verifier can make temporary changes for probes. Before submitting its handoff, it restores the exact original contents of affected files and removes only files it created.
149
+
150
+ Cleanup relies on the verifier. If cleanup cannot finish safely, the verifier stops and reports the remaining changes.
222
151
 
223
152
  ## Workflow completion
224
153
 
225
- The workflow ends at `candidate-ready` after a verifier run with no findings, or after the owner rejects every finding with a reason.
154
+ The workflow ends at `candidate-ready`. Maestro summarizes the changes, verification results, rejected findings and reasons, and relevant builder notes from the saved artifacts.
226
155
 
227
- Maestro reads the artifacts and Git information to summarize the changes, verification results, rejected findings and reasons, and applicable builder notes.
156
+ The owner performs the final review and controls any later Git use, pull request, or merge. Changes after completion are outside the completed verification.
228
157
 
229
158
  ## Stored artifacts
230
159
 
231
- When the owner creates a spec, Maestro creates the spec directory with `spec.md` and `workflow.json`. It also creates the empty `handoffs/escalations/` and `prototypes/` directories. Later workflow actions create the artifact files.
160
+ Maestro creates the spec directory with `spec.md`, `workflow.json`, and empty `handoffs/escalations/` and `prototypes/` directories. Builder and verifier handoff directories appear when those results are saved.
232
161
 
233
- The default spec directory contains:
162
+ The default layout after multiple runs is:
234
163
 
235
164
  ```text
236
165
  .specs/<spec-id>/
237
166
  ├── spec.md
238
167
  ├── workflow.json
239
168
  ├── handoffs/
240
- │ ├── builder.json
241
- │ ├── verifier.json
169
+ │ ├── builder/
170
+ │ │ ├── B1.json
171
+ │ │ └── B2.json
172
+ │ ├── verifier/
173
+ │ │ ├── V1.json
174
+ │ │ └── V2.json
242
175
  │ └── escalations/
243
176
  │ ├── E1.json
244
177
  │ └── ...
245
178
  └── prototypes/
246
179
  ```
247
180
 
248
- - `builder.json` and `verifier.json` represent the current handoffs and can be overwritten by later runs.
249
- - Builder handoff `notes` contain significant discoveries that did not require an owner decision. Maestro summarizes the relevant results at the end.
250
- - Earlier versions of all artifacts remain in Git commits.
181
+ Each new handoff gets the next number in its role's sequence. Maestro uses the latest handoff in each sequence as the active result, and earlier handoffs remain on the file system as references.
182
+
183
+ ## Limitations
184
+
185
+ Maestro provides no automatic rollback, repair, or recovery for failed or interrupted workflows. The files that remain are available for owner inspection. The owner handles the workflow manually.
186
+
187
+ Disabling Maestro, restarting Pi, or using `/resume` clears live Maestro session state and leaves project files unchanged. Maestro starts disabled in a new or resumed session. Reactivating it does not reconstruct or resume a saved workflow.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emiliosp/pi-maestro",
3
- "version": "0.5.2",
3
+ "version": "0.6.1",
4
4
  "description": "A spec-driven multiagent development workflow for Pi.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -38,7 +38,6 @@
38
38
  ],
39
39
  "imports": {
40
40
  "#config/*": "./src/config/*",
41
- "#git/*": "./src/git/*",
42
41
  "#specs/*": "./src/specs/*",
43
42
  "#artifacts/*": "./src/artifacts/*",
44
43
  "#workflow/*": "./src/workflow/*",