mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-09-17 23:51:08 +00:00
3.7 KiB
3.7 KiB
Phase 1: The Handshake (Reasoning Loop Implementation)
1. Executive Summary
The objective is to move beyond text-based version control by implementing a Deterministic Hook System.
This system enforces a "Plan-First" workflow where AI agents must formally declare their Intent before mutating the codebase.
2. Nervous System & Interception Points
Based on the codebase audit, the following functions represent the "Strategic High Ground" for hook injection:
A. The "Reasoning Loop" (Prompt Construction)
- Location:
src/core/prompts/ - Function: Handles the assembly of system instructions and tool definitions.
- Injection Strategy: Modify the SystemPrompt generator to include the mandatory
select_active_intenttool and instructions that forbid file writes without an active session intent.
B. The "Pre-Hook" (Command Execution)
- Location:
src/integrations/terminal/TerminalManager.tsandsrc/services/EditorService.ts - Function:
executeCommand()andopenFile() - Injection Strategy: Intercept calls before they reach the terminal or editor. If the agent attempts a structural change (e.g.,
npm installorrm), the Pre-Hook validates the action against theowned_scopedefined in.orchestration/active_intents.yaml.
C. The "Post-Hook" (File Mutations)
- Location:
src/core/webview/DiffViewProvider.tsandsrc/services/RelayService.ts - Function:
writeFile()andapplyDiff() - Injection Strategy: Intercept immediately after a successful write. This hook triggers the Content Hashing engine to generate a spatial fingerprint of the change, appending the metadata to the
.orchestration/agent_trace.jsonlledger.
3. The Two-Stage State Machine
To eliminate "Vibe Coding," the execution flow is re-architected into a strict handshake:
| State | Entity | Action |
|---|---|---|
| 1. Request | User | "Refactor the auth middleware." |
| 2. Intent Handshake | Agent | Calls select_active_intent("INT-001"). |
| 3. Validation | Pre-Hook | Pauses loop. Queries .orchestration/. Injects constraints (e.g., "Use JWT, not Session"). |
| 4. Contextual Action | Agent | Generates code with injected constraints. Calls write_file. |
| 5. Trace Logging | Post-Hook | Calculates sha256 hash. Updates agent_trace.jsonl. |
4. Logical Architecture Diagram
User Prompt → Extension Host → Pre-Hook (Intent Validation) → LLM → Post-Hook (Trace Logging) → File System
5. Data Model Specification
The following machine-managed files in .orchestration/ act as the "Source of Truth" for AI governance:
- active_intents.yaml: The "Why." Defines scope, constraints, and Definition of Done (DoD).
- agent_trace.jsonl: The "How." An append-only ledger linking Intent IDs to specific Code Hashes.
- intent_map.md: The "Where." A spatial map linking business logic to AST nodes and files.
- AGENT.md: The "Memory." Shared architectural decisions and lessons learned across agent sessions.
6. Phase 1 Implementation Goals
- Initialize Sidecar: Automatically generate the
.orchestration/directory on extension activation. - Tool Injection: Register
select_active_intentas a core capability. - Strict Middleware: Implement logic that blocks
write_fileifcurrent_session_intentis null.