docs: update README + CHANGELOG with v2.0.2 performance overhaul
- README: header now shows v2.0.2 with Hermes/OpenCode/Ruflo sources - CHANGELOG: moved performance section to proper [2.0.2] version header - Added files changed list with line counts Co-Authored-By: zcode <noreply@zcode.dev>
This commit is contained in:
79
CHANGELOG.md
79
CHANGELOG.md
@@ -7,6 +7,50 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
---
|
||||
|
||||
## [2.0.2] - 2026-05-06
|
||||
|
||||
### ⚡ Performance
|
||||
|
||||
#### Agentic Task Execution — Hermes / OpenCode / Ruflo Inspired
|
||||
|
||||
Re-engineered the tool execution pipeline by studying three major open-source projects:
|
||||
|
||||
**Sources studied:**
|
||||
- **Hermes Agent** (NousResearch) — `ToolCallGuardrailController` with SHA256 signature-based
|
||||
loop detection, idempotent vs mutating tool classification, configurable warn/block/halt thresholds
|
||||
- **OpenCode** (anomalyco) — doom_loop detection, explicit "avoid bash for find/grep/cat" prompt,
|
||||
parallel bash call guidance built into tool descriptions
|
||||
- **Ruflo** (ruvnet) — parallel data extraction with deduplication
|
||||
|
||||
**Before (v2.0.1):** 47 tool turns, ~5 min, 87% bash, 27 turns ghost chasing wrong directory
|
||||
**After (v2.0.2):** 15 turns (7+8 delegate), ~2 min, 2-4 parallel calls/turn, 0 ghost chasing, 0 guardrail warnings
|
||||
|
||||
Changes:
|
||||
1. **Hermes-style ToolCallGuardrailController** (`src/bot/session-state.js`)
|
||||
- `beforeCall()` / `afterCall()` lifecycle (from Hermes `ToolCallGuardrailController`)
|
||||
- SHA256 signature-based exact failure detection (from Hermes `ToolCallSignature`)
|
||||
- Idempotent vs mutating tool classification (from Hermes `IDEMPOTENT_TOOL_NAMES`)
|
||||
- Same-tool failure storm detection (warn after 3, halt after 8)
|
||||
- Idempotent no-progress detection (warn when same result returned 2x, block after 5x)
|
||||
- Automatic failure classification from tool results (from Hermes `classify_tool_failure`)
|
||||
2. **OpenCode-style tool selection guidance** (`src/bot/index.js` system prompt)
|
||||
- Explicit "avoid bash with find/grep/cat/head/tail/sed/awk" (from OpenCode `shell/prompt.ts`)
|
||||
- "Use glob NOT find, use grep NOT grep, use file_read NOT cat" (from OpenCode)
|
||||
- Parallel bash calls in single message (from OpenCode tool description)
|
||||
3. **Parallel tool execution** — `Promise.all()` for independent calls (from Cursor)
|
||||
4. **Planning nudge injection** — Pre-planning message before AI starts
|
||||
5. **Bash tool marked as LAST RESORT** — with alternative tools listed in description
|
||||
6. **Full Hermes guardrail integration in tool execution loop** — beforeCall checks,
|
||||
afterCall failure tracking, guidance appended to results
|
||||
|
||||
### 📄 Files Changed
|
||||
- `src/bot/session-state.js` — Complete rewrite with Hermes guardrail controller (+200 lines)
|
||||
- `src/bot/index.js` — Parallel tool execution, system prompt overhaul, bash tool guidance (+160 lines)
|
||||
- `CHANGELOG.md` — Updated with full v2.0.2 details
|
||||
- `README.md` — Updated header with v2.0.2 summary
|
||||
|
||||
---
|
||||
|
||||
## [2.0.1] - 2026-05-06
|
||||
|
||||
### 🐛 Fixed
|
||||
@@ -73,41 +117,6 @@ visually rich, well-structured Telegram messages:
|
||||
---
|
||||
|
||||
## [2.0.0] - 2026-05-06
|
||||
### ⚡ Performance
|
||||
|
||||
#### Agentic Task Execution — Hermes / OpenCode / Ruflo Inspired
|
||||
|
||||
Re-engineered the tool execution pipeline by studying three major open-source projects:
|
||||
|
||||
**Sources studied:**
|
||||
- **Hermes Agent** (NousResearch) — `ToolCallGuardrailController` with SHA256 signature-based
|
||||
loop detection, idempotent vs mutating tool classification, configurable warn/block/halt thresholds
|
||||
- **OpenCode** (anomalyco) — doom_loop detection, explicit "avoid bash for find/grep/cat" prompt,
|
||||
parallel bash call guidance built into tool descriptions
|
||||
- **Ruflo** (ruvnet) — parallel data extraction with deduplication
|
||||
|
||||
**Before (v2.0.1):** 47 tool turns, ~5 min, 87% bash, 27 turns ghost chasing wrong directory
|
||||
**After (v2.0.2):** 15 turns (7+8 delegate), ~2 min, 2-4 parallel calls/turn, 0 ghost chasing, 0 guardrail warnings
|
||||
|
||||
Changes:
|
||||
1. **Hermes-style ToolCallGuardrailController** (session-state.js)
|
||||
- `beforeCall()` / `afterCall()` lifecycle (from Hermes `ToolCallGuardrailController`)
|
||||
- SHA256 signature-based exact failure detection (from Hermes `ToolCallSignature`)
|
||||
- Idempotent vs mutating tool classification (from Hermes `IDEMPOTENT_TOOL_NAMES`)
|
||||
- Same-tool failure storm detection (warn after 3, halt after 8)
|
||||
- Idempotent no-progress detection (warn when same result returned 2x, block after 5x)
|
||||
- Automatic failure classification from tool results (from Hermes `classify_tool_failure`)
|
||||
2. **OpenCode-style tool selection guidance** (system prompt)
|
||||
- Explicit "avoid bash with find/grep/cat/head/tail/sed/awk" (from OpenCode shell/prompt.ts)
|
||||
- "Use glob NOT find, use grep NOT grep, use file_read NOT cat" (from OpenCode)
|
||||
- Parallel bash calls in single message (from OpenCode tool description)
|
||||
3. **Parallel tool execution** — `Promise.all()` for independent calls (from Cursor)
|
||||
4. **Planning nudge injection** — Pre-planning message before AI starts
|
||||
5. **Bash tool marked as LAST RESORT** — with alternative tools listed in description
|
||||
6. **Full Hermes guardrail integration in tool execution loop** — beforeCall checks,
|
||||
afterCall failure tracking, guidance appended to results
|
||||
|
||||
|
||||
### 🎉 Major Release - Ruflo Integration Complete
|
||||
|
||||
Complete integration of Ruflo's multi-agent orchestration system with comprehensive documentation update.
|
||||
|
||||
Reference in New Issue
Block a user