mandrel 1.85.0 → 1.86.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/.agents/rules/git-conventions.md +33 -0
- package/.agents/scripts/boot-sweep.js +183 -0
- package/.agents/scripts/epic-deliver-prepare.js +55 -0
- package/.agents/scripts/lib/orchestration/epic-cleanup.js +289 -1
- package/.agents/scripts/lib/orchestration/git-cleanup/phases/git-probes-ff.js +83 -30
- package/.agents/scripts/lib/orchestration/lifecycle/listeners/branch-cleaner.js +8 -3
- package/.agents/scripts/lib/orchestration/story-close/baseline-attribution/phases/gate-failure.js +54 -6
- package/.agents/scripts/lib/orchestration/story-close/baseline-attribution/phases/regression-projection.js +35 -4
- package/.agents/scripts/lib/single-story-sweep/protection-ctx.js +75 -0
- package/.agents/scripts/lib/single-story-sweep.js +181 -54
- package/.agents/scripts/single-story-init.js +7 -51
- package/.agents/workflows/git-deliver.md +36 -0
- package/.agents/workflows/helpers/deliver-epic-reference.md +19 -13
- package/.agents/workflows/helpers/deliver-epic.md +25 -0
- package/.agents/workflows/helpers/deliver-stories.md +16 -3
- package/.agents/workflows/plan.md +32 -4
- package/docs/CHANGELOG.md +12 -0
- package/package.json +1 -1
|
@@ -124,6 +124,30 @@ are operator-input waits, not validators. The two *named* HITL STOP gates the
|
|
|
124
124
|
Story tracks (gate #1, gate #2) are the load-bearing pair; these additional
|
|
125
125
|
waits are auto-proceeded for the same headless reason.
|
|
126
126
|
|
|
127
|
+
## Boot sweep
|
|
128
|
+
|
|
129
|
+
Before anything else — ahead of the first-run preflight — run the **protected
|
|
130
|
+
boot sweep** so `/plan` opens against a tidy local checkout instead of one
|
|
131
|
+
still carrying the merged refs of the last delivered Epic or Story:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
node .agents/scripts/boot-sweep.js \
|
|
135
|
+
--include 'story-*' --include 'epic/*' \
|
|
136
|
+
--include 'feat/*' --include 'fix/*' --include 'chore/*'
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
This is the **safe subset** of the `/git-cleanup` phases: it fast-forwards the
|
|
140
|
+
base branch (`main`), prunes stale remote-tracking refs, and reaps every local
|
|
141
|
+
branch whose PR is **merged** and whose HEAD matches the merged `headRefOid`.
|
|
142
|
+
It **never** touches the stash stack, and its `evaluateProtection` partition
|
|
143
|
+
skips (never reaps) any candidate with unpushed work, a dirty worktree, or a
|
|
144
|
+
still-open parent Story ticket — so it is safe to run unattended at the top of
|
|
145
|
+
a planning session. The sweep is **silent on a no-op**: with nothing to reap
|
|
146
|
+
and `main` already current it prints a single summary line
|
|
147
|
+
(`[boot-sweep] reaped 0 local + 0 remote; protected 0.`) and moves on. Its exit
|
|
148
|
+
code is always `0` — a failed sweep is swallowed and reported in the summary,
|
|
149
|
+
never allowed to fail the planning run.
|
|
150
|
+
|
|
127
151
|
## First-run preflight
|
|
128
152
|
|
|
129
153
|
Before routing to a path helper, run a **first-run preflight** to catch
|
|
@@ -169,18 +193,22 @@ stubbed docs, or an unready doctor verdict).
|
|
|
169
193
|
1. **Parse args.** Exactly one of `<epicId>`, `--idea`, `--from-notes`, or
|
|
170
194
|
`--body` must be present; anything else is a usage error naming the four
|
|
171
195
|
forms. A `--body` invocation routes to the story path (no triage).
|
|
172
|
-
2. **
|
|
196
|
+
2. **Boot sweep.** Run the protected boot sweep above
|
|
197
|
+
(`node .agents/scripts/boot-sweep.js …`) to fast-forward `main`, prune
|
|
198
|
+
stale remotes, and reap merged-PR branches. Silent on a no-op; never fails
|
|
199
|
+
the run.
|
|
200
|
+
3. **First-run preflight.** Run the preflight above. Skip when all signals
|
|
173
201
|
are clear (healthy project).
|
|
174
|
-
|
|
202
|
+
4. **Triage (idea path only).** Run the
|
|
175
203
|
[`core/scope-triage`](../skills/core/scope-triage/SKILL.md) skill on the
|
|
176
204
|
seed. Record the verdict in chat (one line).
|
|
177
|
-
|
|
205
|
+
5. **Delegate.** Read the selected path helper **in full** and execute it
|
|
178
206
|
from its entry phase, forwarding the absorbed flags (including `--yes`).
|
|
179
207
|
The helper's phase numbering, HITL gates, and scripts are unchanged — this
|
|
180
208
|
router adds no phase content. When `--yes` is present, the two HITL STOP
|
|
181
209
|
gates auto-proceed per [Headless / non-interactive mode](#headless--non-interactive-mode---yes)
|
|
182
210
|
above; every deterministic gate still runs.
|
|
183
|
-
|
|
211
|
+
6. **Internal returns.** When a path helper would historically have handed
|
|
184
212
|
off to the other planning command, switch helpers in-place and continue;
|
|
185
213
|
surface the switch to the operator as a one-line note.
|
|
186
214
|
|
package/docs/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [1.86.0](https://github.com/dsj1984/mandrel/compare/mandrel-v1.85.0...mandrel-v1.86.0) (2026-07-07)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
* Epic [#4372](https://github.com/dsj1984/mandrel/issues/4372) ([#4376](https://github.com/dsj1984/mandrel/issues/4376)) ([98a82a4](https://github.com/dsj1984/mandrel/commit/98a82a4c27e5eafdfa2f1c54cfb42ed537a69a2e))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
* **baselines:** repair check-baselines auto-refresh + dedupe FF probes ([#4380](https://github.com/dsj1984/mandrel/issues/4380)) ([20a4ecd](https://github.com/dsj1984/mandrel/commit/20a4ecd97f92cb6a88be474c321b139fed95db56)), closes [#4379](https://github.com/dsj1984/mandrel/issues/4379)
|
|
16
|
+
|
|
5
17
|
## [1.85.0](https://github.com/dsj1984/mandrel/compare/mandrel-v1.84.0...mandrel-v1.85.0) (2026-07-06)
|
|
6
18
|
|
|
7
19
|
|
package/package.json
CHANGED