instar 0.25.9 → 0.26.0
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/dist/config/ConfigDefaults.d.ts +40 -0
- package/dist/config/ConfigDefaults.d.ts.map +1 -0
- package/dist/config/ConfigDefaults.js +175 -0
- package/dist/config/ConfigDefaults.js.map +1 -0
- package/dist/core/AgentRegistry.d.ts.map +1 -1
- package/dist/core/AgentRegistry.js +41 -19
- package/dist/core/AgentRegistry.js.map +1 -1
- package/dist/core/GitSync.d.ts.map +1 -1
- package/dist/core/GitSync.js +49 -0
- package/dist/core/GitSync.js.map +1 -1
- package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
- package/dist/core/PostUpdateMigrator.js +46 -55
- package/dist/core/PostUpdateMigrator.js.map +1 -1
- package/dist/lifeline/ServerSupervisor.d.ts.map +1 -1
- package/dist/lifeline/ServerSupervisor.js +31 -3
- package/dist/lifeline/ServerSupervisor.js.map +1 -1
- package/dist/messaging/slack/SlackAdapter.d.ts.map +1 -1
- package/dist/messaging/slack/SlackAdapter.js +119 -6
- package/dist/messaging/slack/SlackAdapter.js.map +1 -1
- package/dist/scheduler/JobScheduler.d.ts +4 -0
- package/dist/scheduler/JobScheduler.d.ts.map +1 -1
- package/dist/scheduler/JobScheduler.js +6 -0
- package/dist/scheduler/JobScheduler.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +18 -18
- package/upgrades/0.25.10.md +26 -0
- package/upgrades/0.26.0.md +23 -0
- package/upgrades/NEXT.md +35 -0
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-04-
|
|
5
|
-
"instarVersion": "0.
|
|
4
|
+
"generatedAt": "2026-04-01T17:58:54.321Z",
|
|
5
|
+
"instarVersion": "0.26.0",
|
|
6
6
|
"entryCount": 180,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"domain": "identity",
|
|
12
12
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
13
13
|
"installedPath": ".instar/hooks/instar/session-start.sh",
|
|
14
|
-
"contentHash": "
|
|
14
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
15
15
|
"since": "2025-01-01"
|
|
16
16
|
},
|
|
17
17
|
"hook:dangerous-command-guard": {
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"domain": "safety",
|
|
21
21
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
22
22
|
"installedPath": ".instar/hooks/instar/dangerous-command-guard.sh",
|
|
23
|
-
"contentHash": "
|
|
23
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
24
24
|
"since": "2025-01-01"
|
|
25
25
|
},
|
|
26
26
|
"hook:grounding-before-messaging": {
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"domain": "safety",
|
|
30
30
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
31
31
|
"installedPath": ".instar/hooks/instar/grounding-before-messaging.sh",
|
|
32
|
-
"contentHash": "
|
|
32
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
33
33
|
"since": "2025-01-01"
|
|
34
34
|
},
|
|
35
35
|
"hook:compaction-recovery": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"domain": "identity",
|
|
39
39
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
40
40
|
"installedPath": ".instar/hooks/instar/compaction-recovery.sh",
|
|
41
|
-
"contentHash": "
|
|
41
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
42
42
|
"since": "2025-01-01"
|
|
43
43
|
},
|
|
44
44
|
"hook:external-operation-gate": {
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"domain": "safety",
|
|
48
48
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
49
49
|
"installedPath": ".instar/hooks/instar/external-operation-gate.js",
|
|
50
|
-
"contentHash": "
|
|
50
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
51
51
|
"since": "2025-01-01"
|
|
52
52
|
},
|
|
53
53
|
"hook:deferral-detector": {
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"domain": "safety",
|
|
57
57
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
58
58
|
"installedPath": ".instar/hooks/instar/deferral-detector.js",
|
|
59
|
-
"contentHash": "
|
|
59
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
60
60
|
"since": "2025-01-01"
|
|
61
61
|
},
|
|
62
62
|
"hook:post-action-reflection": {
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"domain": "evolution",
|
|
66
66
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
67
67
|
"installedPath": ".instar/hooks/instar/post-action-reflection.js",
|
|
68
|
-
"contentHash": "
|
|
68
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
69
69
|
"since": "2025-01-01"
|
|
70
70
|
},
|
|
71
71
|
"hook:external-communication-guard": {
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"domain": "safety",
|
|
75
75
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
76
76
|
"installedPath": ".instar/hooks/instar/external-communication-guard.js",
|
|
77
|
-
"contentHash": "
|
|
77
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
78
78
|
"since": "2025-01-01"
|
|
79
79
|
},
|
|
80
80
|
"hook:scope-coherence-collector": {
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"domain": "coherence",
|
|
84
84
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
85
85
|
"installedPath": ".instar/hooks/instar/scope-coherence-collector.js",
|
|
86
|
-
"contentHash": "
|
|
86
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
87
87
|
"since": "2025-01-01"
|
|
88
88
|
},
|
|
89
89
|
"hook:scope-coherence-checkpoint": {
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"domain": "coherence",
|
|
93
93
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
94
94
|
"installedPath": ".instar/hooks/instar/scope-coherence-checkpoint.js",
|
|
95
|
-
"contentHash": "
|
|
95
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
96
96
|
"since": "2025-01-01"
|
|
97
97
|
},
|
|
98
98
|
"hook:free-text-guard": {
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
"domain": "safety",
|
|
102
102
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
103
103
|
"installedPath": ".instar/hooks/instar/free-text-guard.sh",
|
|
104
|
-
"contentHash": "
|
|
104
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
105
105
|
"since": "2025-01-01"
|
|
106
106
|
},
|
|
107
107
|
"hook:claim-intercept": {
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"domain": "coherence",
|
|
111
111
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
112
112
|
"installedPath": ".instar/hooks/instar/claim-intercept.js",
|
|
113
|
-
"contentHash": "
|
|
113
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
114
114
|
"since": "2025-01-01"
|
|
115
115
|
},
|
|
116
116
|
"hook:claim-intercept-response": {
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
"domain": "coherence",
|
|
120
120
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
121
121
|
"installedPath": ".instar/hooks/instar/claim-intercept-response.js",
|
|
122
|
-
"contentHash": "
|
|
122
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
123
123
|
"since": "2025-01-01"
|
|
124
124
|
},
|
|
125
125
|
"hook:auto-approve-permissions": {
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
"domain": "safety",
|
|
129
129
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
130
130
|
"installedPath": ".instar/hooks/instar/auto-approve-permissions.js",
|
|
131
|
-
"contentHash": "
|
|
131
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
132
132
|
"since": "2025-01-01"
|
|
133
133
|
},
|
|
134
134
|
"job:health-check": {
|
|
@@ -1384,7 +1384,7 @@
|
|
|
1384
1384
|
"type": "subsystem",
|
|
1385
1385
|
"domain": "updates",
|
|
1386
1386
|
"sourcePath": "src/core/PostUpdateMigrator.ts",
|
|
1387
|
-
"contentHash": "
|
|
1387
|
+
"contentHash": "6962a5ea43ab7ac29cad9871706213f2998c1ebd39b0fc06e68e1154ab284333",
|
|
1388
1388
|
"since": "2025-01-01"
|
|
1389
1389
|
},
|
|
1390
1390
|
"subsystem:scheduler": {
|
|
@@ -1392,7 +1392,7 @@
|
|
|
1392
1392
|
"type": "subsystem",
|
|
1393
1393
|
"domain": "scheduling",
|
|
1394
1394
|
"sourcePath": "src/scheduler/JobScheduler.ts",
|
|
1395
|
-
"contentHash": "
|
|
1395
|
+
"contentHash": "74829f742495f2ed35c6448f122570a63de6b835c69b439a2e9bd5698085071f",
|
|
1396
1396
|
"since": "2025-01-01"
|
|
1397
1397
|
},
|
|
1398
1398
|
"subsystem:project-mapper": {
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# v0.25.10 — Robustness Hardening
|
|
2
|
+
|
|
3
|
+
## What Changed
|
|
4
|
+
|
|
5
|
+
Four reliability improvements that prevent the cascade failure pattern where a stuck git rebase takes down an entire agent for days:
|
|
6
|
+
|
|
7
|
+
1. **GitSync pre-flight recovery** — Before every pull, git-sync now checks for stuck rebases and detached HEAD states. If found, it automatically aborts the rebase and re-attaches to the main branch. Previously, a stuck rebase from an interrupted pull would silently block all future syncs.
|
|
8
|
+
|
|
9
|
+
2. **ServerSupervisor git state healing** — The supervisor's preflight self-heal now detects and aborts stuck git rebases before spawning the server. This catches the problem even earlier in the startup chain.
|
|
10
|
+
|
|
11
|
+
3. **Wider slow-retry window** — The circuit breaker's slow-retry mode now uses a 60-second detection window (up from 10 seconds). The old window was so narrow that retries could be missed entirely if health check timing didn't align with the 2-hour boundary.
|
|
12
|
+
|
|
13
|
+
4. **AgentRegistry sync lock retries** — Synchronous registry operations now retry up to 5 times with exponential backoff when encountering lock contention. Previously, sync lock acquisition had zero retries and would fail immediately, causing constant heartbeat errors on machines running multiple agents.
|
|
14
|
+
|
|
15
|
+
5. **Shell detection fix** — The supervisor's shell execution helper now uses the SHELL environment variable instead of hardcoding /bin/sh, which could fail in certain environments.
|
|
16
|
+
|
|
17
|
+
## What to Tell Your User
|
|
18
|
+
|
|
19
|
+
We fixed a reliability issue where a stuck git rebase could take down an agent for days. The system now automatically detects and recovers from stuck rebases, and the retry logic is more resilient. If you've seen agents go stale and not recover, this update addresses that.
|
|
20
|
+
|
|
21
|
+
## Summary of New Capabilities
|
|
22
|
+
|
|
23
|
+
- Automatic recovery from stuck git rebases during sync and server startup
|
|
24
|
+
- More reliable agent registry operations under concurrent access from multiple agents
|
|
25
|
+
- Wider retry windows so the circuit breaker doesn't silently miss recovery attempts
|
|
26
|
+
- Better shell compatibility across different environments
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# v0.26.0 — Unified Config Defaults System
|
|
2
|
+
|
|
3
|
+
## What Changed
|
|
4
|
+
|
|
5
|
+
**Single source of truth for config defaults** — Config defaults are now defined once in ConfigDefaults.ts and consumed by both the init command (new agents) and PostUpdateMigrator (existing agents). This structurally prevents the recurring bug where new config fields were added to init but forgotten in the migration path, causing existing agents to silently miss features.
|
|
6
|
+
|
|
7
|
+
**Agent-type-aware defaults** — Managed-project and standalone agents get different defaults where appropriate (e.g., quota tracking). Migration uses more conservative values for security-sensitive fields like trust levels.
|
|
8
|
+
|
|
9
|
+
**Safety mechanisms** — Atomic config writes with backup, opt-out via _instar_noMigrate, migration version tracking via _instar_migrations, and audit trail to security.jsonl.
|
|
10
|
+
|
|
11
|
+
**CI enforcement** — 15 tests verify init/migration equivalence, idempotency, no-overwrite guarantees, opt-out handling, type safety, and array-as-leaf behavior.
|
|
12
|
+
|
|
13
|
+
## What to Tell Your User
|
|
14
|
+
|
|
15
|
+
Config management got a structural upgrade. New features will now automatically be available to both new and existing agents on update. Previously, some features like PromptGate were missing for existing agents because the update path did not include them. That gap is now structurally impossible — any new config default added by the developer is automatically applied to all agents on their next update, while never overwriting your customizations.
|
|
16
|
+
|
|
17
|
+
## Summary of New Capabilities
|
|
18
|
+
|
|
19
|
+
| Capability | How to Use |
|
|
20
|
+
|-----------|-----------|
|
|
21
|
+
| Auto-applied config defaults | Automatic on update — no action needed |
|
|
22
|
+
| Opt-out of specific migrations | Add field names to _instar_noMigrate array in config.json |
|
|
23
|
+
| Migration audit trail | Check _instar_migrations in config.json or security.jsonl |
|
package/upgrades/NEXT.md
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- bump: patch -->
|
|
4
|
+
<!-- Valid values: patch, minor, major -->
|
|
5
|
+
<!-- patch = bug fixes, refactors, test additions, doc updates -->
|
|
6
|
+
<!-- minor = new features, new APIs, new capabilities (backwards-compatible) -->
|
|
7
|
+
<!-- major = breaking changes to existing APIs or behavior -->
|
|
8
|
+
|
|
9
|
+
## What Changed
|
|
10
|
+
|
|
11
|
+
<!-- Describe what changed technically. What new features, APIs, behavioral changes? -->
|
|
12
|
+
<!-- Write this for the AGENT — they need to understand the system deeply. -->
|
|
13
|
+
|
|
14
|
+
## What to Tell Your User
|
|
15
|
+
|
|
16
|
+
<!-- Write talking points the agent should relay to their user. -->
|
|
17
|
+
<!-- This should be warm, conversational, user-facing — not a changelog. -->
|
|
18
|
+
<!-- Focus on what THEY can now do, not internal plumbing. -->
|
|
19
|
+
<!-- -->
|
|
20
|
+
<!-- PROHIBITED in this section (will fail validation): -->
|
|
21
|
+
<!-- camelCase config keys: silentReject, maxRetries, telegramNotify -->
|
|
22
|
+
<!-- Inline code backtick references like silentReject: false -->
|
|
23
|
+
<!-- Fenced code blocks -->
|
|
24
|
+
<!-- Instructions to edit files or run commands -->
|
|
25
|
+
<!-- -->
|
|
26
|
+
<!-- CORRECT style: "I can turn that on for you" not "set X to false" -->
|
|
27
|
+
<!-- The agent relays this to their user — keep it human. -->
|
|
28
|
+
|
|
29
|
+
- **[Feature name]**: "[Brief, friendly description of what this means for the user]"
|
|
30
|
+
|
|
31
|
+
## Summary of New Capabilities
|
|
32
|
+
|
|
33
|
+
| Capability | How to Use |
|
|
34
|
+
|-----------|-----------|
|
|
35
|
+
| [Capability] | [Endpoint, command, or "automatic"] |
|