instar 1.3.105 → 1.3.106
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/monitoring/MentorStageA.d.ts.map +1 -1
- package/dist/monitoring/MentorStageA.js +14 -1
- package/dist/monitoring/MentorStageA.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +2 -2
- package/upgrades/1.3.106.md +39 -0
- package/upgrades/side-effects/mentor-stage-a-prompt-bound.md +55 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MentorStageA.d.ts","sourceRoot":"","sources":["../../src/monitoring/MentorStageA.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAAO,CAAC;AAE3D;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,sFAAsF;IACtF,MAAM,EAAE,OAAO,CAAC;IAChB,4FAA4F;IAC5F,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AA4BD,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAUhE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,UAAU,CAK7F;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,mBAGjC,CAAC;AACF,eAAO,MAAM,sBAAsB,8GACqE,CAAC;AAEzG,yFAAyF;AACzF,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"MentorStageA.d.ts","sourceRoot":"","sources":["../../src/monitoring/MentorStageA.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAAO,CAAC;AAE3D;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,sFAAsF;IACtF,MAAM,EAAE,OAAO,CAAC;IAChB,4FAA4F;IAC5F,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AA4BD,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAUhE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,UAAU,CAK7F;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,mBAGjC,CAAC;AACF,eAAO,MAAM,sBAAsB,8GACqE,CAAC;AAEzG,yFAAyF;AACzF,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA2DvE;AAED,kFAAkF;AAClF,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,mBAAmB,CAqBtB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAkBnF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE,CAkBvF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,CAYrG"}
|
|
@@ -87,6 +87,19 @@ export function buildStageAContext(surface) {
|
|
|
87
87
|
const agendaLines = hasAgenda
|
|
88
88
|
? surface.onboardingAgenda.map((t) => ` - ${t}`).join('\n')
|
|
89
89
|
: '';
|
|
90
|
+
// Bound the conversation history so the assembled Stage-A prompt can never
|
|
91
|
+
// exceed tmux's `new-session` command-line limit (~12-16KB). The prompt is
|
|
92
|
+
// passed as a command-line ARGUMENT to the spawned compose session, so an
|
|
93
|
+
// unbounded, ever-growing history eventually makes `tmux new-session` fail
|
|
94
|
+
// ("command too long") — the spawn throws and the whole tick reports
|
|
95
|
+
// stage-a-failed. (Root-caused live: the mentor worked early on, then broke as
|
|
96
|
+
// the mentor↔mentee history accumulated past the limit.) Keep the MOST-RECENT
|
|
97
|
+
// exchanges (what actually matters for deciding the next action) + a marker.
|
|
98
|
+
const MAX_HISTORY_CHARS = 6000;
|
|
99
|
+
const rawHistory = surface.threadlineHistory.trim() || '(no prior conversation)';
|
|
100
|
+
const boundedHistory = rawHistory.length > MAX_HISTORY_CHARS
|
|
101
|
+
? `[… ${rawHistory.length - MAX_HISTORY_CHARS} chars of older conversation elided to fit the spawn command-line limit; most-recent exchanges kept below …]\n${rawHistory.slice(-MAX_HISTORY_CHARS)}`
|
|
102
|
+
: rawHistory;
|
|
90
103
|
return [
|
|
91
104
|
`You are acting as the USER checking in on an AI developer ("${surface.framework}").`,
|
|
92
105
|
`You can ONLY see what a real user would see — the conversation below and the visible task`,
|
|
@@ -107,7 +120,7 @@ export function buildStageAContext(surface) {
|
|
|
107
120
|
: []),
|
|
108
121
|
``,
|
|
109
122
|
`--- Conversation so far ---`,
|
|
110
|
-
|
|
123
|
+
boundedHistory,
|
|
111
124
|
``,
|
|
112
125
|
`--- Visible task status ---`,
|
|
113
126
|
surface.assignedTaskStatus?.trim() || '(no task assigned yet)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MentorStageA.js","sourceRoot":"","sources":["../../src/monitoring/MentorStageA.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"MentorStageA.js","sourceRoot":"","sources":["../../src/monitoring/MentorStageA.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-05-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-05-30T01:28:05.341Z",
|
|
5
|
+
"instarVersion": "1.3.106",
|
|
6
6
|
"entryCount": 193,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- bump: patch -->
|
|
4
|
+
|
|
5
|
+
## What Changed
|
|
6
|
+
|
|
7
|
+
**Fixed the root cause of the Framework-Onboarding mentor's Stage-A failures: the
|
|
8
|
+
compose prompt grew past tmux's command-line limit.** Stage-A spawns a session to
|
|
9
|
+
compose the next coaching message, passing the prompt — which embeds the whole
|
|
10
|
+
growing mentor↔mentee conversation — as a `tmux new-session` command-line
|
|
11
|
+
argument. tmux has a command-length limit (~12-16KB); once the accumulated
|
|
12
|
+
history crossed it, `tmux new-session` failed with "command too long", so the
|
|
13
|
+
step failed and the mentee got nothing (it worked early on, then broke as history
|
|
14
|
+
piled up). The conversation history fed into the Stage-A prompt is now bounded to
|
|
15
|
+
the most-recent ~6KB (with an explicit "older conversation elided" marker), so the
|
|
16
|
+
spawn stays under tmux's limit no matter how long the mentorship runs.
|
|
17
|
+
|
|
18
|
+
## What to Tell Your User
|
|
19
|
+
|
|
20
|
+
Only relevant if you run the (off-by-default) Framework-Onboarding mentor. Its
|
|
21
|
+
Stage-A step is now reliable for long-running mentorships — the prompt can't grow
|
|
22
|
+
past the limit that was making it fail. No behaviour change for short
|
|
23
|
+
conversations.
|
|
24
|
+
|
|
25
|
+
## Summary of New Capabilities
|
|
26
|
+
|
|
27
|
+
- `buildStageAContext` bounds the conversation history at 6000 chars (keeps the
|
|
28
|
+
most-recent exchanges + a marker), keeping the Stage-A prompt under tmux's
|
|
29
|
+
command-line limit — fixes the `stage-a-failed` root cause.
|
|
30
|
+
|
|
31
|
+
## Evidence
|
|
32
|
+
|
|
33
|
+
- `tests/unit/MentorStageA.test.ts` (+1): an ~80KB history produces a prompt
|
|
34
|
+
under 12KB that keeps the most-recent exchange, carries the elision marker, and
|
|
35
|
+
preserves the prompt structure. Full mentor/stage suite (114 tests / 9 files)
|
|
36
|
+
green; `tsc` + `npm run lint` clean.
|
|
37
|
+
- Cold tmux repro: a 120KB argument to `tmux new-session` fails with "command too
|
|
38
|
+
long"; 12KB passes — confirming the 6KB history cap is safely below the limit.
|
|
39
|
+
- Side-effects: `upgrades/side-effects/mentor-stage-a-prompt-bound.md`.
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Side-effects review — Mentor Stage-A: bound the compose prompt
|
|
2
|
+
|
|
3
|
+
**Spec:** `docs/specs/MENTOR-STAGE-A-PROMPT-BOUND-SPEC.md`
|
|
4
|
+
**Change:** `src/monitoring/MentorStageA.ts` (`buildStageAContext`) + unit test
|
|
5
|
+
**Class:** mentor reliability fix (root cause of `stage-a-failed`).
|
|
6
|
+
|
|
7
|
+
## What changed
|
|
8
|
+
|
|
9
|
+
`buildStageAContext` now caps `surface.threadlineHistory` at `MAX_HISTORY_CHARS =
|
|
10
|
+
6000`, keeping the most-recent tail + an explicit `older conversation elided`
|
|
11
|
+
marker, so the assembled Stage-A prompt can't exceed tmux's `new-session`
|
|
12
|
+
command-line limit (~12-16KB) — the confirmed cause of the spawn failure.
|
|
13
|
+
|
|
14
|
+
## Blast radius
|
|
15
|
+
|
|
16
|
+
- **`buildStageAContext` callers:** only `runMentorTick` (Stage-A). The function
|
|
17
|
+
signature/output shape is unchanged (still returns the prompt string); only the
|
|
18
|
+
history portion is bounded when it exceeds 6000 chars.
|
|
19
|
+
- **Mentor behaviour:** unchanged for short histories (the bound only engages
|
|
20
|
+
above 6000 chars). For long histories, the prompt now contains the recent
|
|
21
|
+
exchanges + a marker instead of the full transcript — the mentor still has the
|
|
22
|
+
agenda + recent state to decide the next action.
|
|
23
|
+
- **Two-hats isolation / leak detection / agenda logic:** untouched.
|
|
24
|
+
- **Public API / DB schema / config / other spawns:** none changed. Regular
|
|
25
|
+
(non-mentor) session spawns are unaffected (their prompts are small and were
|
|
26
|
+
never the growth vector).
|
|
27
|
+
|
|
28
|
+
## What could break (and why it doesn't)
|
|
29
|
+
|
|
30
|
+
- **Mentor lacks older context?** By design — the recent 6KB + agenda + status
|
|
31
|
+
carry the "what's next" decision; older middle history is least relevant.
|
|
32
|
+
- **A single huge recent message?** The hard char cap bounds the history block
|
|
33
|
+
regardless of message boundaries.
|
|
34
|
+
- **Leak detector seeing a truncated transcript?** It runs on the Stage-A
|
|
35
|
+
*output* transcript, not on this input prompt — unaffected.
|
|
36
|
+
|
|
37
|
+
## Security
|
|
38
|
+
|
|
39
|
+
No new external input / network / auth / fs surface. Pure in-memory string bound.
|
|
40
|
+
|
|
41
|
+
## Migration parity
|
|
42
|
+
|
|
43
|
+
Server-internal monitoring code — every agent gets it by running the new build.
|
|
44
|
+
No PostUpdateMigrator entry required.
|
|
45
|
+
|
|
46
|
+
## Rollback
|
|
47
|
+
|
|
48
|
+
Revert the commit. No persisted state, schema, or API contract affected.
|
|
49
|
+
|
|
50
|
+
## Tests
|
|
51
|
+
|
|
52
|
+
`tests/unit/MentorStageA.test.ts` (+1): an ~80KB history → prompt < 12KB, keeps
|
|
53
|
+
the most-recent exchange, carries the elision marker, preserves structure. Full
|
|
54
|
+
mentor/stage suite (114 tests / 9 files) green; `tsc` + `npm run lint` clean.
|
|
55
|
+
Cold tmux repro confirmed the limit (120KB → "command too long"; 12KB passes).
|