@inetafrica/open-claudia 3.0.40 → 3.0.41

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/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## v3.0.41 — Verbose off now means a clean chat: the "Let me…" narration no longer lingers
4
+
5
+ - **With `/verbose` off, the interim progress message is now removed once a turn settles, so the chat is left with only the final answer.** During a multi-step turn the bot posts a throttled "working…" preview that shows the short "Let me check…/Let me look at…" narration emitted before each tool call. That preview used to *stay* — settling into a permanent message — regardless of `/verbose`, which only ever gated the extended-thinking (🧠) stream. So even with verbose off you'd be left with the narration trail as a leftover message that reads like thinking-out-loud. `finalizeStreamPreview` now deletes that preview when verbose is off; `/verbose on` still keeps the narration trail. Live progress during long turns is unchanged either way — the cleanup only affects what remains after the turn ends.
6
+ - **Agent-space / OpenClaw:** no new deps, env, or schema change; Docker image builds FROM the existing `:base`. Pure delivery-path change in `core/runner.js`; existing pods pick it up on their next approved upgrade.
7
+
3
8
  ## v3.0.40 — Sharper recall: surfaces the actual matched facts, drops weakly-relevant ones (third cut of the Pass-4 release)
4
9
 
5
10
  - **On-open pack/entity injection is now extractive, not a headline.** Opening a pack used to inject its one-line description, hiding the facts that actually matched in State/Procedure/Journal. It now injects the Stance verbatim plus the specific fuzzy-matched lines (section-tagged), so the model sees the real matched content rather than a summary of it. Toggle with `RECALL_EXTRACTIVE` (default on).
package/core/runner.js CHANGED
@@ -1560,8 +1560,11 @@ async function finalizeStreamPreview(state, result) {
1560
1560
  if (buffer) await editMessage(id, buffer.slice(-4000), telegramHtmlOpts({ streaming: true }));
1561
1561
  return;
1562
1562
  }
1563
+ // Verbose OFF: the narration ("Let me…") is transient progress only — delete
1564
+ // the preview so settled chat carries just the final answer. Verbose ON keeps
1565
+ // the narration trail. Either way the live preview still showed progress mid-run.
1563
1566
  const narration = String(result.narrationText || "").trim();
1564
- if (narration) await editMessage(id, narration.slice(-4000), telegramHtmlOpts({ streaming: true }));
1567
+ if (narration && state.settings?.showThinking) await editMessage(id, narration.slice(-4000), telegramHtmlOpts({ streaming: true }));
1565
1568
  else await deleteMessage(id);
1566
1569
  } catch (_) { /* preview cleanup is best-effort; the final answer still goes out */ }
1567
1570
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inetafrica/open-claudia",
3
- "version": "3.0.40",
3
+ "version": "3.0.41",
4
4
  "description": "An always-on, provider-agnostic coding-agent harness for Claude Code and OpenAI Codex via chat",
5
5
  "main": "bot.js",
6
6
  "bin": {
@@ -59,7 +59,13 @@ assert.match(pkg.description, /provider-agnostic coding-agent harness/i);
59
59
  // floor and tightens the cascade so sticky auto-keeps route back to the judge; a
60
60
  // KPI ruler stamps per-version relevance/gate/warm columns. Co-kept Hebbian
61
61
  // warming ships dark (default OFF).
62
- assert.strictEqual(pkg.version, "3.0.40", "release version must remain unchanged without explicit approval");
62
+ // 3.0.41 approved by Sumeet 2026-07-18 ("Yes I think that's fine please fix it
63
+ // and push it out"): verbose-off narration cleanup. The interim stream preview
64
+ // showed the pre-tool "Let me…" narration and then settled to keep it as a
65
+ // permanent message regardless of /verbose — only extended-thinking was gated.
66
+ // finalizeStreamPreview now deletes the settled preview when /verbose is off, so
67
+ // chat carries only the final answer; verbose ON still keeps the narration trail.
68
+ assert.strictEqual(pkg.version, "3.0.41", "release version must remain unchanged without explicit approval");
63
69
  for (const keyword of ["claude", "codex", "coding-agent", "provider-agnostic"]) {
64
70
  assert.ok(pkg.keywords.includes(keyword), `package keyword missing: ${keyword}`);
65
71
  }