impel-cli 0.20.22 → 0.20.24

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 CHANGED
@@ -190,13 +190,13 @@ impel codex --agent research-agent exec "answer this question"
190
190
  This path loads a generated, tenant-bound profile with Luna at low reasoning
191
191
  for the thin adapter turns, a read-only local sandbox, the exact fixed MCP
192
192
  binding, and only that binding's answer/run, resume, and recovery tools. It
193
- omits unrelated local repository, app, collaboration, permission, and
194
- environment prompt context; the selected Eve agent still performs the
195
- substantive work. The path also omits the normal parent specialist
196
- instructions, so there is no parent spawn, parent wait, or relay turn. Model,
197
- profile, developer-instruction, MCP, approval, sandbox, and feature overrides
198
- are rejected with `--agent`. The selected tenant and profile integrity must
199
- match before Codex starts. Ordinary `impel codex` passthrough is unchanged.
193
+ omits unrelated local repository, app, collaboration, permission, environment,
194
+ and skill-catalog prompt context; the selected Eve agent still performs the
195
+ substantive work. The path also omits the normal parent specialist instructions,
196
+ so there is no parent spawn, parent wait, or relay turn. Model, profile,
197
+ developer-instruction, MCP, approval, sandbox, and feature overrides are rejected
198
+ with `--agent`. The selected tenant and profile integrity must match before
199
+ Codex starts. Ordinary `impel codex` passthrough is unchanged.
200
200
 
201
201
  ## Remote Fargate sessions
202
202
 
package/RELEASE_NOTES.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Release notes
2
2
 
3
+ ## 0.20.24 — Keep Codex adapters silent until terminal
4
+
5
+ - Explicitly forbids every collaboration tool inside active and recovery Codex
6
+ adapters so a compatible child cannot message its parent during a run.
7
+ - Advances the managed profile manifest so existing CLI and Desktop adapters
8
+ receive the stricter terminal-only behavior immediately.
9
+
10
+ ## 0.20.23 — Remove skill-catalog adapter overhead
11
+
12
+ - Removes the installed skill catalog from fixed-binding Codex adapter prompts;
13
+ these transport-only wrappers cannot use skills and the selected Eve agent
14
+ continues to own the substantive task.
15
+ - Advances the managed profile manifest so existing CLI and Desktop adapters
16
+ refresh onto the faster wrapper immediately.
17
+
3
18
  ## 0.20.22 — Minimal-context Codex adapters
4
19
 
5
20
  - Returns fixed-binding adapters to Luna's deterministic direct-only MCP route
@@ -24,6 +24,8 @@ is treated as an eager host.
24
24
  outer host deadline and resume never opens a replacement run.
25
25
  - Parent guidance permits one spawn and one blocking wait. It forbids follow-up
26
26
  nudges and independent synthesis while the child is running.
27
+ - Codex adapters explicitly forbid every collaboration tool and communicate
28
+ with the compatible parent only through their terminal response.
27
29
  - Host and transport traces must never include prompts, answers, credentials, or
28
30
  decrypted provider material. Production measurements use correlation ids,
29
31
  phase timestamps, counts, durations, build identifiers, and terminal classes
@@ -35,10 +37,10 @@ is treated as an eager host.
35
37
  and re-qualified rather than receiving unknown configuration.
36
38
  - `mcp__impel_agent` is the native tool namespace. The server id
37
39
  `impel_agent` is not equivalent and does not qualify as direct exposure.
38
- - Generated Codex fixed-binding adapters use Luna at low reasoning for the
39
- thin tool-selection and terminal-relay turns, with unrelated local host
40
- context disabled. The selected Eve agent, not this wrapper model, still owns
41
- the substantive task.
40
+ - Generated Codex fixed-binding adapters use Luna at low reasoning for the thin
41
+ tool-selection and terminal-relay turns, with unrelated local host and skill
42
+ catalog context disabled. The selected Eve agent, not this wrapper model,
43
+ still owns the substantive task.
42
44
 
43
45
  ## Requalification
44
46
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "impel-cli",
3
- "version": "0.20.22",
3
+ "version": "0.20.24",
4
4
  "description": "Prepare isolated Claude and Codex workspaces for every accessible Impel tenant",
5
5
  "type": "module",
6
6
  "bin": {
package/src/agents.js CHANGED
@@ -52,7 +52,7 @@ export const NATIVE_AGENT_RUN_TOOL = "run_native_agent";
52
52
  export const NATIVE_AGENT_RESUME_TOOL = "resume_native_agent_run";
53
53
  export const NATIVE_AGENT_RECOVER_TOOL = "recover_native_agent_runs";
54
54
  export const MANAGED_AGENT_MCP_SERVER = "impel_agent";
55
- export const MANAGED_AGENT_MANIFEST_VERSION = 14;
55
+ export const MANAGED_AGENT_MANIFEST_VERSION = 16;
56
56
 
57
57
  // The host model only selects the fixed MCP tool and faithfully returns its
58
58
  // result. Luna preserves deterministic direct-only code-mode routing while the
@@ -655,7 +655,7 @@ function codexAdapterInstructions(tenantId, agent) {
655
655
  const callerGuidance = usesVerbatimRelay(agent)
656
656
  ? adapterCallerSpawnGuidance("Codex")
657
657
  : null;
658
- const collaborationConstraint = `Collaboration tools are disabled. Return one final response to the caller after the native-agent transport reaches terminal.`;
658
+ const collaborationConstraint = `Collaboration tools are unavailable for this adapter. Never call send_message, followup_task, interrupt_agent, spawn_agent, or wait_agent. Return one final response to the caller only after the native-agent transport reaches terminal.`;
659
659
  if (usesDirectAnswer(agent)) {
660
660
  const completionGuidance = usesVerbatimRelay(agent)
661
661
  ? adapterAnswerVerbatimCompletionGuidance()
@@ -691,7 +691,7 @@ function codexAdapterInstructions(tenantId, agent) {
691
691
  function retiredAdapterInstructions(tenantId, agent) {
692
692
  return [
693
693
  `You are a recovery-only transport adapter for retired Impel native-agent binding ${JSON.stringify(agent.agentId)} in tenant ${JSON.stringify(tenantId)}.`,
694
- `Collaboration tools are disabled. Return one final response to the caller after the native-agent transport reaches terminal.`,
694
+ `Collaboration tools are unavailable for this adapter. Never call send_message, followup_task, interrupt_agent, spawn_agent, or wait_agent. Return one final response to the caller only after the native-agent transport reaches terminal.`,
695
695
  `You cannot start new work. Never call run_native_agent and never perform or recreate the assigned task yourself.`,
696
696
  `Call ${nativeToolName(NATIVE_AGENT_RECOVER_TOOL)} with {} to obtain integrity-validated pending handles for this fixed binding, then call ${nativeToolName(NATIVE_AGENT_RESUME_TOOL)} with the intended handle until it returns a terminal result. If multiple handles cannot be safely associated with the request, report them instead of choosing.`,
697
697
  `Return successful finalText byte-for-byte. For failure, return the preserved runId, output, and error without inventing a replacement result.`,
@@ -785,6 +785,9 @@ function renderCodexConfiguration({
785
785
  "include_environment_context = false",
786
786
  `developer_instructions = ${JSON.stringify(recoveryOnly ? retiredAdapterInstructions(tenantId, agent) : codexAdapterInstructions(tenantId, agent))}`,
787
787
  "",
788
+ "[skills]",
789
+ "include_instructions = false",
790
+ "",
788
791
  ...(directCodeMode ? [
789
792
  "[features]",
790
793
  "multi_agent = false",