@gotgenes/pi-subagents 6.3.0 → 6.3.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.
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
+ ## [6.3.1](https://github.com/gotgenes/pi-packages/compare/pi-subagents-v6.3.0...pi-subagents-v6.3.1) (2026-05-21)
9
+
10
+
11
+ ### Documentation
12
+
13
+ * **retro:** add retro notes for issue [#100](https://github.com/gotgenes/pi-packages/issues/100) ([eef09ad](https://github.com/gotgenes/pi-packages/commit/eef09ad78c2ff6bf8b12b8937165bb72931ee869))
14
+
8
15
  ## [6.3.0](https://github.com/gotgenes/pi-packages/compare/pi-subagents-v6.2.0...pi-subagents-v6.3.0) (2026-05-21)
9
16
 
10
17
 
@@ -0,0 +1,36 @@
1
+ ---
2
+ issue: 100
3
+ issue_title: "Replace callback threading with direct session-event subscription"
4
+ ---
5
+
6
+ # Retro: #100 — Replace callback threading with direct session-event subscription
7
+
8
+ ## Final Retrospective (2026-05-20T22:30:00-04:00)
9
+
10
+ ### Session summary
11
+
12
+ Implemented Step 3 of the AgentManager internal decomposition — replacing the 3-layer callback-threading pattern with two independent session observers (`subscribeRecordObserver` and `subscribeUIObserver`).
13
+ Five TDD cycles landed with only one unanticipated test breakage, releasing as `pi-subagents-v6.3.0`.
14
+ `SpawnOptions` dropped 5 `on*` fields, `RunOptions` dropped 5, and `ResumeOptions` dropped 3, with net −220 lines of source code removed.
15
+
16
+ ### Observations
17
+
18
+ #### What went well
19
+
20
+ - The phased plan structure (extract observers → wire AgentManager → wire agent-tool → simplify runner) created clean isolation between cycles.
21
+ Each cycle touched 1–2 source files and 1 test file, making changes easy to review.
22
+ - Upgrading `mockSession()` once in cycle 3 to support `subscribe()` and `emit()` was a one-time investment that made the stat-verification tests more realistic — events now drive record state instead of manually calling callbacks on `RunOptions`.
23
+ - The `resume()` simplification was particularly clean: 10 lines of callback wiring reduced to 2 lines (`subscribeRecordObserver` + `runner.resume` with only `{ signal }`).
24
+ - All 5 TDD cycles except one landed first-try with no rework.
25
+
26
+ #### What caused friction (agent side)
27
+
28
+ - `missing-context` — The plan listed `bindExtensions({ onError })` as part of the unchanged runner code, but the `onError` handler called `options.onToolActivity` which was removed in cycle 5.
29
+ The plan said "grep for `ToolActivity`" but the reference was inside a function literal passed to `bindExtensions`, not a type import.
30
+ Impact: one unexpected test failure in cycle 5 (`bindExtensions` test expected `onError`), caught immediately and fixed in the same commit.
31
+ Noted in commit body as a plan deviation.
32
+
33
+ #### What caused friction (user side)
34
+
35
+ - No friction observed.
36
+ The issue description was thorough and unambiguous, and the user's involvement was limited to triggering each phase (`/plan-issue`, `/tdd-plan`, `/ship-issue`).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gotgenes/pi-subagents",
3
- "version": "6.3.0",
3
+ "version": "6.3.1",
4
4
  "exports": {
5
5
  ".": "./src/service.ts"
6
6
  },