QonQrete Release Notes


[v1.0.0-stable] - 2025-12-30

πŸŽ‰ PRODUCTION RELEASE!

After months of intensive development and 90 validation runs across the WoNQ Matrix testing framework, QonQrete v1.0.0-stable is ready for prime time!


πŸ”₯ Bulletproof Language Detection

The Problem: When using OpenAI as the AI provider, code blocks like ```py would create files named β€œpy” instead of being skipped.

The Fix: The language_keywords set expanded from 23 entries to 400+ entries, covering:

CategoryCount
Python variants25+
JavaScript/TypeScript40+
Infrastructure-as-Code30+
All GitHub Linguist IDs300+
Generic markers20+

Provider Compatibility:

ProviderStatus
OpenAI GPT-4/GPT-4oβœ… NOW BULLETPROOF
Google Geminiβœ… BULLETPROOF
Anthropic Claudeβœ… BULLETPROOF
DeepSeek Coderβœ… NOW BULLETPROOF
Qwen/Qwen2.5-Coderβœ… NOW BULLETPROOF

🎯 Enforced Briq Sensitivity

The Problem: Previously, briq_sensitivity was just a β€œhint” to the AI, resulting in wildly inconsistent outputs.

The Fix: Briq counts are now ENFORCED with hard min/max ranges:

BRIQ_RANGES = {
    9: (1, 1, 1),      # Monolithic: exactly 1 briq
    8: (2, 3, 2),      # Very Broad: 2-3 briqs
    7: (3, 5, 4),      # Broad: 3-5 briqs (RECOMMENDED)
    6: (5, 8, 6),      # Feature-level: 5-8 briqs
    5: (8, 12, 10),    # Component-level: 8-12 briqs
    4: (10, 15, 12),   # Balanced: 10-15 briqs
    3: (15, 20, 18),   # Standard: 15-20 briqs
    2: (20, 30, 25),   # High Granularity: 20-30 briqs
    1: (30, 40, 35),   # Very High: 30-40 briqs
    0: (40, 60, 50),   # Atomic: 40-60 briqs
}

Enforcement Logic:

  1. AI generates briqs with MANDATORY count prompt
  2. System checks if count is within range
  3. If too few β†’ Retry with stronger prompt (up to 2 retries)
  4. If too many β†’ Merge consecutive briqs to meet max

πŸ†• New CLI Features

# Override cycle count directly
./qonqrete.sh run -c 6

# Combine with sensitivity
./qonqrete.sh run -b 5 -c 6

βš™οΈ Configuration Changes

Settingv0.9.9-betav1.0.0-stableReason
briq_sensitivity default57More consistent results
auto_cycle_limit default04Enough iterations for polish

πŸ§ͺ WoNQ Matrix Validation

90 validation runs confirming production readiness:

╔═══════════════════════════════════════════════════════════════╗
β•‘                 WoNQ MATRIX RESULTS                           β•‘
╠═══════════════════════════════════════════════════════════════╣
β•‘ Total Runs:           90 (100% coverage)                      β•‘
β•‘ Clean Completions:    90 (100% success)                       β•‘
β•‘ Champion Score:       658 (sensitivity=3, cycle=7)            β•‘
β•‘ Global Average:       554                                     β•‘
β•‘ Scores β‰₯600:          35.6%                                   β•‘
β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•

πŸ“Š Diff Summary

FileLines ChangedChange Type
worqer/construqtor.py+387πŸ”₯ MAJOR - Language detection overhaul
worqer/instruqtor.py+145πŸ”₯ MAJOR - Enforced briq ranges
qrane/qrane.py+4Minor - CLI args & defaults

Total: +536 lines of production hardening


[v0.9.9-beta] - 2025-12-27

🎯 Summary

Final stabilization release before v1.0.0. Fixes critical bugs discovered during multi-cycle autonomous builds, cleans up console output, and removes broken dependencies.


🎨 Cleaner Console Output

Your terminal just got a whole lot quieter. Filtered out the noise:

What you’ll see now:

γ€˜aQQγ€™γ€ŽtasQlevelerγ€βΈŽ [TasqLeveler] βœ… Enhanced tasq: 180 lines
γ€˜aQQγ€™γ€ŽinspeQtor』  ⸎ === InspeQtor v0.9.0 Complete: [SUCCESS] ===

What’s now hidden:

  • Verbose markdown headers (## πŸ“‹ Overview)
  • Table dividers (|-----|------|)
  • Individual batch progress
  • pycg warnings

πŸ› Bug Fixes

v0.9.8 (included)

IssueRoot CauseFix
Skeleton overwrites codeAI copies bloq.d skeletons back to qodeyardDetect (body stripped by Qompressor) markers, skip write
Exit code 1 after inspeqtorloqal_verifier runs twiceRemove standalone from pipeline_config.yaml

v0.9.9

IssueRoot CauseFix
pycg warnings spamPackage broken on PyPIRemoved from requirements.txt, silent fallback
Verbose console outputTasqLeveler/InspeQtor noiseAdded filters for markdown headers, table dividers

πŸ”§ Dependency Cleanup

Removed pycg from requirements. The package is broken on PyPI (module name mismatch: installs as PyCG, but imports pycg).

Good news: You’re not losing functionality! Dependency analysis is handled by Jedi, which was doing the heavy lifting all along.


βœ… Verified Features

FeatureStatus
Multi-cycle autonomous buildsβœ…
Universal File Ruleβœ…
Skeleton protectionβœ…
Cycle continuityβœ…
Clean console outputβœ…
All local agents workingβœ…

πŸ“ Files Changed

  • worqer/construqtor.py - Skeleton detection before write
  • worqer/qontextor.py - Removed broken pycg, uses jedi only
  • worqer/inspeqtor.py - Internal LoQal verification (Stage 3)
  • worqspace/pipeline_config.yaml - Removed standalone loqal_verifier
  • qrane/qrane.py - Updated VISIBLE_KEYWORDS, BLOCKED_KEYWORDS, CONTENT_FILTER_PATTERNS
  • requirements.txt - Removed pycg

[v0.9.0-beta] - 2025-12-23

πŸš€ TasqLeveler Agent - Automatic Tasq Enhancement

The Big Idea: A well-structured tasq.md = dramatically better output quality. So why not let AI enhance your tasq automatically?

TasqLeveler is a new agent that runs ONCE on Cycle 1, BEFORE InstruQtor. It supercharges your tasq.md with:

EnhancementWhat It AddsImpact
πŸ“¦ Dependency GraphExplicit β€œwhat can import what” structurePrevents circular imports
🎯 Golden Path TestsCode that MUST work after each moduleDefines success explicitly
πŸ§ͺ Mock InfrastructureMock servers for testing integrationsTest without real services
πŸ“‹ Success CriteriaGlobal β€œwhat does SUCCESS mean”Clear pass/fail criteria
⏱️ Phase PriorityWhat to focus on if running lowBetter token allocation
πŸ”— Base ClassesAbstract bases for similar modulesConsistent interfaces

Example Enhancement:

# BEFORE (basic tasq)
## Phase 6: C2 Integrations
### 6.1 Sliver Client
Create src/c2/sliver_client.py with connection handling.

# AFTER (TasqLeveler enhanced)
## Phase 6: C2 Integrations
### 6.1 Sliver Client
Create src/c2/sliver_client.py with connection handling.

**MUST inherit from BaseC2Client!**

🎯 Golden Path Test:
from src.c2.sliver_client import SliverClient
from src.c2.base_client import BaseC2Client

assert issubclass(SliverClient, BaseC2Client)
client = SliverClient(config={'config_path': 'test.cfg'})
assert hasattr(client, 'connect')
assert hasattr(client, 'get_sessions')

How It Works:

  1. TasqLeveler reads your original tasq.md
  2. Analyzes project structure and requirements
  3. Calls AI to enhance with golden paths, mocks, etc.
  4. Backs up original as tasq_original.md
  5. Writes enhanced version back
  6. InstruQtor then uses the enhanced tasq

Configuration:

# config.yaml
agents:
  tasqleveler:
    provider: openai
    model: gpt-4.1-mini  # Or use instruqtor's config

Pipeline Integration:

# pipeline_config.yaml
agents:
  - name: tasqleveler
    script: tasqleveler.py
    input: "tasq.d/cyqle{N}_tasq.md"
    output: "tasq.d/cyqle{N}_tasq.md"
    cycle_1_only: true  # Only runs on Cycle 1

Impact on Output Quality:

MetricWithout TasqLevelerWith TasqLeveler
Imports resolve85%95%
Classes instantiate80%95%
Tests pass60%80%
Fully functional65%75-80%

πŸ”§ Universal File Rule (s00permode)

The Problem: Previous β€œrefinement mode” approach was too restrictive - it artificially limited what cycles 2+ could do, potentially blocking legitimate new file creation.

The Solution: Removed all mode-based logic. Replaced with ONE simple universal rule that applies to ALL cycles:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
πŸ“‹ UNIVERSAL FILE RULE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

πŸ“ File EXISTS in qodeyard?
   β†’ MODIFY it (fix bugs, improve implementation)
   β†’ EXTEND it (add new functions, classes, features)
   β†’ NEVER recreate it from scratch

πŸ“„ File DOESN'T EXIST yet?
   β†’ CREATE it (new modules are welcome!)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Why This is Better:

  • βœ… No artificial β€œmodes” that restrict creativity
  • βœ… Full freedom to create new files on ANY cycle
  • βœ… Prevents rebuild-from-scratch bug (the actual problem)
  • βœ… Simple rule that’s easy for AI to follow
  • βœ… Works naturally for complex multi-cycle builds

What Changed:

  • Removed is_refinement_cycle logic entirely
  • Removed mode-based directive switching
  • Added Universal File Rule to ALL InstruQtor prompts
  • Added qodeyard file count display for context

Examples of Valid Briqs (any cycle):

βœ… "Implement HavocClient RPC methods in src/c2/havoc_client.py" (MODIFY)
βœ… "Add geofencing module at src/safety/geofencing.py" (CREATE new)
βœ… "Fix syntax error in src/traffic/dga.py" (MODIFY)
βœ… "Add unit tests for orchestration" (CREATE new test files)

Examples of Invalid Briqs (any cycle, if file exists):

❌ "Setup project root and create main.py" (main.py EXISTS)
❌ "Create the configuration system" (config.yaml EXISTS)
❌ "Initialize the C2 client base class" (base_client.py EXISTS)

πŸ› Original Fix: Prevent Rebuild-from-Scratch Bug

The Bug: When a cycle was marked [FAILURE] or [PARTIAL], InstruQtor would interpret this as β€œstart from scratch” instead of β€œiterate on existing code”. This caused cycle 3+ to recreate the entire project scaffolding.

Evidence from production build:

CyQle 1: briq000_setup_project_root_and_gitignore  ← Initial build βœ…
CyQle 2: briq000_implement_havoc_client_rpc_logic  ← Refinement βœ…
CyQle 3: briq000_setup_project_directory_and_core  ← REBUILDING! ❌

Impact: Multi-cycle builds now properly iterate while maintaining full creative freedom.

πŸ§ͺ Battle-Tested: 7-Cycle Autonomous Build

v0.9.0-beta was validated with a 7-cycle autonomous build:

MetricResult
Total Cycles7
Total Briqs137 (37β†’25β†’21β†’17β†’11β†’13β†’13)
Python Files80
Total LOC~15,000
LoQal Pass Rate160/160 (100%)
Est. Total Cost~$1.50

[v0.8.8-beta] - 2025-12-23

βœ… Confirmed: Batched Reviews Working Perfectly!

Deep analysis of v0.8.7 production run (28 briqs, 7 cyQles) confirmed:

  • Zero [UNKNOWN] assessments - batch parsing working correctly
  • All [FAILURE] results are real AI assessments, not parse failures
  • Retry mechanism working - briq027 failed once (Gemini API error), succeeded on attempt 2
  • Cost efficiency achieved - 28 briqs reviewed in 3 batches for ~$0.01 total

πŸ”§ LoQal Verifier Display Fix

Problem: β€œRunning local validation…” was showing under construQtor in the event log, but it’s conceptually part of inspeQtor’s LoQal Verification stage.

Fix: Changed display to use [LoQal] prefix for clearer attribution:

# Before (v0.8.7):
γ€˜aQQγ€™γ€ŽconstruQtorγ€βΈŽ - Running local validation...

# After (v0.8.8):
γ€˜aQQγ€™γ€ŽconstruQtorγ€βΈŽ      [LoQal] Running validation...
γ€˜aQQγ€™γ€ŽconstruQtorγ€βΈŽ      [LoQal] βœ… Passed

Also shows clear status indicators:

  • [LoQal] βœ… Passed - validation succeeded
  • [LoQal] ⚠️ Import warnings: N - warnings found
  • [LoQal] ❌ Syntax errors found: - errors found

🎯 Default Config Updates

Updated config.yaml with production-ready defaults:

agents:
  instruqtor:
    provider: gemini
    model: gemini-2.5-flash-lite    # $0.10/$0.40 - planning
  
  construqtor:
    provider: gemini
    model: gemini-2.5-pro           # $1.25/$10.00 - code generation (UPGRADED)
  
  inspeqtor:
    provider: gemini
    model: gemini-2.5-flash-lite    # $0.10/$0.40 - batched reviews

options:
  briq_sensitivity: 3
  auto_cycle_limit: 7
  mode: program
  cheqpoint: false

πŸ“Š Understanding Batch Results

The batch results show real AI assessments, not system errors:

Batch 1/3: 12 briqs β†’ βœ…0 ⚠️1 ❌11   # AI found 11 incomplete briqs
Batch 2/3: 12 briqs β†’ βœ…0 ⚠️0 ❌12   # AI found 12 incomplete briqs
Batch 3/3: 4 briqs  β†’ βœ…3 ⚠️1 ❌0    # 3 complete, 1 partial

This is expected behavior for cycle 1 of a multi-cycle build - the AI is correctly identifying that most code is incomplete. Subsequent cycles will fill in the gaps.

πŸ”§ Changes

  • construqtor.py: Changed β€œRunning local validation…” to β€œ[LoQal] Running validation…” with status indicators
  • qrane.py: Added [LoQal] to VISIBLE_KEYWORDS for display filter
  • config.yaml: Updated construQtor to gemini-2.5-pro, added production defaults
  • All agents now use Gemini provider for consistency

πŸ’° Expected Costs (7 cyQles Γ— ~20 briqs each)

AgentModelEst. Cost
InstruQtorflash-lite~$0.10
ConstruQtorpro~$3.50
InspeQtorflash-lite (batched)~$0.15
TOTAL~$4.00

Compare to v0.8.5 unbatched with GPT-4.1: $100+ πŸ’Έ


[v0.8.7-beta] - 2025-12-23

πŸ› Bug Fix: Display Filter Was Completely Broken

Problem: ConstruQtor and InspeQtor status messages weren’t showing in the event log at all:

# What v0.8.6 showed (missing everything!):
γ€˜aQQγ€™γ€ŽconstruQtorγ€βΈŽ Per-briq exeQ summaries written to: exeq.d/cyqle1/

# What was missing:
--- ConstruQtor v0.8.7: Processing 1 Briqs (Interleaved) ---
-- Processing Briq: cyqle1_tasq1_briq000_setup_project.md --
     - Wrote [Code] main.py
-- Briq Complete: ... [βœ… SUCCESS] (attempts: 1) --

Root Cause: The is_content_line() function was being called BEFORE checking VISIBLE_KEYWORDS, and it was matching patterns in legitimate status lines.

Fix: Complete rewrite of display filter logic:

  1. Check VISIBLE_KEYWORDS FIRST - if found, display immediately (unless blocked)
  2. Only apply content filtering to lines WITHOUT visible keywords
  3. Removed is_content_line() from the visible keyword path entirely
  4. Added more explicit patterns to match all status message formats

✨ Expected Output Now

γ€˜aQQγ€™γ€ŽconstruQtorγ€βΈŽ --- ConstruQtor v0.8.7: Processing 5 Briqs (Interleaved) ---
γ€˜aQQγ€™γ€ŽconstruQtorγ€βΈŽ -- Processing Briq: cyqle1_tasq1_briq000_setup.md --
γ€˜aQQγ€™γ€ŽconstruQtorγ€βΈŽ - Wrote [Code] main.py
γ€˜aQQγ€™γ€ŽconstruQtorγ€βΈŽ - Wrote [Code] config.yaml
γ€˜aQQγ€™γ€ŽconstruQtorγ€βΈŽ -- Briq Complete: ... [βœ… SUCCESS] (attempts: 1) --
γ€˜aQQγ€™γ€ŽconstruQtorγ€βΈŽ -- Processing Briq: cyqle1_tasq1_briq001_logging.md --
...
γ€˜aQQγ€™γ€ŽinspeQtor』  ⸎ --- InspeQtor: Reviewing 5 briqs in 1 batches ---
γ€˜aQQγ€™γ€ŽinspeQtor』  ⸎ -- Batch 1/1: 5 briqs --
γ€˜aQQγ€™γ€ŽinspeQtor』  ⸎    Estimated batch cost: $0.00024
γ€˜aQQγ€™γ€ŽinspeQtor』  ⸎    Batch results: βœ…5 ⚠️0 ❌0
γ€˜aQQγ€™γ€ŽinspeQtor』  ⸎ --- Reviews complete: 5 briqs, estimated $0.00024 total ---
γ€˜aQQγ€™γ€ŽinspeQtor』  ⸎ === Final Assessment: [SUCCESS] ===

πŸ”§ Changes

  • qrane/qrane.py: Rewrote should_display() with simpler priority logic
  • Removed is_content_line() from display path for visible keyword lines
  • Added explicit VISIBLE_KEYWORDS patterns for ALL status message formats:
    • "--- ConstruQtor", "-- Processing Briq:", "- Wrote [Code]", "-- Briq Complete:"
    • "--- InspeQtor:", "-- Batch ", "Batch results:", "--- Reviews complete:"
    • "[SUCCESS]", "[FAILURE]", "[PARTIAL]", "attempts:"
  • Reduced BLOCKED_KEYWORDS to only AI review content noise

[v0.8.6-beta] - 2025-12-23

πŸš€ Major: Batched Reviews (90% Fewer API Calls!)

The Problem: v0.8.5 with per-briq reviews made 77+ API calls per cycle, burning $16+ with GPT-4.1.

The Solution: Batched reviews group multiple briqs into single API calls.

BriqsOld API CallsNew API CallsSavings
2020~385%
5050~688%
7777~890%

πŸ’° New Default: Gemini 2.5 Flash-Lite

All agents now default to gemini-2.5-flash-lite ($0.10/$0.40 per 1M tokens):

AgentOld ModelNew ModelCost Reduction
InstruQtorgpt-4.1-minigemini-2.5-flash-lite75%
InspeQtorgpt-4.1gemini-2.5-flash-lite95%
ConstruQtorgemini-2.5-progemini-2.5-flashunchanged

Why Flash-Lite?

  • Same price as GPT-4.1-nano ($0.10/$0.40)
  • Newer model (2.5 series) with better quality
  • 1M token context window (perfect for batched reviews!)
  • More than smart enough for planning and reviewing

✨ New Configuration Options

agents:
  inspeqtor:
    # BATCHED REVIEW MODE (v0.8.6+)
    batch_mode: true           # Enable batched reviews (default: true)
    batch_token_roof: 60000    # Max input tokens per batch
    batch_max_briqs: 12        # Max briqs per batch

πŸ“Š Cost Comparison (77 briqs)

ConfigurationEst. Cost/Cycle
v0.8.5 + gpt-4.1$16.00
v0.8.5 + gpt-4.1-mini$3.20
v0.8.6 + batched + flash-lite$0.15

That’s a 99% cost reduction from the default v0.8.5 config!

πŸ”§ Changes

  • inspeqtor.py: Added batched review system with group_briqs_into_batches(), build_batched_review_prompt(), parse_batched_response()
  • lib_funqtions.py: Updated pricing table with correct Gemini rates
  • config.yaml: New defaults for all agents, added batch_mode, batch_token_roof, batch_max_briqs
  • Display filter: Continues to suppress per-briq noise (from v0.8.5)

πŸ“‹ Expected Output

inspeQtor  ⸎ --- InspeQtor: Reviewing 77 briqs in 8 batches (cyQle 1) ---
inspeQtor  ⸎ -- Batch 1/8: 12 briqs --
inspeQtor  ⸎    Estimated batch cost: $0.00234
inspeQtor  ⸎    Batch results: βœ…10 ⚠️2 ❌0
inspeQtor  ⸎ -- Batch 2/8: 12 briqs --
...
inspeQtor  ⸎ --- Reviews complete: 77 briqs, estimated $0.15 total ---

βš™οΈ Disabling Batch Mode

If you prefer per-briq reviews (legacy mode):

agents:
  inspeqtor:
    batch_mode: false

[v0.8.5-beta] - 2025-12-23

🚨 TOKEN BURN FIX - CRITICAL

Problem Identified: Running InspeQtor with gpt-4.1 (not mini) on 77 briqs Γ— 2 stages = ~154 AI calls burned ~$25 in a single run.

Root Cause: InspeQtor was configured with gpt-4.1 ($2.00/$8.00 per 1M tokens) instead of gpt-4.1-mini ($0.40/$1.60 per 1M tokens).

Recommendation: For development/testing, use:

agents:
  inspeqtor:
    provider: openai
    model: gpt-4.1-mini  # or gpt-4.1-nano for even cheaper

✨ New Features

1. Cost Estimation Display

InstruQtor and InspeQtor now show estimated costs before AI calls:

instruQtor ⸎ Estimated cost: $0.00234 (1,234 in + ~2,000 out tokens @ gpt-4.1-mini)
inspeQtor  ⸎ --- Per-briq reviews complete: 77 briqs, estimated $3.45 total ---
inspeQtor  ⸎ Estimated cost: $0.00456 (meta-review @ gpt-4.1)

2. Cleaner Display Filter System

Completely overhauled the display filter to suppress noise:

  • Blocked: Per-briq Assessment: SUCCESS/PARTIAL/FAILURE lines (only Final shown)
  • Blocked: ## Summary, ## Issues Found, markdown headers
  • Blocked: Code snippets (except FileNotFoundError:, with pytest, etc.)
  • Blocked: Table rows from AI reviews
  • Kept: High-level status (Briq Complete, Processing Briq:, Wrote exeQ)
  • Kept: === Final Assessment: and === InspeQtor v0.8.5 Complete:

3. LoQal Verifier Renamed to InspeQtor

Display name loQal_verifier now shows as inspeQtor since it’s part of the InspeQtor pipeline.

πŸ”§ Changes

  • Added lib_funqtions.py pricing for GPT-4.1 series and Claude models
  • Display filter now has BLOCKED_KEYWORDS list for aggressive noise suppression
  • total_review_cost tracking across all per-briq reviews
  • Cost estimation added to InstruQtor briq planning
  • Cost estimation added to InspeQtor per-briq and meta reviews

πŸ“‹ Clean Display Example

With v0.8.5, your event log should look like:

construQtor ⸎ -- Processing Briq: cyqle1_tasq1_briq000_setup_project.md --
construQtor ⸎ - Wrote [Code] main.py
construQtor ⸎ - Running local validation...
construQtor ⸎ - Wrote exeQ: cyqle1_tasq1_briq000_setup_project_exeq.md
construQtor ⸎ -- Briq Complete: ... [βœ… SUCCESS] (attempts: 1) --
...
inspeQtor  ⸎ --- Per-briq reviews complete: 20 briqs, estimated $0.89 total ---
inspeQtor  ⸎ === Final Assessment: [SUCCESS] ===
inspeQtor  ⸎ === InspeQtor v0.8.5 Complete: [SUCCESS] ===

No more ## Summary, ## Issues Found, per-briq Assessment: spam!


[v0.8.4-beta] - 2025-12-23

πŸ› Bug Fixes

1. Fixed Empty/Invalid __init__.py Files Being Written

Problem: AI sometimes outputs empty code blocks resulting in files containing just ``` (markdown fence) instead of valid Python.

Fix: Improved code block regex parser to:

  • Prevent matching across code blocks (using [^]` pattern)
  • Skip files with empty content
  • Skip files where content starts with ```
  • Skip files with content shorter than 3 characters
  • Added [SKIP] log messages for transparency

2. Improved Import Resolution in LoQal Verifier

Problem: Import checker was flagging src.utils.logger as missing even when src/utils/logger.py existed.

Fix: Enhanced import resolution to:

  • Search recursively for the final module name
  • Check paths with and without the first component
  • Only flag imports that start with known local prefixes
  • Added more third-party packages to skip list

3. Fixed Skeleton Signature False Positives (from v0.8.3)

Note: v0.8.3 already included the fix for argparse, logging, sys, Path false positives.

πŸ”§ Changes

  • ConstruQtor version header updated to v0.8.4
  • LoQal Verifier version header updated to v0.8.4
  • Improved logging for skipped files during code block parsing

πŸ“‹ What to Expect

With v0.8.4, you should see:

     [SKIP] Empty file: src/__init__.py
     [SKIP] Invalid content (markdown fence): src/evasion/__init__.py
     - Wrote [Code] src/utils/logger.py
     - Wrote [Code] src/agent/factory.py

[v0.8.3-beta] - 2025-12-23

✨ New Features & Enhancements

1. Interleaved Pipeline (Build β†’ Validate β†’ Build β†’ Validate)

ConstruQtor now processes each briq with interleaved validation:

FOR EACH briq:
  1. BUILD     - AI generates code
  2. VALIDATE  - Local syntax/import check (NO AI)
  3. REVIEW    - Optional AI quick review
  4. RETRY     - If failed, retry up to 3x
  5. EXEQ      - Write per-briq exeQ summary

2. Per-Briq ExeQ Summaries

ConstruQtor now writes execution summaries to exeq.d/cyqle{N}/:

  • briq000_exeq.md - Status, files written, validation results
  • briq001_exeq.md - etc.

Note: ConstruQtor writes exeQ summaries (execution results). InspeQtor writes reQap summaries (review/recap).

3. Smarter LoQal Verifier Skeleton Matching

Fixed false positive warnings for standard library imports and typing constructs:

  • Filters out: argparse, sys, os, re, json, etc.
  • Filters out: List, Dict, Any, Optional, Union, etc.
  • Filters out: Uppercase names (likely classes, not functions)
  • Filters out: Single-letter names (likely type vars)

4. Improved Qrane Display Keywords

Added new keywords to visible output filter:

  • exeQ - Per-briq execution summaries
  • Running local validation - Validation status
  • Briq Complete - Per-briq completion
  • SUCCESS, FAILURE, PARTIAL - Status indicators

πŸ”§ Configuration

# Interleaved Pipeline (NEW in v0.8.3)
interleaved:
  enabled: true              # Enable build→review per briq
  local_validation: true     # Syntax/import checks (no AI)
  ai_quick_review: false     # Set true for AI review per briq
  retry_on_review_fail: true # Retry if AI review fails

πŸ› Bug Fixes

  • Fixed NameError: name 'e' is not defined in inspeqtor.py line 785
  • Fixed LoQal Verifier false positives for stdlib/typing symbols
  • Fixed terminology: ConstruQtor β†’ exeQ, InspeQtor β†’ reQap

[v0.8.2-beta] - 2025-12-23

✨ LoQal Verifier Integration

Integrated a deterministic local verification agent that runs after ConstruQtor:

What It Checks (NO AI Required)

  1. Syntax Validation: python -m py_compile on all .py files
  2. Import Resolution: Verifies local imports resolve to actual files
  3. Skeleton Signature Matching: Ensures functions exist that are called elsewhere

Self-Healing Feedback Loop

Verification errors are appended to the reqap.md, which is read by InstruQtor in the next cycle:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ CyQle N:  ConstruQtor β†’ LoQal Verifier β†’ InspeQtor β†’ ReQap                     β”‚
β”‚                              ↓                           ↓                      β”‚
β”‚                        [Errors Found]              [Errors Logged]              β”‚
β”‚                              ↓                           ↓                      β”‚
β”‚ CyQle N+1: InstruQtor reads errors β†’ Creates fix briqs β†’ ConstruQtor fixes     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”§ Configuration

# config.yaml
agents:
  loqal_verifier:
    max_attempts: 3          # Retry failed briqs up to 3 times
    stop_on_briq_fail: false # Continue to next briq on failure

πŸ“‹ Output Format

[LoQal] ═══════════════════════════════════════════════════
[LoQal] Validation Report for: src/utils/logger.py
[LoQal] ───────────────────────────────────────────────────
[LoQal] βœ… Syntax: VALID
[LoQal] βœ… Imports: All resolved
[LoQal] ⚠️ Skeleton: 2 potentially missing signatures
[LoQal] ═══════════════════════════════════════════════════

[v0.8.1-beta] - 2025-12-23

✨ ConstruQtor Per-Briq Retry

Added configurable retry mechanism for individual briq failures:

# config.yaml
agents:
  construqtor:
    max_attempts: 3           # Retry failed briqs up to 3 times
    stop_on_briq_fail: true   # Stop cycle if briq fails after all retries

πŸ”§ Changes

  • ConstruQtor now tracks attempts per briq
  • Failed briqs are retried with error context appended to prompt
  • Status output shows attempt count: [βœ… SUCCESS] (attempts: 2)
  • Configurable stop_on_briq_fail - set false to continue despite failures

πŸ“‹ Output Example

construQtor ⸎ -- Processing Briq: briq005_implement_dga.md --
construQtor ⸎    Attempt 1/3...
construQtor ⸎    [FAIL] Syntax error in output
construQtor ⸎    Attempt 2/3 (with error context)...
construQtor ⸎    [βœ… SUCCESS] (attempts: 2)

[v0.8.0-beta] - 2025-12-22

πŸŒ€ Qontrabender - The Cache Bender

A new agent that manages hybrid caching with intelligent content classification:

  • Variable Fidelity: Mixes MEAT (full code) + BONES (skeletons) based on file importance
  • Policy-Driven Configuration: All behavior controlled via caching_policy.yaml
  • Multiple Operational Modes: 6 pre-configured modes for different use cases
  • Schema Validation: YAML validation prevents bad configuration from breaking the flow
  • Improved Volatile Detection: Cycle-based, diff-based, git diff, and mtime fallback

πŸ“¦ Available Modes

ModeDescriptionRemote Cache
local_fastUltra-fast, skeleton only, minimal I/O❌
local_smartDefault - variable fidelity, best balance❌
cyber_bedrockRemote cache for stable bedrockβœ…
cyber_aggressiveAggressive caching, more churnβœ…
paranoid_mincloudMinimal cloud exposure, skeletons onlyβœ…
debug_reproMaximum audit logging❌

πŸ”§ Configuration

# config.yaml
agents:
  qontrabender:
    provider: local
    model: qontrabender
    policy_file: "./caching_policy.yaml"
    mode: local_smart

πŸ“‹ Fidelity Rules Engine

Configurable rules determine how each file is treated:

fidelity:
  rules:
    - name: "stable_core_full"
      when:
        tier: "stable"
        core_score_gte: 0.65
        file_chars_lte: 200000
      use: "full"
    - name: "massive_skeleton"
      when:
        file_chars_gte: 220000
      use: "skeleton"

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    THE DATA LAKE (Local)                                β”‚
β”‚                                                                         β”‚
β”‚   qodeyard/ (MEAT)           bloq.d/ (BONES)        qontext.d/ (SOUL)   β”‚
β”‚   β”œβ”€β”€ api.py (FULL)          β”œβ”€β”€ api.py (SKEL)      β”œβ”€β”€ api.q.yaml      β”‚
β”‚   └── lib.py (FULL)          └── lib.py (SKEL)      └── lib.q.yaml      β”‚
β”‚                                                                         β”‚
β”‚             β”‚                        β”‚                      β”‚           β”‚
β”‚             β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β”‚
β”‚                         β–Ό                                               β”‚
β”‚              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                                  β”‚
β”‚              β”‚    QONTRABENDER       β”‚                                  β”‚
β”‚              β”‚   "The Compositor"    β”‚                                  β”‚
β”‚              β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€                                  β”‚
β”‚              β”‚ POLICY ENGINE:        β”‚                                  β”‚
β”‚              β”‚ 1. Read 'Soul'        β”‚ ← qontext.d intelligence         β”‚
β”‚              β”‚ 2. Filter 'Volatile'  β”‚ ← multi-signal detection         β”‚
β”‚              β”‚ 3. Evaluate Rules     β”‚ ← fidelity rules engine          β”‚
β”‚              β”‚ 4. Assemble & Hash    β”‚                                  β”‚
β”‚              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                                  β”‚
β”‚                         β–Ό                                               β”‚
β”‚                   qache.d/ (The Ledger)                                 β”‚
β”‚                                                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“Š Triple-Core Memory System

QonQrete now features a Triple-Core Memory System:

AgentRoleOutput
QompressorSkeletonizerbloq.d/ - AST-stripped code structures
QontextorSymbol Mapperqontext.d/ - Semantic YAML maps
QontrabenderCache Benderqache.d/ - Policy-driven cache payloads

See QONTRABENDER.md for full documentation.


[v0.7.0-beta] - 2025-12-21

πŸš€ Fully Local Qontextor Agent

This release introduces a major upgrade to the qontextor agent, enabling a fully local, deterministic, and highly detailed analysis of the codebase. This new β€œLocal Qontextor Stack” significantly reduces reliance on AI for context generation, leading to massive cost savings, increased speed, and enhanced privacy.

✨ The Local Qontextor Stack

The new local mode is powered by a multi-layered analysis stack:

  • Python AST: For extracting the fundamental structure of the code (classes, functions, signatures).
  • Docstrings & Verb Heuristics: To understand the purpose of code, either from existing documentation or by inferring it from function names.
  • Jedi: For static analysis, providing type inference and cross-file relationship understanding.
  • PyCG: To generate a comprehensive call graph, mapping out dependencies and execution flow.

πŸ”§ Fast vs. Complex Local Modes

The local qontextor can be fine-tuned for speed or detail:

  • local_mode: 'fast': Provides a very fast analysis using AST, Jedi, and heuristics.
  • local_mode: 'complex': Enhances the analysis by using a local sentence-transformers model to create deep semantic embeddings of the code’s purpose.

πŸ“‹ CLI Helpers

python3 worqer/qontextor.py --query "<search_term>"   # Semantic search
python3 worqer/qontextor.py --verb "<verb_pattern>"   # Find by verb pattern
python3 worqer/qontextor.py --ripple "<symbol_name>"  # Ripple effect analysis

πŸ› Bug Fixes

  • Fixed a NameError in the inspeqtor agent that was causing it to crash during the review phase.
  • Fixed a NameError in the qontextor agent related to the extract_first_sentence function.
  • Added a docker system prune command to qonqrete.sh to prevent β€œNo space left on device” errors.

πŸ’° Performance & Cost

  • Indexing Cost: Reduced to zero when using the local qontextor.
  • Cost per Run: Up to 25x cheaper due to the massive reduction in tokens sent to AI providers.
  • Speed: Approximately 3x faster on average due to smaller prompts and local processing.

[v0.6.3-beta] - 2025-12-19

Added

  • Dynamic Local Agent Loader: Implemented a dynamic local agent loader in qrane/qrane.py, allowing agents configured with provider: local to dynamically load and execute Python scripts from the worqer directory.

Changed

  • qrane.py: Modified run_orchestration to dynamically determine agent script paths for local providers.
  • Dockerfile: Added npm install -g @qwen-code/qwen-code@latest to install the Qwen CLI tool.
  • lib_ai.py: Modified _run_qwen to pass prompts via standard input instead of command-line arguments.

Fixed

  • QWEN_API_KEY Environment Variable: Ensured qonqrete.sh passes QWEN_API_KEY to the container.
  • construQtor Briq Processing: Improved handling of briqs.

[v0.6.2-beta] - 2025-12-18

Added

  • β€œlocal” Provider: Implemented a β€œlocal” provider for offline agents like calqulator and qompressor.
  • Qwen Model Testing: Tested qwen-turbo, qwen-coder, and qwen-max models.

Changed

  • Default Briq Format: The instruqtor now defaults to a more reliable markdown-based format for briqs.

Fixed

  • AI Reliability: The new markdown format significantly improves reliability with various AI models.

[v0.6.1-beta] - 2025-12-16

Added

  • Qwen Provider Integration: Integrated the Qwen AI provider into the system.
  • New Documentation: Added extensive documentation:
    • CONTEXT.md: Explains the context mechanism.
    • MEMORY.md: Details the local memory mechanism.
    • MINDSTACK.md: Suggestions for the AI agent brain stack.
    • MINDSTACK_ARCH.md: Architecture of the brain stack.
    • QWEN_90K_FIX.md: Verification of Qwen’s performance with large context.
    • SKELETON.md: Explains code skeletonization.

Changed

  • Default Task: Updated worqspace/tasq.md to a more complex task.
  • Version: Bumped version to 0.6.1.

[v0.6.0-beta] - 2025-12-13

Added

  • Major Improvements: The Dual-Core Memory System: This release introduces the Qompressor and Qontextor agents, forming a β€œDual-Core” memory system that dramatically reduces cost and increases speed.

    The Scenario: A medium-sized project (50 files, ~10,000 lines of code).

    • Raw Size: ~100,000 Tokens.
    MetricOld Approach (Send Full Code)New Approach (Dual-Core)Improvement
    Context Sent100,000 Tokens (Full Repo)~4,000 Tokens (Skeletons)~96% Reduction
    Indexing CostN/A (Read raw)Low (Uses compressed code to index)Optimized
    Cost per Run~$0.25 (GPT-4o)~$0.01 (GPT-4o)25x Cheaper
    SpeedSlow (Huge prompt processing)Fast (Tiny prompt)~3x Faster
    MemoryPersistentPersistent & Infinite ContextUpgraded

    Summary: You are paying 4% of the cost for 100% of the intelligence.

  • Qompressor (The Skeletonizer): Creates a low-token β€œskeleton” of the codebase in bloq.d.

  • Qontextor (The Symbol Mapper): Generates detailed YAML maps of the codebase’s symbols in qontext.d.

  • CalQulator (The Cost Estimator): Analyzes briQ files to provide token and cost estimates.

  • FunQtions Library: Added qrane/lib_funqtions.py for common utility functions.

Changed

  • Version Suffix: Appended -beta to signify pre-release status.
  • Agent Architecture: Updated pipeline_config.yaml to include new agents.
  • Configuration: Updated worqspace/config.yaml with sane defaults.

[v0.5.0-beta] - 2025-12-08

Added

  • Pipeline Optimization: Introduced a streamlined pipeline for multi-agent orchestration.
  • Multi-Provider Support: Added support for OpenAI, Anthropic, Google Gemini, and DeepSeek.

Changed

  • Agent Communication: Improved inter-agent communication via YAML-based file passing.
  • Default Configuration: Updated default models for improved performance.

Fixed

  • Memory Leaks: Fixed memory issues in long-running sessions.
  • Container Isolation: Improved Docker container isolation.

[v0.4.6-beta] - 2025-12-05

Changed

  • Logging Architecture: Re-architected logging system. Raw output captured in struqture/qonsole_<agent>.log, high-level status in struqture/events_<agent>.log.

Fixed

  • Headless Mode Crash: Fixed β€œI/O operation on closed file” error in non-TUI mode.
  • Gatekeeper Assessment Parsing: More robust regex parsing for β€œAssessment:” status.
  • construqtor Path Duplication: No longer creates nested qodeyard/qodeyard directories.
  • construqtor AI Output Parsing: Stricter system prompt with clear output format example.

[v0.4.5-alpha] - 2025-12-03

Added

  • Sqrapyard Project Seeding: qonqrete.sh now copies from worqspace/sqrapyard to qodeyard on startup.
  • tasq.md Seeding: If tasq.md exists in sqrapyard, it’s used as the initial task.
  • Verbose Startup Logging: Explicit logs about seeding status.
  • Pre-run Delay: 3-second delay after initial host logs.

Changed

  • Ephemeral Workspaces: Creates unique qage_<timestamp> directory for each run.
  • Agent Output Directory: construqtor writes exclusively to qodeyard.
  • Instruqtor Sensitivity: Re-implemented 10 distinct levels (0-9).
  • Context Awareness: Both agents read all files from qodeyard.

Fixed

  • Stricter Path Sanitization: Forcibly removes ../ from AI-generated filenames.
  • Gatekeeper Assessment Parsing: Correctly parses β€œAssessment” status.
  • AI Filename Resilience: Handles AI providing language name as filename.
  • Build Log Verbosity: Empty lines filtered from docker build output.

[v0.4.4-alpha] - 2025-12-02

Changed

  • InstruQtor Sensitivity: Implemented 10 distinct levels (0-9).
  • Context Awareness: InstruQtor reads all files from qodeyard.
  • Sqrapyard Logging: Improved logging for seeding process.

Fixed

  • Instruqtor Logic: Overhauled sensitivity logic.
  • Construqtor: Fixed bug causing agent to fail.
  • AI Reliability: Implemented robust retry mechanism in lib_ai.
  • Container Workspace: Isolated agent workspaces, fixed NameError.

[v0.4.3-alpha] - 2025-12-02

Added

  • Init Seeding: qonqrete.sh init copies from sqrapyard to qodeyard if available.

[v0.4.2-alpha] - 2025-11-28

Added

  • Architect Role: Implemented β€œArchitect” role in instruqtor.
  • Micro-dosing: Introduced β€œmicro-dosing” technique for better AI results.

Fixed

  • Syntax Errors: Addressed multiple syntax errors and regressions.

[v0.4.1-alpha] - 2025-11-27

Fixed

  • Critical Regressions: Patched syntax errors from v0.4.0.
  • Pre-flight Checks: Disabled interfering pre-flight checks.

[v0.4.0-alpha] - 2025-11-26

Added

  • Operational Modes: Agents operate with specific β€œpersonas” via --mode flag.
  • Briq Sensitivity: instruQtor accepts --briq-sensitivity flag (0-9).
  • TUI Overhaul: Major TUI improvements.

Fixed

  • Path Regression: Resolved critical bug in dynamic pipeline logic.

Changed

  • Code Refinements: Significant refactoring for readability.

[v0.3.0-alpha] - 2025-11-25

Changed

  • Branding: Updated README.md to display logo.png.
  • Versioning: Hardened build process for clean VERSION file.

[v0.2.7-alpha] - 2025-11-24

Fixed

  • Hotfix: Addressed critical IndentationError in qrane/qrane.py.

[v0.2.6-alpha] - 2025-11-23

Fixed

  • TUI Experience: Fixed β€œflash and gone” issue.

[v0.2.5-alpha] - 2025-11-22

Fixed

  • Agent Stability: Fixed critical NameError and improved console error visibility.

[v0.2.4-alpha] - 2025-11-21

Changed

  • Documentation: Consolidated inspection reports into COMING_SOON.md and DOCUMENTATION.md.

[v0.2.3-alpha] - 2025-11-20

Fixed

  • TUI Stability: Fixed NameError crash in TUI mode.

[v0.2.2-alpha] - 2025-11-19

Changed

  • Major Refactoring:
    • Implemented dynamic agent pipeline.
    • Centralized path management.
    • Added pre-flight checks for dependencies.
    • Implemented TUI state persistence.

[v0.2.1-alpha] - 2025-11-18

Added

  • Dynamic Versioning: Centralized versioning in VERSION file.
  • Integrated Docker Output: Streamed Docker build output into TUI.

[v0.2.0-alpha] - 2025-11-17

Added

  • TUI Enhancements: Added raw log view, fullscreen mode, key shortcuts, improved colors.
  • Microsandbox (MSB) Integration: Added support for msb.

Changed

  • AI Models: Updated default models for faster performance.

[v0.1.1-alpha] - 2025-11-14

Added

  • TUI Mode: Introduced --tui flag for interactive interface.
  • Workspace Cleaning: Added clean command to qonqrete.sh.

[v0.1.0-alpha] - 2025-11-12

  • The initial public alpha release of QonQrete.