instar 1.3.911 → 1.3.913
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/README.md +1 -1
- package/dist/commands/server.d.ts.map +1 -1
- package/dist/commands/server.js +79 -2
- package/dist/commands/server.js.map +1 -1
- package/dist/config/ConfigDefaults.d.ts.map +1 -1
- package/dist/config/ConfigDefaults.js +7 -0
- package/dist/config/ConfigDefaults.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +11 -0
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/core/WriteDomainRegistry.d.ts.map +1 -1
- package/dist/core/WriteDomainRegistry.js +9 -0
- package/dist/core/WriteDomainRegistry.js.map +1 -1
- package/dist/core/machineCoherenceManifest.d.ts.map +1 -1
- package/dist/core/machineCoherenceManifest.js +15 -0
- package/dist/core/machineCoherenceManifest.js.map +1 -1
- package/dist/core/sessionPoolPromotionActivation.d.ts +42 -0
- package/dist/core/sessionPoolPromotionActivation.d.ts.map +1 -0
- package/dist/core/sessionPoolPromotionActivation.js +61 -0
- package/dist/core/sessionPoolPromotionActivation.js.map +1 -0
- package/dist/core/types.d.ts +10 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/monitoring/PresenceProxy.d.ts +4 -0
- package/dist/monitoring/PresenceProxy.d.ts.map +1 -1
- package/dist/monitoring/PresenceProxy.js +43 -3
- package/dist/monitoring/PresenceProxy.js.map +1 -1
- package/dist/monitoring/SessionRecovery.d.ts +17 -1
- package/dist/monitoring/SessionRecovery.d.ts.map +1 -1
- package/dist/monitoring/SessionRecovery.js +103 -16
- package/dist/monitoring/SessionRecovery.js.map +1 -1
- package/dist/monitoring/guardManifest.d.ts.map +1 -1
- package/dist/monitoring/guardManifest.js +1 -0
- package/dist/monitoring/guardManifest.js.map +1 -1
- package/dist/scaffold/templates.d.ts.map +1 -1
- package/dist/scaffold/templates.js +1 -0
- package/dist/scaffold/templates.js.map +1 -1
- package/dist/server/AgentServer.d.ts +2 -0
- package/dist/server/AgentServer.d.ts.map +1 -1
- package/dist/server/AgentServer.js +1 -0
- package/dist/server/AgentServer.js.map +1 -1
- package/dist/server/CapabilityIndex.js +1 -1
- package/dist/server/CapabilityIndex.js.map +1 -1
- package/dist/server/routes.d.ts +2 -0
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +28 -0
- package/dist/server/routes.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +64 -64
- package/src/scaffold/templates.ts +1 -0
- package/upgrades/1.3.912.md +33 -0
- package/upgrades/1.3.913.md +30 -0
- package/upgrades/side-effects/context-wall-recovery-robustness.md +62 -0
- package/upgrades/side-effects/session-pool-promotion-activation.md +52 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Side-Effects Review — Context-wall recovery robustness
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `context-wall-recovery-robustness`
|
|
4
|
+
**Date:** `2026-07-23`
|
|
5
|
+
**Author:** Instar Agent (instar-codey)
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
This closes a context-wall recovery loop that treated helper-process existence
|
|
10
|
+
as work, consumed attempts on deferral, and later resumed the poisoned
|
|
11
|
+
transcript. The fix reuses transcript-growth evidence, adds a bounded latch
|
|
12
|
+
ceiling, and forces all respawns fresh while the latch exists.
|
|
13
|
+
|
|
14
|
+
## Decision-point inventory
|
|
15
|
+
|
|
16
|
+
- Transcript growth is the positive work signal for context exhaustion.
|
|
17
|
+
- Unknown first observation defers without consuming an attempt.
|
|
18
|
+
- A 30-minute persistent latch forces the existing compact-then-fresh ladder.
|
|
19
|
+
- The latch suppresses resume UUID consumption at the Telegram and Slack spawn
|
|
20
|
+
chokepoints.
|
|
21
|
+
- Ownership recovery gates remain ahead of local recovery.
|
|
22
|
+
|
|
23
|
+
## Seven-dimension review
|
|
24
|
+
|
|
25
|
+
1. **Over-block:** a growing transcript still defers recovery; ordinary stall,
|
|
26
|
+
crash, error-loop, and non-latched respawns retain their prior behavior.
|
|
27
|
+
2. **Under-block:** static or persistently ambiguous context-wall episodes reach
|
|
28
|
+
the existing fresh recovery path and cannot reload the poisoned transcript.
|
|
29
|
+
3. **Abstraction:** transcript probing supplies evidence; SessionRecovery owns
|
|
30
|
+
recovery judgment; spawn chokepoints enforce fresh launch.
|
|
31
|
+
4. **Signal vs authority:** transcript growth is a signal. The deterministic
|
|
32
|
+
latch age, attempt budget, ownership gate, and recovery ladder retain
|
|
33
|
+
authority.
|
|
34
|
+
5. **Interactions:** compaction remains the first rung; TopicResumeMap and the
|
|
35
|
+
Slack resume map remain authoritative outside a context latch.
|
|
36
|
+
6. **External surfaces:** no new operator action or network API is added.
|
|
37
|
+
Standby copy changes only to report the already-durable latch honestly.
|
|
38
|
+
7. **Rollback:** revert the additive guards. Timestamped latch state remains
|
|
39
|
+
readable and no external state needs repair.
|
|
40
|
+
|
|
41
|
+
## Multi-machine posture
|
|
42
|
+
|
|
43
|
+
Machine-local by design under `process-observer`: the evidence describes a
|
|
44
|
+
local pane and transcript. The existing ownership gate prevents local recovery
|
|
45
|
+
from acting on a peer-owned topic.
|
|
46
|
+
|
|
47
|
+
## Operator surface quality
|
|
48
|
+
|
|
49
|
+
Not applicable: no operator action or dashboard surface is added or changed.
|
|
50
|
+
|
|
51
|
+
## Class-Closure Declaration
|
|
52
|
+
|
|
53
|
+
`unbounded-self-action` closes as a **guard**: deferrals consume zero attempts,
|
|
54
|
+
the latch has a 30-minute ceiling, successful recovery clears it, and the
|
|
55
|
+
existing three-attempt/cooldown breaker bounds actual destructive attempts.
|
|
56
|
+
Boundary tests pin the no-burn and force-after-ceiling behavior.
|
|
57
|
+
|
|
58
|
+
## Evidence
|
|
59
|
+
|
|
60
|
+
Unit tests cover attempt accounting, transcript growth/static/unknown evidence,
|
|
61
|
+
legacy state migration, latch ceiling, and honest standby state. Source-wiring
|
|
62
|
+
guards pin Telegram and Slack resume suppression at both spawn chokepoints.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Side-Effects Review — Session-pool promotion activation
|
|
2
|
+
|
|
3
|
+
**Version / slug:** `session-pool-promotion-activation`
|
|
4
|
+
**Date:** `2026-07-23`
|
|
5
|
+
**Author:** Instar Agent (instar-codey)
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
This change activates the already-merged session-pool rollout driver behind an
|
|
10
|
+
explicit, default-off selector. Auto-climb schedules one driver tick per
|
|
11
|
+
cadence; operator mode exposes only the authenticated one-step route. Both
|
|
12
|
+
paths reuse the signed E2E result store and StageAdvancer.
|
|
13
|
+
|
|
14
|
+
## Decision-point inventory
|
|
15
|
+
|
|
16
|
+
- The config resolver accepts only `off`, `operator`, and `auto-climb`; unknown
|
|
17
|
+
values fail closed to off.
|
|
18
|
+
- The activation controller invokes the existing driver only in a selected
|
|
19
|
+
live model.
|
|
20
|
+
- The existing driver and StageAdvancer retain green-evidence, commit-binding,
|
|
21
|
+
one-step, and ceiling authority.
|
|
22
|
+
- The route returns 503 when activation is absent/off and 200 only after a live
|
|
23
|
+
model invokes the driver.
|
|
24
|
+
|
|
25
|
+
## Seven-dimension review
|
|
26
|
+
|
|
27
|
+
1. **Over-block:** operator mode remains available on demand, and the manual
|
|
28
|
+
route is also available during auto-climb.
|
|
29
|
+
2. **Under-block:** model and ceiling both default dark; invalid config cannot
|
|
30
|
+
activate promotion.
|
|
31
|
+
3. **Abstraction:** the controller owns activation only; rollout policy remains
|
|
32
|
+
in the existing driver/advancer.
|
|
33
|
+
4. **Signal vs authority:** signed E2E evidence remains the promotion gate.
|
|
34
|
+
5. **Interactions:** the pre-existing demotion timer is preserved independently.
|
|
35
|
+
6. **External surfaces:** one authenticated local HTTP mutation route is added;
|
|
36
|
+
it performs no network call and is classified cluster-shared, so standby
|
|
37
|
+
write admission cannot fork the coherence-critical rollout stage.
|
|
38
|
+
7. **Rollback:** set the selector off or revert; no stored data needs repair.
|
|
39
|
+
|
|
40
|
+
## Class-Closure Declaration
|
|
41
|
+
|
|
42
|
+
`unbounded-self-action` closes as a **guard**. Auto-climb is rate-bounded to one
|
|
43
|
+
tick per minute, each tick can write at most one adjacent stage, and the finite
|
|
44
|
+
operator ceiling makes stage mutation settle to zero. The off and operator
|
|
45
|
+
models schedule no autonomous promotion. The boundary unit test and real-driver
|
|
46
|
+
end-to-end test pin those brakes.
|
|
47
|
+
|
|
48
|
+
## Evidence
|
|
49
|
+
|
|
50
|
+
Unit coverage pins both activation boundaries and defaults. Integration coverage
|
|
51
|
+
pins dark 503 versus live 200. End-to-end coverage reaches the real server,
|
|
52
|
+
route, rollout driver, signed result store, and stage writer.
|