VQ Agent Core
An open-source agent framework using a three-layer locked loop architecture of THINK → ACT → DECIDE → THINK, separating the responsibilities of thinking, acting, and deciding into distinct layers. It emphasizes auditable execution traces and an honest degradation mechanism.
Timeline (last 90 days)
VQ Agent Core adopts the locked-loop architecture of THINK → ACT → DECIDE → THINK, splitting agent responsibilities into three layers.
The ACT layer of VQ Agent Core is handled by needle_router.py, which underneath uses grammar-constrained function calling of Needle 2 (cactus-needle==2.0.15).
VQ Agent Core calls _decide_gate() to enter the DECIDE layer when the routing confidence is below router.confidence_threshold in config.yaml (default 0.7) or the request is ambiguous.
VQ Agent Core writes each run's events to a runs/run-<timestamp>.jsonl file, one file per run, forming a complete audit trail.
In the THINK layer of VQ Agent Core, when no local model is available, understand() returns the original request with a via="skipped" marker rather than hiding the situation, and compose() returns a factual structured summary without fabricating content.
The DECIDE layer of VQ Agent Core is implemented by the deciders.py factory, selected via the decider key in config.yaml (jev | local | auto), and contains four backends: Jev, Strands Decider 2B, Laya, and a prompt-based local LLM.
The should_escalate() mechanism of VQ Agent Core hands control to a human rather than forcing an answer when the automatic decision backend is unavailable or returns a high probability.
The four DECIDE backends of VQ Agent Core expose the same interface: decide(), classify_reply(), score_lead(), should_escalate(), so switching backends only requires changing a configuration value without modifying the calling code.
The Needle 2 of VQ Agent Core runs in-process via ctypes on desktop, or connects over HTTP to the serve mode of the needle CLI binary, which is also used for Termux/Android deployments.
VQ Agent Core currently has no UI and no hosted service, and the local DECIDE backend requires a PC-class machine; it is a usable foundation rather than a finished product.
1 more timeline events
All Facts (11)
VQ Agent Core adopts the locked-loop architecture of THINK → ACT → DECIDE → THINK, splitting agent responsibilities into three layers.
50%UnverifiedThe ACT layer of VQ Agent Core is handled by needle_router.py, which underneath uses grammar-constrained function calling of Needle 2 (cactus-needle==2.0.15).
50%UnverifiedVQ Agent Core calls _decide_gate() to enter the DECIDE layer when the routing confidence is below router.confidence_threshold in config.yaml (default 0.7) or the request is ambiguous.
50%UnverifiedVQ Agent Core writes each run's events to a runs/run-<timestamp>.jsonl file, one file per run, forming a complete audit trail.
50%UnverifiedIn the THINK layer of VQ Agent Core, when no local model is available, understand() returns the original request with a via="skipped" marker rather than hiding the situation, and compose() returns a factual structured summary without fabricating content.
50%UnverifiedThe DECIDE layer of VQ Agent Core is implemented by the deciders.py factory, selected via the decider key in config.yaml (jev | local | auto), and contains four backends: Jev, Strands Decider 2B, Laya, and a prompt-based local LLM.
50%UnverifiedThe should_escalate() mechanism of VQ Agent Core hands control to a human rather than forcing an answer when the automatic decision backend is unavailable or returns a high probability.
50%UnverifiedThe four DECIDE backends of VQ Agent Core expose the same interface: decide(), classify_reply(), score_lead(), should_escalate(), so switching backends only requires changing a configuration value without modifying the calling code.
50%UnverifiedThe Needle 2 of VQ Agent Core runs in-process via ctypes on desktop, or connects over HTTP to the serve mode of the needle CLI binary, which is also used for Termux/Android deployments.
50%UnverifiedVQ Agent Core currently has no UI and no hosted service, and the local DECIDE backend requires a PC-class machine; it is a usable foundation rather than a finished product.
50%UnverifiedThe VQ Agent Core repository is at https://github.com/Shivay00001/vq-agent-core and contains test files such as test_agent.py and test_strands_backend.py as well as dated engineering notes.
50%