@signalridge/pi-goal 1.4.6 → 1.4.7
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 +6 -0
- package/README.md +1 -1
- package/package.json +1 -1
- package/src/persistence.ts +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @signalridge/pi-goal
|
|
2
2
|
|
|
3
|
+
## 1.4.7
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- 4d37546: Point package documentation to the maintained compatibility guide instead of removed historical review snapshots.
|
|
7
|
+
- 4d37546: Detach serialized Goal state from mutable runtime objects before appending native session metadata. Goal accounting, status, safety counters, queued objectives, wait records, and pending queue actions must not retroactively modify earlier session entries through shared references. This prevents false ancestry and ownership failures in observers such as Todo without relaxing their integrity checks, changing persisted shapes, resetting budgets, or automatically resuming stopped work. Already affected in-memory sessions should be safely closed and resumed from persisted history after updating; reloading extension code alone does not reconstruct old native entries.
|
|
8
|
+
|
|
3
9
|
## 1.4.6
|
|
4
10
|
### Patch Changes
|
|
5
11
|
|
package/README.md
CHANGED
|
@@ -38,7 +38,7 @@ Goal mode uses Codex-like persistence instructions and sends guarded continuatio
|
|
|
38
38
|
|
|
39
39
|
## Install
|
|
40
40
|
|
|
41
|
-
The current tested host is Pi `1.0.4`. Host-provided dependencies use `"*"` peers to identify module ownership, not to guarantee compatibility with every Pi version. See the [compatibility
|
|
41
|
+
The current tested host is Pi `1.0.4`. Host-provided dependencies use `"*"` peers to identify module ownership, not to guarantee compatibility with every Pi version. See the [compatibility guide](https://github.com/signalridge/pi-extensions/blob/main/docs/compatibility.md) for verification details. The `agent_settled` lifecycle event this extension depends on landed in `0.80.6`.
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
44
|
pi install npm:@signalridge/pi-goal
|
package/package.json
CHANGED
package/src/persistence.ts
CHANGED
|
@@ -82,11 +82,13 @@ export function serializeGoalState(
|
|
|
82
82
|
queue: readonly ActiveGoal[],
|
|
83
83
|
pendingAction: PendingQueueAction | undefined,
|
|
84
84
|
): GoalStateEntryData {
|
|
85
|
-
|
|
85
|
+
// Native session entries retain data references; later runtime updates must
|
|
86
|
+
// not rewrite historical metadata or invalidate another extension's ancestry.
|
|
87
|
+
return structuredClone({
|
|
86
88
|
goal: goal ?? null,
|
|
87
89
|
...(queue.length > 0 ? { queue: [...queue] } : {}),
|
|
88
90
|
...(pendingAction ? { pendingAction } : {}),
|
|
89
|
-
};
|
|
91
|
+
});
|
|
90
92
|
}
|
|
91
93
|
|
|
92
94
|
export function loadGoalStateFromSession(ctx: SessionContext): LoadedGoalState {
|