Qrane (Controlling the Qrew of worQers)
Qrane acts as the orchestrator for the entire QonQrete system. It manages the execution of various “worQer” agents in a cyclical fashion.
How it works
1. Initialization:
- Parses command-line arguments (
--auto,--user,--tui,--wonqrete,--mode,--briq-sensitivity) - Determines whether to run in autonomous or user-gated mode based on arguments and
config.yaml - Sets up the
QONQ_MODEandQONQ_SENSITIVITYenvironment variables - Checks for required API keys based on configured providers
- Initializes the
PathManagerto handle file paths within theworqspace - Optionally runs with a Text User Interface (TUI) if
--tuiis provided
2. WorQspace Seeding & Warmup (Initial Dual-Core):
- If
qodeyard_diris not empty, it initiates a “warmup” phase - Qompressor Warmup (Structural): If enabled, generates “skeletons” (structural summaries)
- Qontextor Warmup (Semantic): If enabled, runs semantic indexing for the code
3. Cyclical Agent Execution:
- Enters a loop, representing “cycles” of operation
- Reads
pipeline_config.yamlto determine the sequence of agents - For each agent in the pipeline:
- Constructs the command to execute the agent’s Python script
- Handles dynamic local agent loading
- Manages input and output paths with templates like
{N}for cycle numbers - Executes the agent using
subprocess.Popen - Logs agent output with keyword highlighting
- Handles agent failures
4. Cheqpoint (User Interaction/Review):
- After each cycle, presents a “cheqpoint” where the gateQeeper can review the reQap
- User can choose to: Qontinue, TweaQ (Edit), or XQuit
- In autonomous mode, it automatically continues
5. ReQap Promotion:
- The reQap from the current cycle becomes the
tasq.mdfor the next cycle - This enables iterative development through successive cycles
What’s configurable
config.yaml:
options.cheqpoint(boolean): Default user-gated mode settingoptions.auto_cycle_limit(integer): Max cycles in autonomous mode- Agent-specific provider and model settings
use_qompressoranduse_qontextortoggles
Command-line arguments:
-a/--auto: Force autonomous mode-u/--user: Force user-gated mode--tui: Enable Text User Interface--mode: Set operational mode (e.g., ‘enterprise’, ‘security’)--briq-sensitivity: Set task breakdown granularity (0-9)