@essentialai/cogent-bridge 3.20.4 → 3.20.5

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,37 @@
1
1
  # Changelog
2
2
 
3
+ ## 3.20.5 — 2026-08-28
4
+
5
+ ### Fixed — a "meta non-answer" no longer counts as answering a human (COG-20)
6
+ A person asked an agent a question in Slack and received *"Already answered through the
7
+ automatic Slack relay. No duplicate sent."* instead of the answer — twice. Root cause was
8
+ in the `check-on-stop` Stop hook (Claude Code + Codex plugins):
9
+
10
+ - **A recorded FAILURE is never an answer.** When the real-time wake's reply capture fails,
11
+ the bridge records its own fail-loud notice (`success:false`, "Cogent could not capture a
12
+ reply…" / "📨 Queued for…") as a message *from* the agent. The old reply-pairing counted
13
+ that as the answer and went quiet — blinding the hook to exactly the busy-miss it exists
14
+ to catch.
15
+ - **A note *about* answering is not an answer.** New conservative `isMetaNonAnswer()`: a
16
+ short message matching "already answered / no duplicate sent / responded already" no
17
+ longer clears the pending question, so the agent stays prompted until it sends a real
18
+ answer. Deliberately narrow (short text only) — a long answer that merely mentions
19
+ "already answered" is never suppressed.
20
+ - **The prompt wording caused the bug and is rewritten.** It now states plainly that the
21
+ earlier answer was NOT delivered, that re-sending is correct and not a duplicate, and
22
+ demands the ANSWER ITSELF — and the line "Do not repeat work you already did this turn"
23
+ (which pushed the agent into sending the meta-message) is gone.
24
+
25
+ ### Added — the Slack round-trip gate (`scripts/slack-roundtrip-test.mjs`)
26
+ COG-20 shipped because only Agent→Agent was gated. Releases now also prove **Agent→Slack**
27
+ and **Slack→Agent** against the live adapter: a real agent message must land in Slack with
28
+ attribution, a human-origin Slack message must produce a substantive, question-specific
29
+ answer (never a meta-message), and that answer must reach Slack. Verdicts are pure and
30
+ unit-tested, reusing the shipped `isMetaNonAnswer()`.
31
+
32
+ ### Changed
33
+ - npm package description now names Codex and the `cogent-codex` launcher.
34
+
3
35
  ## 3.20.4 — 2026-08-23
4
36
 
5
37
  ### Added — `cogent-codex` now fully encapsulates `codex` (any command, any arguments)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@essentialai/cogent-bridge",
3
- "version": "3.20.4",
4
- "description": "MCP server for inter-Claude-Code session communication bridge",
3
+ "version": "3.20.5",
4
+ "description": "Cogent Bridge — cross-agent comms for Claude Code, OpenAI Codex and Slack. Codex users: install with `curl -fsSL https://cogent.tools/install.sh | sh`, then start with `cogent-codex` for real-time peer wake.",
5
5
  "type": "module",
6
6
  "workspaces": [
7
7
  "cogent",
package/server.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "name": "io.github.eaisdevelopment/cogent",
4
4
  "title": "Cogent Bridge from Essential AI Solutions (essentialai.uk)",
5
5
  "description": "MCP bridge for inter-session communication between Claude Code instances",
6
- "version": "3.20.4",
6
+ "version": "3.20.5",
7
7
  "repository": {
8
8
  "url": "https://github.com/eaisdevelopment/cogent",
9
9
  "source": "github"
@@ -12,7 +12,7 @@
12
12
  {
13
13
  "registryType": "npm",
14
14
  "identifier": "@essentialai/cogent-bridge",
15
- "version": "3.20.4",
15
+ "version": "3.20.5",
16
16
  "runtimeHint": "npx",
17
17
  "transport": {
18
18
  "type": "stdio"