Skip to content

feat: HookResult::Abort + BehaviorGuard + bee-colony stop hook framework - #1612

Closed
1688mengdie wants to merge 4 commits into
GCWing:mainfrom
1688mengdie:pr/hook-framework
Closed

feat: HookResult::Abort + BehaviorGuard + bee-colony stop hook framework#1612
1688mengdie wants to merge 4 commits into
GCWing:mainfrom
1688mengdie:pr/hook-framework

Conversation

@1688mengdie

Copy link
Copy Markdown

Summary

Extend the hook framework with Abort capability, behavior guard, and per-round bee-colony stop hook infrastructure.

Changes

  • HookResult::Abort: New enum variant to interrupt tool execution with reason and fix instructions
  • BehaviorGuard: Default trait method detecting stale same-tool calls (threshold 3)
  • STALE_TRACKER: Global mutex-based same-tool-call detection with last_target field
  • Stop hook framework: B01/C01 dual-bee round-level monitoring with REVIEW_BUFFER
  • Context accumulation fix: Review results replace previous messages instead of accumulating

Verification

  • cargo check -p bitfun-desktop
  • HookResult::Abort compiles in tool execution pipeline
  • Context no longer accumulates indefinitely

BitFun Research added 3 commits July 18, 2026 15:56
… mode

## Feature (62cc648)
- HookResult::Abort enum + BehaviorGuard + StopHook framework
- FILE_READ_TRACKER: per-session file read recording
- REVIEW_BUFFER: cc-haha pattern LLM review result buffer
- Bee-colony review: async LLM review via std::thread::spawn per round
- Review dimensions: clerk (context guard) + inspector (behavior) + tip-bee (skills)

## Post-merge fix — downgrade ABORT to WARN-only
Root cause: bee-review blocked all LionHeart reads and PS/Chinese/JSON
commands, causing infinite abort loop and frozen message sending.

- execution_engine.rs: prompt 5 ABORT rules -> WARN, forbid ABORT output
- post_call_hooks.rs (assembly): ABORT result downgraded to WARN
- post_call_hooks.rs (agent-runtime): C01 behavior_guard Abort ->
  additional_contexts instead of aggregated.abort
- tool_context_runtime.rs: HookResult::Abort -> warn log only,
  tool result passes through unmodified

Design: bee-review has reminder-only permission — zero interception.
1688mengdie pushed a commit to 1688mengdie/BitFun that referenced this pull request Jul 20, 2026
… mode

Original (62cc648):
- Added HookResult::Abort enum + BehaviorGuard + StopHook framework
- FILE_READ_TRACKER: per-session file read recording
- REVIEW_BUFFER: cc-haha pattern LLM review result buffer
- Bee-review: async LLM review via std::thread::spawn after each tool round
- Review dimensions: clerk (context guard) + inspector (behavior guard) + tip-bee (skill recommender)

Fix — downgrade all ABORT to WARN-only:

- execution_engine.rs: 5 ABORT rules changed to WARN in prompt,
  forbid ABORT output, interception injection changed to [review reminder] context
- post_call_hooks.rs (assembly): bee-review ABORT result downgraded to WARN
- post_call_hooks.rs (agent-runtime): C01 behavior_guard Abort
  changed to additional_contexts instead of aggregated.abort
- tool_context_runtime.rs: HookResult::Abort changed to warn log only,
  tool result passes through unmodified

Root cause:
Original prompt "touched LionHeart library -> ABORT" conflicted with
master-framework requiring LionHeart file reads. "PS/Chinese/JSON -> ABORT"
blocked all PowerShell commands. Result: infinite ABORT loop, messages frozen.

Design:
Bee-review has reminder-only permission: tip-bee recommends skills,
clerk guards context, inspector issues WARN. Zero interception.
@1688mengdie
1688mengdie deleted the pr/hook-framework branch July 20, 2026 01:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant