instar 1.3.294 → 1.3.295
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/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-06-05T12:
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-06-05T12:40:00.392Z",
|
|
5
|
+
"instarVersion": "1.3.295",
|
|
6
6
|
"entryCount": 198,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Added behavioral regression coverage for the Slack Socket Mode reconnect ack guard. The existing fix already guards ack sends on socket readiness and catches the send-race path; this slice pins that behavior by instantiating the socket client and driving the raw-message handler directly.
|
|
9
|
+
|
|
10
|
+
The test now proves that an event arriving while the socket is not open does not attempt the ack send or throw, and that an ack send throwing after an open-state check is caught while event processing continues.
|
|
11
|
+
|
|
12
|
+
## What to Tell Your User
|
|
13
|
+
|
|
14
|
+
None — internal change (no user-facing surface).
|
|
15
|
+
|
|
16
|
+
## Summary of New Capabilities
|
|
17
|
+
|
|
18
|
+
None — internal change (no user-facing surface).
|
|
19
|
+
|
|
20
|
+
## Evidence
|
|
21
|
+
|
|
22
|
+
Focused gate: `npx vitest run tests/unit/slack-socket-reconnect.test.ts` passed with 17 tests.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Side-Effects Review — Slack Socket Mode ack-guard behavioral regression
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `slack-socket-ack-guard-regression`
|
|
4
|
+
**Date:** `2026-06-05`
|
|
5
|
+
**Author:** `instar-codey`
|
|
6
|
+
**Second-pass reviewer:** `not required — test-only Tier 1`
|
|
7
|
+
|
|
8
|
+
## Summary of the change
|
|
9
|
+
|
|
10
|
+
This is a test-only follow-up for the Slack Socket Mode reconnect crash guard. The existing production fix in `src/messaging/slack/SocketModeClient.ts` already checks `readyState === WebSocket.OPEN` before sending event acknowledgements and catches the send-race path. This change adds behavioral coverage in `tests/unit/slack-socket-reconnect.test.ts` by instantiating `SocketModeClient`, injecting fake socket states, and driving the raw-message handler directly.
|
|
11
|
+
|
|
12
|
+
## Decision-point inventory
|
|
13
|
+
|
|
14
|
+
- Slack Socket Mode event ack behavior — **pass-through** — production behavior unchanged; tests now assert the already-shipped guard path.
|
|
15
|
+
- Event processing after ack handling — **pass-through** — tests assert event processing continues after skipped or caught ack sends.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 1. Over-block
|
|
20
|
+
|
|
21
|
+
No runtime block/allow surface changed. The only possible over-block is a future code change being rejected by tests if it removes the ack readiness guard or stops event processing after a skipped/caught ack.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 2. Under-block
|
|
26
|
+
|
|
27
|
+
The test does not open a real Slack Socket Mode connection. It covers the unit-level failure mode directly: non-open socket state and send throwing after an open-state check. Real integration timing remains covered by existing reconnect/heartbeat tests and Slack's own redelivery behavior.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 3. Level-of-abstraction fit
|
|
32
|
+
|
|
33
|
+
The regression belongs at the `SocketModeClient` unit layer because the crash was caused by ack behavior in the raw message handler. A source assertion already existed, but this behavioral test is the right layer to prove the guard path actually prevents throws and preserves event handling.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## 4. Signal vs authority compliance
|
|
38
|
+
|
|
39
|
+
**Required reference:** [docs/signal-vs-authority.md](../../docs/signal-vs-authority.md)
|
|
40
|
+
|
|
41
|
+
- [ ] No — this change produces a signal consumed by an existing smart gate.
|
|
42
|
+
- [x] No — this change has no block/allow surface.
|
|
43
|
+
- [ ] Yes — but the logic is a smart gate with full conversational context.
|
|
44
|
+
- [ ] Yes, with brittle logic — STOP. Reshape the design.
|
|
45
|
+
|
|
46
|
+
This is test-only coverage. It does not add a detector, gate, relay policy, or runtime decision point.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 5. Interactions
|
|
51
|
+
|
|
52
|
+
- **Shadowing:** none at runtime.
|
|
53
|
+
- **Double-fire:** none at runtime.
|
|
54
|
+
- **Races:** the test explicitly simulates the reconnect race where the socket is not open, plus the narrower race where send throws after an open-state check.
|
|
55
|
+
- **Feedback loops:** none.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## 6. External surfaces
|
|
60
|
+
|
|
61
|
+
No external surface changes. Slack behavior, config, API routes, Telegram behavior, dashboard behavior, and persistent state are unchanged. The release fragment is marked internal-only because this ships only regression coverage.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## 7. Rollback cost
|
|
66
|
+
|
|
67
|
+
Rollback is deleting the added test assertions and artifacts. No data migration, agent state repair, or user-visible rollback behavior exists.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Conclusion
|
|
72
|
+
|
|
73
|
+
Clear to ship as a test-only Tier-1 follow-up. The missing behavioral coverage now pins the crash guard that was previously covered only by source assertions.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Second-pass review (if required)
|
|
78
|
+
|
|
79
|
+
Not required — test-only Tier 1.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Evidence pointers
|
|
84
|
+
|
|
85
|
+
- `npx vitest run tests/unit/slack-socket-reconnect.test.ts` — 17 tests passed.
|