@gotgenes/pi-subagents 7.2.3 → 7.2.4
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
|
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [7.2.4](https://github.com/gotgenes/pi-packages/compare/pi-subagents-v7.2.3...pi-subagents-v7.2.4) (2026-05-25)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Documentation
|
|
12
|
+
|
|
13
|
+
* **retro:** add retro notes for issue [#195](https://github.com/gotgenes/pi-packages/issues/195) ([d591201](https://github.com/gotgenes/pi-packages/commit/d591201e0dcf88a73cfd2843c9f4eb5ec9b0e9b6))
|
|
14
|
+
|
|
8
15
|
## [7.2.3](https://github.com/gotgenes/pi-packages/compare/pi-subagents-v7.2.2...pi-subagents-v7.2.3) (2026-05-25)
|
|
9
16
|
|
|
10
17
|
|
|
@@ -40,3 +40,45 @@ Total: 5 commits across source + test files, plus 1 cleanup fix commit.
|
|
|
40
40
|
This required updating `background-spawner.test.ts` and `foreground-runner.test.ts` (not listed in the plan) to destructure `{ manager, runtime }` instead of `{ manager, widget, agentActivity }`.
|
|
41
41
|
- Biome flagged an unused `import type { AgentSession }` in `get-result-tool.ts` (left by ESLint's cast removal in step 2) — caught by `pnpm run lint` and fixed in a separate commit.
|
|
42
42
|
- The `ReturnType<typeof vi.fn>` annotation on `makeNotifications()` in the get-result-tool test triggered a TypeScript error; fixed by removing the return type annotation entirely (per testing skill guidance).
|
|
43
|
+
|
|
44
|
+
## Stage: Final Retrospective (2026-05-25T14:06:00Z)
|
|
45
|
+
|
|
46
|
+
### Session summary
|
|
47
|
+
|
|
48
|
+
Shipped #195 (three tool factory-to-class conversions), then discovered and fixed a process gap: the fallow dead-code gate was advisory (`continue-on-error: true`) and the `/tdd-plan` and `/ship-issue` prompts didn't run `pnpm fallow dead-code` at all.
|
|
49
|
+
Resulting follow-up work promoted all dead-code rule categories to `error` severity, split the CI fallow step into a hard gate plus advisory full report, and removed the genuinely dead `steerAgent` export and unused `@eslint/js` devDependency.
|
|
50
|
+
|
|
51
|
+
### Observations
|
|
52
|
+
|
|
53
|
+
#### What went well
|
|
54
|
+
|
|
55
|
+
- The user reading CI output carefully and asking "why did fallow check fail yet we proceeded to release?"
|
|
56
|
+
surfaced a real process gap that would have silently accumulated dead code over time.
|
|
57
|
+
- Incremental severity promotion was effective: checking each category's violation count before promoting let us ratchet from 3 error-level rules to 9 in three commits with zero cleanup work (all categories were already clean except the `steerAgent` export we'd just created).
|
|
58
|
+
|
|
59
|
+
#### What caused friction (agent side)
|
|
60
|
+
|
|
61
|
+
- `missing-context` — During the TDD session, I didn't run `pnpm fallow dead-code` after removing all callers of `steerAgent`, so the dead export shipped.
|
|
62
|
+
The existing `/tdd-plan` prompt's "after last step" checks didn't include fallow.
|
|
63
|
+
Impact: dead code shipped to a release, required a follow-up fix commit and re-release (`v7.2.2` → `v7.2.3`).
|
|
64
|
+
- `missing-context` — Used `// fallow-ignore-next-line unused-class-member -- reason text` but fallow parses every space-separated token after the rule name as additional rule names.
|
|
65
|
+
The existing codebase uses bare comments with no trailing text.
|
|
66
|
+
Impact: 12 stale-suppression warnings until the comment was fixed; no rework but added noise.
|
|
67
|
+
- `missing-context` — During planning, the Module-Level Changes section didn't list `background-spawner.test.ts` or `foreground-runner.test.ts`, even though both destructure `{ widget, agentActivity }` from `createToolDeps()`.
|
|
68
|
+
The testing skill already has guidance ("grep for ALL test files that construct a compatible mock") but I didn't apply it during planning.
|
|
69
|
+
Impact: caught immediately by running the full test suite; added friction but no rework.
|
|
70
|
+
|
|
71
|
+
#### What caused friction (user side)
|
|
72
|
+
|
|
73
|
+
- The fallow dead-code gap could have been caught earlier if the CI workflow had been configured to block on fallow findings from the start.
|
|
74
|
+
The `continue-on-error: true` was a reasonable initial setting during adoption but had outlived its usefulness.
|
|
75
|
+
|
|
76
|
+
### Follow-up ideas
|
|
77
|
+
|
|
78
|
+
- **Pre-completion reviewer subagent** — a `.pi/agents/pre-completion-reviewer.md` dispatched before `/ship-issue` that runs deterministic checks (`pnpm fallow dead-code`, `pnpm run check`, `pnpm run lint`, `pnpm vitest run`) and judgment checks (conventional commits, architecture doc staleness) in a fresh read-only context.
|
|
79
|
+
Modeled after RepOne's `pre-completion-reviewer` but scoped to this monorepo's needs.
|
|
80
|
+
This would be a separate issue.
|
|
81
|
+
|
|
82
|
+
### Changes made
|
|
83
|
+
|
|
84
|
+
1. `.pi/prompts/tdd-plan.md` — added `pnpm fallow dead-code` as step 4 in "After the last TDD step" (renumbered steps 4–7 → 5–8).
|