QonQrete Quickstart
Version: v1.4.5
Release context: v1.4.5 - MLcon Edition
This is the shortest accurate path to get QonQrete running.
Option A: IDE-First (Recommended)
VS Code
- Install the QonQrete extension from the VS Code Marketplace
- Open any project folder
- Run “QonQrete: Deploy to Workspace” from the Command Palette (
Ctrl+Shift+P) - Run “QonQrete: Create Task File” — edit the starter
tasq.mdto describe your build task - Run “QonQrete: Run Tasq” — runs the default task file directly; auto-init handles the container image build on first run
IntelliJ / JetBrains
- Install the QonQrete plugin from the JetBrains Marketplace
- Open any project
- Run “QonQrete: Deploy to Workspace” from the action search (
Ctrl+Shift+A) - Run “QonQrete: Create Task File” — edit the starter
tasq.md - Run “QonQrete: Run Tasq” (
Ctrl+Alt+Q) — runs the default task file directly, auto-init on first run
What happens
my-project/
tasq.md ← you edit this
.qonqrete/ ← runtime (auto-deployed, gitignored)
qonqrete.sh
worqspace/
qrane/
worqer/
Dockerfile
...
The IDE uses your chosen task file directly. tasq.md remains the default starter file, and you never need to touch the hidden runtime directory.
Option B: CLI (Power Users)
Prerequisites
- Docker or Podman
- At least one AI provider API key
export OPENAI_API_KEY='...'
export GOOGLE_API_KEY='...' # or GEMINI_API_KEY
export ANTHROPIC_API_KEY='...'
export DEEPSEEK_API_KEY='...'
export QWEN_API_KEY='...'
1. Install + init runtime
curl -fsSL https://qonqrete.sh/install.sh | bash
./.qonqrete/qonqrete.sh init
2. Edit the task
tasq.md
3. Run QonQrete
./.qonqrete/qonqrete.sh run -f tasq.md
./.qonqrete/qonqrete.sh run -f tasq.md --auto -N
./.qonqrete/qonqrete.sh run -f tasq.md --seed-repo
./.qonqrete/qonqrete.sh status
./.qonqrete/qonqrete.sh audit
-N / --no-sync skips only the final repo-root sync-back step. Qage/Qonstruction output (including qodeyard/) remains available.
4. Resume / Clean
./.qonqrete/qonqrete.sh resume
./.qonqrete/qonqrete.sh clean
./.qonqrete/qonqrete.sh clean -A
If you are running directly from a full source checkout (repo-developer mode), ./qonqrete.sh remains valid.
IDE Commands Reference
Both VS Code and IntelliJ support the same commands:
| Command | What it does |
|---|---|
| Deploy to Workspace | Install runtime into .qonqrete/ |
| Create Task File | Create starter tasq.md at project root |
| Configure Run | Set sensitivity, cycles, mode, engine |
| Run Tasq | Run the default task file directly with auto-init when needed |
| Run as QonQrete Tasq | Run any markdown file directly as task input |
| Resume Run | Continue from a previous qage |
| Clean Qages | Delete old qage directories |
Recommended first-run sanity checks
After a successful run, verify these exist:
.qonqrete/worqspace/qage_YYYYMMDD_HHMMSS/
.qonqrete/worqspace/qage_.../run-manifest.v1.json
.qonqrete/worqspace/qage_.../task/task-spec.v1.json
.qonqrete/worqspace/qage_.../validation/validation-bundle.v1.json
.qonqrete/worqspace/qage_.../realization/realization-bundle.v1.json
.qonqrete/worqspace/qage_.../verdict/inspection-verdict.v1.json
.qonqrete/worqspace/qage_.../qodeyard/
.qonqrete/worqspace/qage_.../build/attempts/
Cost Confirmation Gate
To require confirmation before running after cost estimation:
# In worqspace/config.yaml
options:
cost_confirmation_gate: true
The GateQeeper will prompt you to confirm after CalQulator shows the cost estimate.
Validation Reality
Deterministic validation in the current bridge is strongest for Python. Other stacks still run through the workflow, but deterministic compile/test depth is not yet equivalent.
Configuration (v1.4.5)
This page summarizes the active runtime configuration model from worqspace/config.yaml and worqspace/pipeline_config.yaml.
Core Files
worqspace/config.yamlworqspace/pipeline_config.yaml
Key Sections in config.yaml
retryrepairai_budgetinginterleavedverificationagentsoptions
Repair and Iteration Controls
repair.max_attempts_per_build_pass: bounded same-run repairs per build passoptions.max_total_iterations: cap for total build + repair passesoptions.max_build_passes: build-pass cap- Same-run repairs consume total-iteration budget but do not increment build-pass count.
ConstruQtor Coding Modes
agents.construqtor.coding_mode supports:
heredocdirecthybrid(default)
hybrid default policy:
- new files use heredoc
- existing files use direct
- deterministic escalation can force heredoc when direct transport becomes fragile
Repo Seeding and Sync Controls
- Default run starts from empty
qodeyard/ --seed-repo(or legacy--sqrapyard) seeds repository content into qodeyard before run- Default behavior syncs changed outputs from qage back to repo root
-N/--no-syncskips only repo-root sync-back and keeps outputs in qage/qonstruction paths
Provider and Model Configuration
Providers supported in current runtime:
openaigeminianthropicdeepseekqwenopenroutervenicemlxllama-cpplocal(non-remote helper agents)
Current default primary-agent alignment in committed config:
qrystallizer:venice / deepseek-v3.2instruqtor:venice / deepseek-v3.2construqtor:venice / deepseek-v3.2inspeqtor:venice / deepseek-v3.2calqulator:gemini / gemini-2.5-flash-lite
Required and Optional Environment Variables
Common provider variables:
OPENAI_API_KEY
GOOGLE_API_KEY
GEMINI_API_KEY
ANTHROPIC_API_KEY
DEEPSEEK_API_KEY
QWEN_API_KEY
OPENROUTER_API_KEY
VENICE_API_KEY
MLX_API_KEY
LLAMA_CPP_API_KEY
Notes:
- Venice requires
VENICE_API_KEYand does not fall back toOPENAI_API_KEY. mlxandllama-cpprequire per-agentapi_base_urlfor real usage.MLX_API_KEYandLLAMA_CPP_API_KEYare optional.
Useful Runtime Commands
./.qonqrete/qonqrete.sh run -f tasq.md
./.qonqrete/qonqrete.sh run --seed-repo
./.qonqrete/qonqrete.sh run -N --qonstruction-name demo_run
./.qonqrete/qonqrete.sh status
./.qonqrete/qonqrete.sh audit
python worqer/qontextor.py --capabilities
python worqer/qompressor.py --capabilities
For the full authoritative details, see the synced docs:
doc/DOCUMENTATION.mddoc/ARCHITECTURE.mddoc/QUICKSTART.md
QonQrete Architecture
Version: v1.4.5
Release context: v1.4.5 - MLcon Edition
This document describes the current repository architecture as shipped in the v1.4.5 snapshot.
High-level model
QonQrete is split into three layers:
- Core runtime — the CLI entrypoint, orchestrator, agents, config, and generated artifacts
- Workspace data plane —
worqspace/, qages, qonstructions, and context caches - IDE integrations — VS Code and IntelliJ / JetBrains wrappers around the CLI workflow
Top-level layout
qonqrete/
├── qonqrete.sh # Host entrypoint
├── qrane/ # Orchestrator layer
├── worqer/ # Agent and utility layer
├── worqspace/ # Config + runtime data
├── doc/ # Documentation set
├── vscode-extension/ # VS Code integration
└── intellij-plugin/ # JetBrains integration
Layer 1 — Host entrypoint
qonqrete.sh
Responsibilities:
- command parsing (
init,run,resume,status,audit,clean,clean-outputs) - OS detection
- container engine detection
- build backend detection
- qage creation and manifest-linked workspace seeding
- Qonstruction save / resume / clean flow
The current CLI supports:
- Podman (default auto-detected path)
- Docker (explicit via
--dockerorCONTAINER_ENGINE=docker)
It also provides flags for:
- autonomous vs user-gated operation
- operational mode
- briq sensitivity
- total-iteration cap / build-pass cap
- optional explicit repo seeding (
--seed-repo, with legacy-s/--sqrapyardalias) - optional repo-root sync suppression (
-N/--no-sync) - explicit runtime forcing
- qonstruction save naming
Layer 2 — Qrane orchestrator
qrane/
Main files:
qrane.py— orchestrator main looploader.py— CLI/UI helper behaviorpaths.py— path managerlib_funqtions.py— pricing helpers
Runtime responsibilities
Qrane:
- reads
worqspace/config.yaml - resolves final mode / sensitivity / execution caps (total iterations, build passes, repair attempts)
- validates required API keys for configured providers
- runs the configured pipeline in canonical stage order
- maintains the run manifest and audit trail
- performs bounded repair and continuation routing
- distinguishes queued-next-pass resume from interrupted-active-pass resume to preserve truthful pass lineage
- derives validation execution mode from explicit validation/smoketest evidence so markdown presence alone does not overclaim executed coverage
Layer 3 — Agent layer
worqer/
The repo currently contains these notable agents/utilities:
AI / pipeline agents
qrystallizer.py— canonical intake agent; synthesizes high-quality goals and clarified intent context from user answers when the raw task is vague, falling back truthfully to raw context when answers are unresolved.qonstrictor.pyinstruqtor.py— planning agent; consumes clarified intent and synthesized goals as first-class inputs to ensure accurate briq decomposition.construqtor.py— generates/modifies code inqodeyard/viaheredoc(Markdown fences),direct(tool-based), or deterministichybridcoding mode. Supports iterative repair-forward validation in avalidation-rootsandbox.inspeqtor.py
local / deterministic helpers
calqulator.pyqontextor.pyqompressor.pyqontrabender.pyqonfirmer.pyqualifier.pyruntime_capabilities.pylib_ai.pylib_security.py
Pipeline order
The current committed worqspace/pipeline_config.yaml bridges the canonical order as:
qrystallizer → qonstrictor → instruqtor → calqulator → construqtor → qontextor/qompressor/qontrabender (support services) → inspeqtor
Additional notes:
qrystallizeris the canonical intake implementation- intake clarification can pause runs in explicit
BLOCKED/RUN_WAITING_FOR_INPUTstate when readiness isNOT_READY - clarification-blocked resume re-enters cycle-1 intake semantics so
cycle_1_onlyintake stages are not skipped qontrabenderis trigger-driven rather than a simple always-on stageqodeyard/remains the mutable build surface inside a run, while the manifest is the authoritative linkage layerbloq.d/,qontext.d/, andqache.d/are support artifact domains, not canonical lifecycle stages
Artifact model
Each run gets a dedicated Qage directory:
worqspace/qage_YYYYMMDD_HHMMSS/
Typical contents:
tasq.d/
task/
qontract.d/
briq.d/
qontract.d/
planning/
estimation/
qodeyard/
exeq.d/
build/
validation/
realization/
verdict/
continuation/
reqap.d/
qontext.d/
bloq.d/
struqture/
audit/
run-manifest.v1.json
Meaning of the main directories
tasq.d/— compatibility pass task material (cyqle{N}folders map to global iteration index)task/— canonical task spec, clarification log, and intake summaryqontract.d/— Qonstrictor and QONTRACT artifactsbriq.d/— generated work unitsqontract.d/— human + machine-readable contractplanning/— execution blueprint, validation plan, build groups, completion criteriaestimation/— estimation artifactsqodeyard/— generated / modified code build surfaceexeq.d/— execution summariesbuild/— build-group reports and per-attempt staged/recovery evidencevalidation/— validation bundlesrealization/— observed-outcome bundlesverdict/— inspection verdicts and repair planscontinuation/— continuation metadatareqap.d/— review and iteration recap outputqontext.d/— deterministic structural context outputbloq.d/— compressed structural skeletons (Python, shell, JS/TS, HTML/CSS first-class; optional Tree-sitter fallback for other parseable code)struqture/— per-agent logsaudit/— manifest-linked audit timeline and event stream
QONTRACT enforcement model
The repository uses a contract-first model for later build passes and repair passes.
Generation
On the first build pass, InstruQtor generates:
qontract.d/qontract.mdqontract.d/qontract.json
Enforcement
Later stages use:
- fail-fast checks in
qrane/lib_qrane.pywhen contract artifacts are required but missing qonfirmer.pyfor deterministic AST-based verification
Current documented invariant types include:
- forbidden imports
- schema field expectations
- forbidden field names
- ID type rules
- monotonic ID strategy patterns
- required endpoint checks
Context / memory layers
QonQrete uses multiple context layers to keep prompts smaller and more structured:
| Layer | Directory | Role |
|---|---|---|
| Task | tasq.d/ | current objective |
| Contract | qontract.d/ | project rules / constitution |
| Code | qodeyard/ | current truth source |
| Execution | exeq.d/ | build summaries |
| Review | reqap.d/ | review output |
| Skeletons | bloq.d/ | compressed code structure |
| Structural context map | qontext.d/ | symbol / relationship hints |
| Cache | qache.d/ | Qontrabender payloads when used |
Security model
Important security properties in the repo:
- Qage container isolation
- read-only root filesystem with writable workspace paths
- reduced capability model for container execution
- non-root runtime with no runtime privilege transition
- path validation and jail enforcement in
lib_security.py - API timeout / retry safety in
lib_ai.py
IDE integration architecture
VS Code
vscode-extension/ wraps the existing CLI rather than replacing it.
It contributes:
- command palette commands
- context menu commands
- sidebar webview
- status bar state
- settings-backed run config
- terminal-driven execution
The extension currently assumes a repo-local QonQrete project and looks for project markers such as:
qonqrete.shworqspace/config.yamltasq.md
IntelliJ / JetBrains
intellij-plugin/ provides a parallel integration path.
It includes:
- Gradle-based plugin project
- plugin README / changelog
- tool-window-oriented UX
- settings and packaging path for manual install / future store publishing
Current repo-local model
This repository snapshot does not yet implement a fully centralized shared engine architecture. The active model is still:
project contains qonqrete.sh + worqspace
IDE integration detects that project
IDE calls the repo-local CLI
That should be documented honestly until a central-engine bootstrap workflow actually exists in the codebase.
Data flow summary
flowchart TD
User[User / IDE] --> CLI[qonqrete.sh]
CLI --> Qage[Qage container run]
Qage --> Qrane[Qrane orchestrator]
Qrane --> Instruqtor[InstruQtor]
Qrane --> Calqulator[CalQulator]
Qrane --> Construqtor[ConstruQtor]
Qrane --> Inspeqtor[InspeQtor]
Qrane --> Qontextor[Qontextor]
Qrane --> Qompressor[Qompressor]
Construqtor --> Qodeyard[qodeyard]
Inspeqtor --> Reqap[reqap.d]
Instruqtor --> Briq[briq.d]
Instruqtor --> Qontract[qontract.d]
Qontextor --> Qontext[qontext.d]
Qompressor --> Bloq[bloq.d]
Qontextor extractor model
Qontextor local mode is now a shared structural graph pipeline with registry-dispatched extractors. Today the first-class deterministic paths in the shipped/provisioned environment are:
- Python AST structural graphing
- shell structure and command/env mapping via
shfmt -tojsonin the shipped environment - JS/TS module, DOM, and storage mapping via a repo-shipped TypeScript helper
- HTML/CSS linkage graphing via repo-shipped
parse5/postcsshelpers
This path is structural and offline-safe by default. Reduced local environments can fall back, and the active capability set is surfaced via the capability report and run manifests.
Related docs
Workspace Deployment Model (v1.2.0+)
Starting with v1.2.0, the IDE integrations implement a workspace-local hidden runtime deployment model:
my-project/
tasq.md ← user-facing task file
.qonqrete/ ← hidden runtime (gitignored)
qonqrete.sh
VERSION
Dockerfile
qrane/
worqer/
worqspace/
config.yaml
pipeline_config.yaml
tasq.md ← synced from root before each run
qage_YYYYMMDD_HHMMSS/
Key design decisions
-
Script-relative runtime preserved:
qonqrete.shstill derivesSCRIPT_DIRand setsWORKSPACE_DIRrelative to itself. Deploying the full repo structure into.qonqrete/means everything works without any runtime architecture changes. -
User-facing tasq at workspace root: The IDE syncs
<workspace>/tasq.md→.qonqrete/worqspace/tasq.mdbefore each run. Users never need to edit hidden files. -
Auto-init on first run: If the container image doesn’t exist, the IDE runs
./.qonqrete/qonqrete.sh initautomatically. -
Versioned images: Container images are tagged
qonqrete-qage:<version>(for exampleqonqrete-qage:1.4.0), with:latestplus an untagged compatibility alias. -
Identical behavior in both IDEs: VS Code and IntelliJ implement the same commands, same deployment model, same sync behavior.
Deployment source
Primary: versioned GitHub release zip (qonqrete-v1.4.5.zip)
Fallback: shallow git clone if zip download fails
QonQrete Terminology
Version: v1.4.5
This document defines the main vocabulary used in the current repository.
Core runtime terms
- QonQrete — the overall system: CLI runtime + orchestrator + agents + workspace model
- Qrane — the orchestrator process in
qrane/qrane.py - worqer — a worker/agent script in
worqer/ - Qrew — the set of agents participating in a run
- Qage — an isolated run environment and its corresponding
qage_YYYYMMDD_HHMMSSdirectory - worqspace — shared configuration and runtime data directory
Workflow terms
- tasq — the high-level task description
- cyQle — one full plan/build/review iteration
- briq — one atomic work item produced by InstruQtor
- exeQ — an execution summary emitted by ConstruQtor
- reQap — a review/recap emitted by InspeQtor
- CheQpoint — the point where QonQrete pauses for user continuation in user-gated mode
- gateQeeper — the human operator at the checkpoint
Structural artifact terms
- qodeyard — current generated/modified code; primary truth source
- briq.d — briq files
- exeq.d — execution summaries
- reqap.d — review summaries
- qontract.d — contract material (
qontract.md+qontract.json) - qontext.d — structural context and relationship output
- bloq.d — compressed skeleton cache from Qompressor
- qache.d — Qontrabender cache payload area
- struqture — logs and event traces
- seed-repo mode — opt-in run mode that seeds current repository content into
qodeyard/before build (legacy alias:-s/--sqrapyard) - Qonstruction — a saved output snapshot under
worqspace/qonstructions/
Agent names
- Qrystallizer — cycle-1 task clarification and readiness stage
- InstruQtor — task planner and briq generator
- CalQulator — local token/cost estimator
- ConstruQtor — code generator / modifier
- InspeQtor — reviewer
- Qontextor — deterministic multi-language structural mapper and context graph builder
- Qompressor — deterministic multi-language structural skeletonizer (Python always first-class; shell/JS/TS/HTML/CSS first-class in the shipped/provisioned environment; optional Tree-sitter fallback)
- Qontrabender — variable-fidelity cache compositor
- Qonfirmer — deterministic contract verifier
- Qualifier — deterministic syntax/import verification helper
Runtime/config terms
- Operational mode — run persona / mode such as
program,enterprise,security, etc. - Briq sensitivity — decomposition granularity; higher means more briqs in the current system design
- Autonomous mode — continue without user cheQpoints
- User-gated mode — pause at cheQpoints
Runtime engine terms
- Container engine — Docker or Podman
- Build backend — the backend used to build the runtime image (for example
buildxor plain build paths)
IDE integration terms
- VS Code extension — the
vscode-extension/project that wraps the repo-local QonQrete CLI workflow inside VS Code - IntelliJ plugin — the
intellij-plugin/project that wraps the repo-local QonQrete CLI workflow for JetBrains IDEs - repo-local workflow — today’s actual model: the project contains
qonqrete.shandworqspace/, and the IDE integration detects that local project
Important terminology honesty note
The current repository does not yet implement the fully centralized “single shared engine for many arbitrary repos” model. When the docs say VS Code or IntelliJ integration, they mean the bundled wrappers around the existing repo-local QonQrete workflow.
Memory Model (v1.4.5)
QonQrete memory is file-based and run-scoped.
Primary Memory Surfaces
task/: task spec and clarification logstasq.d/: cycle-specific task snapshotsplanning/: execution blueprint and completion criteriabuild/: attempt manifests and build-group reportsvalidation/: deterministic validation bundlerealization/: realized outcome bundleverdict/: inspection verdict + repair plancontinuation/: continuation metadata for truthful resume behavioraudit/: timeline and event streamrun-manifest.v1.json: lifecycle and run status truth source
Resume Semantics
Resume preserves lineage instead of fabricating a new path:
- honors queued
pending_next_pass_kindwhen present - restores interrupted active-pass semantics when no queue exists
- re-enters cycle-1 clarification semantics when source run is blocked on intake clarification
Sync and Containment
- default: sync changed files back to repo root
-N/--no-sync: skip repo-root sync and keep outputs in qage/qonstruction paths
This keeps generated work inspectable before manual application.
Testing and Validation (v1.4.5)
Core Runtime Checks
./.qonqrete/qonqrete.sh init
./.qonqrete/qonqrete.sh run -f tasq.md
./.qonqrete/qonqrete.sh status
./.qonqrete/qonqrete.sh audit
./.qonqrete/qonqrete.sh clean
Capability Reporting
python worqer/qontextor.py --capabilities
python worqer/qompressor.py --capabilities
Python Test Suite (repo-local)
pytest
Validation Reality
- deterministic validation is strongest for Python in the current bridge
- other stacks still benefit from orchestration, artifact capture, and AI inspection
validation_execution_modeonly reports executed coverage when executed evidence exists
Contexting in QonQrete (v1.4.5)
QonQrete uses file-based context layers so each run is inspectable and grounded.
Context Layers
| Layer | Location | Purpose |
|---|---|---|
| Task | tasq.d/ and task/ | Current objective and clarified intake spec |
| Contract | qontract.d/ | QONTRACT + Qonstrictor constraints |
| Code | qodeyard/ | Canonical build output inside the qage |
| Execution | exeq.d/ | Build summaries and changed scopes |
| Review | reqap.d/ and verdict/ | Inspection recap, verdicts, repair plan |
| Structure | bloq.d/ | Deterministic compressed code skeletons |
| Structural map | qontext.d/ | Deterministic context graph output |
| Cache payload | qache.d/ | Qontrabender output when enabled |
Why This Matters
- context is visible on disk, not hidden in chat history
- support agents can reuse structure artifacts instead of raw full-tree payloads
- review and continuation decisions are tied to explicit artifacts and manifests
Current Runtime Notes
- Qontextor default path is deterministic structural extraction.
- Qompressor default path is deterministic multi-language skeletonization.
- Tree-sitter is optional and only active when explicitly installed.
Capability Checks
python worqer/qontextor.py --capabilities
python worqer/qompressor.py --capabilities
QonQrete Documentation
Version: v1.4.5
Release context: v1.4.5 - MLcon Edition
This document is the synced technical reference for the current v1.4.5 repository snapshot.
Current release deltas (v1.4.5 - MLcon Edition)
- Final inspection paths now treat final
qodeyard/files as authoritative evidence over relay/log snippets. - Frontend localStorage deterministic validation now supports compact constant/alias/object key indirection.
- Verdict synthesis downgrades advisory briq-review noise when deterministic gates pass.
- Qrane/ConstruQtor heartbeat chatter is removed from terminal output.
- Streamed heredoc terminal rendering is concise by default, with TTY-only hotkeys:
TAB=> raw stream viewShift+TAB=> concise view
- Launcher now supports
-N/--no-syncto skip repo-root sync-back and keep run output in Qage/Qonstruction paths. - Primary agent defaults are aligned to
venice / deepseek-v3.2, and ConstruQtor default coding mode ishybrid.
Table of contents
- 1. What QonQrete is
- 2. Current repository scope
- 3. Core execution flows
- 4. Agent reference
- 5. QONTRACT system
- 6. Context and memory layers
- 7. Configuration reference
- 8. Providers and API keys
- 9. IDE integrations
- 10. Security model
- 11. Current limitations
- 12. Workspace Deployment (v1.2.0+)
- 13. Cost Confirmation Gate (GateQeeper)
- 14. OpenRouter Provider Support
- 15. Venice Provider Support (v1.3.12)
- 16. MLX and Llama-cpp Provider Support (v1.3.12)
1. What QonQrete is
QonQrete is a structured AI construction loop for building software inside a hardened runtime. It takes a high-level task, decomposes it into briqs, generates or modifies code, reviews the result, and optionally continues into more build/repair passes when the runtime allows it.
The system is designed around:
- local file visibility
- repeatable pipeline stages
- contract enforcement
- container isolation
- clear review artifacts
2. Current repository scope
The current repo includes:
Core runtime
qonqrete.shqrane/worqer/worqspace/
IDE integrations
vscode-extension/intellij-plugin/
Documentation
doc/
Starting with v1.2.0, both IDE integrations implement a workspace-local deployment model. Users run “Deploy to Workspace” to install the runtime into .qonqrete/. The runtime remains script-relative and repo-shaped, deployed locally per workspace.
3. Core execution flows
3.1 Initialization
./.qonqrete/qonqrete.sh init
Initialization:
- detects OS
- detects or accepts explicit runtime engine
- detects build backend
- builds the Qage image
Supported runtime paths in the repo:
- Podman (default auto-detected path)
- Docker (explicit via
--dockerorCONTAINER_ENGINE=docker)
3.2 Fresh run
./.qonqrete/qonqrete.sh run -f tasq.md
./.qonqrete/qonqrete.sh run -f tasq.md --auto -N
Current run flow:
- validate runtime prerequisites
- validate required config/task files
- create a new
qage_YYYYMMDD_HHMMSS - default to an empty
qodeyard/(no repo seed) and copy task material intotasq.md+tasq.d/cyqle1_tasq.md - optionally seed repository code into
qodeyard/when--seed-repo(or legacy-s/--sqrapyard) is used - launch the container
- let Qrane execute clarification, qonstrictor, planning, build, validation/realization, and inspection
- by default, sync changed outputs back to repo root with non-seeded collision protection
- when
-N/--no-syncis passed, skip only that repo-root sync-back and keep output in Qage/Qonstruction paths (lineage.repo_sync_mode = no_sync) - optionally save as a qonstruction
3.3 Resume
./.qonqrete/qonqrete.sh resume
./.qonqrete/qonqrete.sh resume -q qage_YYYYMMDD_HHMMSS
Resume flow:
- choose an existing qage (interactive or direct)
- copy the selected qage into a new qage
- refresh workspace-driven config/task material
- continue as a new run with previous state available
- if
execution.state.pending_next_pass_kindis present, resume honors that queued pass exactly - if no queued next pass exists and the previous run shows an interrupted active pass, resume restores that interrupted active pass semantics (including interrupted repair passes)
- if legacy manifests are missing explicit resume markers, resume uses conservative inference and avoids silently fabricating a different pass kind
- if the source run is blocked on intake clarification (
RUN_WAITING_FOR_INPUT+BLOCKED), resume re-enters cycle-1 clarification semantics instead of skipping cycle-1-only intake stages
3.4 Clean
./.qonqrete/qonqrete.sh clean
./.qonqrete/qonqrete.sh clean -q qage_YYYYMMDD_HHMMSS
./.qonqrete/qonqrete.sh clean -A
Clean flow supports:
- interactive delete
- direct delete
- delete all
4. Agent reference
4.1 qrystallizer.py
Canonical intake / clarification stage.
- cycle-1-only behavior
- writes
task/task-spec.v1.json,task/clarification-log.v1.json, andtask/clarification-summary.md - optionally consumes deterministic clarification responses from
task/clarification-response.v1.json - if readiness stays
NOT_READY, Qrane marks the run asBLOCKED/RUN_WAITING_FOR_INPUTinstead of treating intake clarification as a generic failure - only clarification asks user questions; no mid-run questioning is allowed after readiness is accepted
- does not mutate the canonical task input
4.2 qonstrictor.py
Canonical pre-plan constraint gate. Responsibilities:
- evaluate task readiness before planning proceeds
- turn declared constraints into effective runtime constraints
- emit deterministic pass/review/fail output to
qontract.d/ - stop planning when intake readiness or scope rules are violated (fallback guard after clarification gate)
4.3 instruqtor.py
Planning agent. Responsibilities:
- read the current tasq
- create briqs in
briq.d/ - generate QONTRACT files on the first build pass
- honor sensitivity settings and decomposition logic
4.4 calqulator.py
Local estimation helper. Responsibilities:
- estimate token/cost footprint
- annotate planning flow with rough cost expectations
- zero AI-token cost
- default estimation target is
gemini / gemini-2.5-flash-lite - per-project overrides remain supported via
agents.calqulator
4.5 construqtor.py
Code generation / modification agent. Responsibilities:
- consume briqs
- write or update files in
qodeyard/ - emit execution summaries to
exeq.d/ - use contract-aware and validation-aware build retries
4.6 inspeqtor.py
Review agent. Responsibilities:
- run deterministic checks
- optionally run smoketest checks via
smoqetester(scoped or full mode) - run AI-assisted review stages
- emit final recap material to
reqap.d/ - drive success / partial / failure assessment logic
- classify validation execution mode as
NONE,STATIC_ONLY,EXECUTED, orMIXEDusing explicit evidence (not markdown presence alone)
4.7 qontextor.py
Context indexing helper. Responsibilities:
- build deterministic structural maps in
qontext.d/, including per-file extractor metadata and a run manifest - run in local mode according to config
- provide cheaper context reuse than shoving full source trees into prompts
4.8 qompressor.py
Deterministic multi-language structural skeletonizer. Responsibilities:
- compress code structure into
bloq.d/, including a run manifest that records native vs fallback processing paths - preserve useful structure while stripping bulky implementation bodies
- support first-class skeletonization for Python, shell, JS/TS, and HTML/CSS in the shipped/provisioned environment
- use Tree-sitter as an optional fallback for unsupported parseable languages when explicitly installed; default tests report its status honestly and an opt-in integration path can exercise it for real
- reduce prompt weight for later iterations
4.9 qontrabender.py
Cache composer / variable-fidelity helper. Responsibilities:
- assemble cache payloads
- use policy-driven selection rules
- practically relevant when Gemini context caching is the chosen path
4.10 qonfirmer.py
Deterministic contract verifier. Responsibilities:
- enforce machine-readable invariants from
qontract.json - catch forbidden imports / schema mismatches / endpoint rules / ID strategy violations
4.11 qualifier.py
Deterministic local verifier. Responsibilities:
- syntax checks
- import resolution checks
- structural consistency checks
- pluggable language-aware validation (Python, shell, JS/TS, HTML, plain CSS)
4.12 lib_ai.py
Unified provider abstraction. Current provider support in the repo:
- OpenAI
- Gemini
- Anthropic
- DeepSeek
- Qwen
- OpenRouter
- Venice (v1.3.12 — Venice API, OpenAI-compatible)
- mlx (v1.3.12 — local/LAN OpenAI-compatible runtimes)
- llama-cpp (v1.3.12 — local/LAN OpenAI-compatible runtimes)
Also handles timeout / retry behavior and provider-specific adapters.
5. QONTRACT system
QONTRACT is the repository’s constitution-like enforcement layer.
Generation
On the first build pass, InstruQtor creates:
qontract.d/qontract.mdqontract.d/qontract.json
Use later in the pipeline
Later build passes and repair passes expect contract material to exist. The runtime uses fail-fast checks so later stages do not silently proceed without the contract.
Current documented invariant types
The current repo / doc / code set indicates checks around:
- forbidden imports
- exact field expectations
- forbidden field names
- ID type rules
- monotonic ID strategy patterns
- required endpoints
6. Context and memory layers
| Layer | Location | Role |
|---|---|---|
| Task | tasq.d/ / worqspace/tasq.md | current objective |
| Contract | qontract.d/ | project invariants |
| Current code | qodeyard/ | canonical current output |
| Execution summaries | exeq.d/ | per-briq execution trace |
| Reviews | reqap.d/ | review and iteration recap |
| Skeleton cache | bloq.d/ | compressed architecture view |
| Structural context map | qontext.d/ | lighter-weight context intelligence |
| Cache payloads | qache.d/ | Qontrabender output when used |
| Logs | struqture/ | console and event traces |
7. Configuration reference
Main config file:
worqspace/config.yaml
Important top-level sections
retryinterleavedverificationagentsoptions
Notable current settings
retry
enabledmax_attemptsstop_on_briq_failretry_delay
interleaved
enabledlocal_validationai_quick_reviewretry_on_review_fail
verification
enabledchecks.syntaxchecks.importschecks.skeleton_match
agents.construqtor
provider: AI provider (openai, gemini, anthropic, etc.)model: model namecoding_mode:heredoc|direct|hybridheredoc: Legacy Markdown fenced-block output.direct: Tool-based direct editing in an attempt-workspace.- Uses
write_file_directtool. - Hardened via
safe_write_filewithvalidation-rootjail. - Features cumulative repair-forward validation within the loop.
- Fallback to fenced blocks if tools are missing but files are present.
- Uses
hybrid(default): Deterministic per-file transport policy.- Default: new file creation uses
heredoc; edits to existing files usedirect. - One-way anti-flapping lock: direct can escalate to heredoc on deterministic failure triggers.
- Attempt manifests include transport decision records and fallback reasons.
- Default: new file creation uses
agents.inspeqtor.smoketest
enabled(default: false)mode(scopedorfull)timeout_secondsmax_output_charsadapters.<adapter>.enabledadapters.<adapter>.command/commands(optional manual overrides)adapters.<adapter>.append_changed_filesadapters.python.auto_unittest_discoveradapters.python.auto_cli_helpadapters.js_ts.auto_tsc_no_emitadapters.js_ts.allow_script_executionadapters.js_ts.require_dependencies
Smoketest output semantics:
- per-check evidence includes
execution_kind(staticorexecuted) validation_execution_modeonly becomesEXECUTED/MIXEDwhen genuine executed evidence exists- static-only checks (for example
tsc --noEmitor shell syntax checks) do not inflate executed coverage
options
use_qompressoruse_qontextoruse_qontrabendercheqpointmax_total_iterations(legacy alias:auto_cycle_limit)max_build_passescycle_estimate_mode(advisoryorscheduler)briq_sensitivitymode
repair
max_attempts_per_build_pass(legacy alias:max_attempts)- same-run repairs consume
max_total_iterationsbudget but do not incrementmax_build_passes
Important reality check about defaults
The committed repo config is a working example config, not a universal recommendation. CLI overrides and per-project tuning are expected.
8. Providers and API keys
QonQrete checks provider usage against required environment variables.
Environment variables used by the repo
OPENAI_API_KEY
GOOGLE_API_KEY
GEMINI_API_KEY
ANTHROPIC_API_KEY
DEEPSEEK_API_KEY
QWEN_API_KEY
OPENROUTER_API_KEY
VENICE_API_KEY # v1.3.12 — required when provider: venice
MLX_API_KEY # v1.3.12 — optional, used when provider: mlx
LLAMA_CPP_API_KEY # v1.3.12 — optional, used when provider: llama-cpp
Current provider notes
- Gemini can use
GOOGLE_API_KEYorGEMINI_API_KEY - DeepSeek support is built through an OpenAI-compatible adapter inside
lib_ai.py - Venice support is built through an OpenAI-compatible adapter; it requires a dedicated
VENICE_API_KEYand does not fall back toOPENAI_API_KEY - mlx and llama-cpp support are built through an OpenAI-compatible adapter; they require
api_base_urlin the per-agent config block and work with or without an API key localis used for non-remote helper agents
9. IDE integrations
9.1 VS Code extension
Location:
vscode-extension/
What it currently does
- command palette commands for init / run / resume / clean / show status
- right-click run support for
tasq.md - right-click “run as QonQrete tasq” for other Markdown files
- sidebar control panel
- status bar state updates
- shell detection and verification
- qage browsing helpers
- settings-backed run defaults aligned to current runtime (
sensitivity=1,cycles=1,autonomous=true) - run option wiring includes
--no-sync(qonqrete.noSync) and--seed-repo
Important current behavior
- it executes the existing CLI in a terminal-driven way
- it assumes a repo-local QonQrete project
- it does not magically replace the core runtime
- it does not yet implement the separate “central engine shared across many normal repos” flow
Packaging
cd vscode-extension
npm install
npm run compile
npx vsce package
9.2 IntelliJ / JetBrains plugin
Location:
intellij-plugin/
What is present in this repo snapshot
- Gradle plugin project
- plugin README / changelog
- manual packaging path
- tool-window-oriented UX concept for running and browsing QonQrete flows
- settings + run dialogs wired to current launcher options, including
--no-sync
Packaging
cd intellij-plugin
./gradlew buildPlugin
Important current behavior
Like the VS Code extension, the bundled IntelliJ plugin in this repo wraps the existing repo-local QonQrete CLI workflow.
10. Security model
The repository is designed around defense in depth.
Container security
- isolated Qage container runtime
- reduced capabilities
- read-only root patterns with writable work areas
- non-root execution with no runtime privilege transition
- tmpfs / resource-limiting patterns in runtime setup
File/path safety
Implemented helper concepts include:
- jail enforcement
- path validation
- symlink-aware checks
- size limits for key files
Provider safety
lib_ai.py and related code enforce:
- timeout handling
- bounded retry behavior
- sanitized error reporting
11. Current limitations
These limitations should be documented honestly for v1.4.5:
-
Repo-local workflow remains the active implementation model. The central engine / per-project metadata architecture is a future/product direction, not the current repo behavior.
-
IDE store publishing is outside the core runtime itself. The repo includes the extension/plugin projects and packaging paths, but that is distinct from the runtime behavior.
-
Experimental paths remain experimental. The standard CLI and IDE wrappers are the maintained execution surfaces.
-
Provider/model lists are whatever the current config and code support. Documentation should not invent providers or models that the repo does not actually implement.
-
Qontrabender is not universally useful for every provider path. The repo repeatedly documents its practical relevance to Gemini-oriented caching workflows.
Related docs
12. Workspace Deployment (v1.2.0+)
Deployment model
The IDE integrations now support one-click workspace deployment:
- Deploy to Workspace downloads a versioned release zip and extracts it into
<workspace>/.qonqrete/ - The runtime remains fully script-relative —
qonqrete.shderivesSCRIPT_DIRfrom its own location - User-facing
tasq.mdlives at workspace root; the IDE syncs it into.qonqrete/worqspace/tasq.mdbefore runs - Auto-init builds the container image on first run if missing
.qonqrete/is automatically added to.gitignore
Command flow
Install extension/plugin
→ Deploy to Workspace
→ Create tasq.md
→ Configure Run (optional)
→ Run Tasq (auto-init if needed, auto-sync tasq)
Image versioning
Container images are now tagged with the version:
qonqrete-qage:1.4.0(example current version)qonqrete-qage:latest(convenience alias)qonqrete-qage(untagged compatibility alias)
13. Cost Confirmation Gate (GateQeeper)
QonQrete supports an optional cost confirmation gate after CalQulator estimates the run cost.
Configuration
In worqspace/config.yaml:
options:
cost_confirmation_gate: false # default: false
When set to true, after CalQulator finishes, the GateQeeper prompts:
GateQeeper: Cost estimate above. Proceed with this run? [y/N]
The user must confirm before ConstruQtor begins. This prevents accidental expensive runs.
Behavior
- Only triggers after CalQulator completes successfully
- Skipped if CalQulator is skipped (e.g., local construqtor)
- In non-interactive usage with closed stdin, the gate defaults to
Noand cancels the run
14. OpenRouter Provider Support
OpenRouter is supported as a provider through its OpenAI-compatible API endpoint.
Configuration
agents:
construqtor:
provider: openrouter
model: anthropic/claude-sonnet-4
Environment variable
export OPENROUTER_API_KEY='...'
Supported models (via OpenRouter)
anthropic/claude-sonnet-4openai/gpt-4.1google/gemini-2.5-prodeepseek/deepseek-chat-v3- Any model available on OpenRouter’s platform
15. Venice Provider Support (v1.3.12)
Venice is supported as a provider through its OpenAI-compatible API endpoint at https://api.venice.ai/api/v1. A real Venice model ID is set in the agent’s model field (not a profile selector — Venice uses actual model identifiers).
Configuration
agents:
construqtor:
provider: venice
model: "qwen3-coder-480b-a35b-instruct-turbo"
# api_base_url: "https://api.venice.ai/api/v1" # default, override only if proxying
venice_parameters:
include_venice_system_prompt: false
# max_tokens: 8192
# context_window: 131072
Environment variable
export VENICE_API_KEY='...'
VENICE_API_KEY is required. Venice does NOT fall back to OPENAI_API_KEY. qrane fails early with a clear error if the key is missing while any agent is configured for provider: venice.
Example Venice models
The user may set any valid Venice text model ID. The following is a representative list at v1.3.12 release time; the authoritative list is always GET https://api.venice.ai/api/v1/models:
venice-uncensoredqwen3-coder-480b-a35b-instruct-turboqwen3-235b/qwen3-235b-a22b-instruct/qwen3-235b-a22b-thinkingqwen3-next-80bqwen3-4bqwen-2.5-qwq-32bqwen-2.5-coder-32bqwen-2.5-vlmistral-31-24bmistral-small-3.2-24b-instructllama-3.3-70bllama-3.2-3bllama-3.1-405bdolphin-2.9.2-qwen2-72bdeepseek-r1-671bdeepseek-r1-llama-70bdeepseek-coder-v2-liteclaude-opus-4.6claude-sonnet-4.6glm-5glm-4.7-flash-hereticminimax-2.5
The model string is passed through verbatim — QonQrete does not enforce or hardcode any specific Venice model.
venice_parameters pass-through
When venice_parameters is set under a Venice-configured agent, QonQrete passes the entire dict through to the request body under the venice_parameters key (via the OpenAI SDK’s extra_body). It is never transformed. By default QonQrete does NOT disable Venice’s system prompt; set include_venice_system_prompt: false explicitly if you want that behavior.
16. MLX and Llama-cpp Provider Support (v1.3.12)
The mlx and llama-cpp providers are designed for local or LAN OpenAI-compatible LLM runtimes (e.g. MLX server, llama.cpp server).
Configuration
agents:
construqtor:
provider: mlx # mlx | llama-cpp
api_base_url: "http://localhost:8080/v1" # REQUIRED
# model: "optional-model-string"
# max_tokens: 8192
# context_window: 16384
api_base_url is required for actual usage and must be set in the per-agent config block. If the model field is omitted or empty, QonQrete allows the upstream runtime to choose the model (the model field is omitted from the outbound JSON payload). This is achieved via a dedicated direct HTTP request path for these providers.
qrane does not fail on missing API keys for these providers — they run without authentication by default.
Environment variables (optional)
export MLX_API_KEY='...' # used when provider: mlx
export LLAMA_CPP_API_KEY='...' # used when provider: llama-cpp
Both are optional. If present, the matching key is sent as Bearer auth. If absent, the request proceeds without auth.
Profile defaults
| Provider | context_window | max_tokens |
|---|---|---|
mlx | 16384 | 8192 |
llama-cpp | 8192 | 4096 |
Per-agent context_window / max_tokens overrides take priority over these defaults.
Mindstack Architecture Notes
This page is an archived concept note.
For current, implementation-backed architecture details, refer to the Architecture tab, which is synced to v1.4.5.
Mindstack Notes
This page is retained as product-direction notes.
For active runtime behavior and supported workflows, use:
DocumentationArchitectureQuickstartRelease Notes
These pages are synced to the current v1.4.5 repository snapshot.
Qontrabender (v1.4.5)
Qontrabender is a cache payload compositor.
Current Role
- assembles cache payloads from runtime artifacts
- follows policy-driven selection logic
- is most practically relevant in Gemini-oriented caching workflows
Important Reality Check
Qontrabender is not universally useful for every provider path. Keep it enabled only when it matches your runtime strategy and validation goals.
Qwen 90k Fix (Archived)
This page is kept as historical experiment context.
Current provider support and model configuration behavior are maintained in:
Documentation(Providers and API keys)ConfigurationRelease Notes
These pages reflect the active v1.4.5 runtime state.
QonQrete Release Notes
v1.4.5 — MLCon Edition: Truthful Inspection, Controlled Sync, IntelliJ Hardening & License Update
This release consolidates the full MLCon 2026 arc — from the pre-conference sprint through live demo validation to post-conference IntelliJ hardening and license cleanup.
Truthful Inspection & Execution Control
- Final
qodeyard/files are authoritative review evidence with deterministic snippet metadata - Verdict synthesis prioritizes deterministic gates over advisory noise
- Plan/build/review/repair flows are structured with bounded repair loops
-N/--no-syncskips repo-root sync-back; outputs stay in qage/qonstruction paths for inspection
Runtime UX
- Reduced heartbeat chatter, concise default stream rendering with optional raw mode
- ConstruQtor defaults to
hybridcoding mode
Provider & Model Alignment
- Primary defaults:
venice / deepseek-v3.2for primary AI agents - Provider and model selection configurable per agent
- Local runtime support via
mlxandllama-cpp
IntelliJ Plugin — Full JetBrains Ecosystem Coverage
- Verified compatibility with all IntelliJ-based IDEs: IDEA, PyCharm, WebStorm, GoLand, CLion, RubyMine, Rider, DataGrip, PhpStorm
- Resolved class loading issues on 2023.x IDE builds
- Fixed
NoClassDefFoundErrorforProgressManageron certain JetBrains runtime versions - Corrected
PluginExceptionon startup for fresh installations - CI matrix covers IntelliJ Platform 2023.2 through 2026.1 (eight parallel runners)
Canonical Versioning & Installer Hygiene
- Root
VERSIONfile is the single source of truth across runtime, IDE plugins, and CI qonqrete.shreadsQONQ_VERSIONfrom VERSION (fail-loud on missing/empty)- The single install.sh at repo root is the source of truth, placed directly into the nginx image
- Versioned release archive
qonqrete-v1.4.5.zip
License Update
- LICENSE updated
v1.3.12 — Hardened direct Coding Mode & Determinism
Significant upgrades to ConstruQtor’s tool-based coding system and execution determinism.
ConstruQtor Hardening
- Mode-Aware Prompt Building: Monolithic prompts split into strategy-specific builders.
directmode now receives a clean tool-first contract with no heredoc leakage. - Hardened Direct Write: All tool-based writes now route through
safe_write_filewith a mandatoryvalidation-rootjail. Rejects path traversal and symlink escapes. - Cumulative Sandbox Validation: Repair-forward loop now validates the full cumulative candidate delta in the attempt workspace, catching cross-file regressions early.
- Robust Fallback: If tool calls are absent, the system now automatically falls back to fenced Markdown block extraction if present, or fails loudly if no usable output exists.
- Manifest Propagation:
coding_modeis now explicitly recorded in all attempt manifests and build reports for downstream auditability.
Determinism & Stability
- Sorted Sandbox Diffs:
os.walkiterations are now sorted, ensuring deterministic changed-file discovery order. - Deterministic Staging: File staging and commit sequences are sorted by relative path for stable manifests.
- Strict Config Validation:
coding_modeis strict and fails loud on invalid values.
v1.3.0 — Hardened Sandbox, Agent Renames, Legacy Cleanup
Major security hardening, agent identity cleanup, and removal of accumulated legacy compatibility layers.
Security & Container Hardening
- gosu eliminated — container runs as
qranevia DockerfileUSERdirective. No root phase, no privilege transition at runtime. - HOST_UID build-arg matching — on Linux/WSL, container qrane UID matches host user UID at build time. Bind-mounted files are natively owned by the host user. No chmod/chown helpers needed.
- Zero capabilities —
--cap-drop=ALLwith no caps added. Combined with--security-opt=no-new-privilegesto block any re-escalation. - Read-only rootfs —
--read-onlyon the container, dev code mounts (qrane/,worqer/) mounted:ro. - Hardened tmpfs —
/tmpand/home/qrane/.cachemounted withnoexec,nosuid,nodev. - docker-entrypoint.sh eliminated — umask inlined in Dockerfile
ENTRYPOINT. One less file, one less attack surface. - API key passthrough — keys passed via
-e KEY(env passthrough) instead of-e KEY=VALUE(argv exposure). - Helper containers deleted —
fix_qage_permissionsandengine_run_helperremoved entirely. UID matching makes them unnecessary. - File permissions tightened — dirs
0750, files0640, world gets nothing. No morea+rwXsprays.
Agent Renames
guard.py→qonstrictor.py(Qonstrictor)qontract_guard.py→qonfirmer.py(Qonfirmer)loqal_verifier.py→qualifier.py(Qualifier)- Display-name override system deleted — agent display names now derive from filenames via
.replace('q','Q').
Engine & Build
- Podman preferred over Docker in auto-detection (rootless-native, no daemon).
- Buildx is Docker-only — podman always uses plain builds.
CONTAINER_ENGINEenv override bug fixed (was captured after being blanked).- Image tag includes host UID on Linux/WSL for per-user cache correctness.
- Resource limits removed — container gets full host resources.
Versioning
VERSIONfile is the single source of truth. No hardcoded fallbacks.- Variable naming unified:
QONQ_V→QONQ_VERSIONeverywhere. QONQ_VERSIONpassed to container via-eat runtime, not baked into image.IMAGE_NAME_LEGACYtag removed (was duplicate of:latest).
Legacy Removal
--legacy-cycle-continuationflag removed from CLI.legacy_cycle_continuation_enabled()function deleted.promote_reqap()function deleted (was the legacy reqap→tasq continuation path).QONQ_LEGACY_QAGE_IDandQONQ_CANONICAL_RUN_ROOTenv vars removed.runs/andstate/directories deleted — no more symlink tracking.resolve_target_qageuses filesystem timestamps.legacy_aliasparameter renamed toagent_namethroughout manifest system.- All
legacy_*manifest field names cleaned.
Shell Script Cleanup
set -euo pipefailrestored (wasset -uodue to a landmine inprint_runtime_info()— fixed withreturn 0).PY_ARGSconverted from string to bash array — no shell-injection surface.resolve_absolute_path()rewritten usingpython3 os.path.abspath— no edge-case bugs.- Manifest parsing via
python3 json.load, notgrep | sed. save_qonstruction_core()extracted from duplicate save paths.- Dead code removed:
CONFIG_FILE,host_gid(), shadow symlinks,IMAGE_NAME_LEGACY. copy_dir_contentsexcludes.DS_Storeand._*automatically.
IDE Plugins
- Phantom CLI flags (
--tui,--msb,--wonqrete) removed from both VS Code and IntelliJ. - Agent config editors updated:
tasqleveler→qrystallizer, addedqonstrictor. - Stale
entrypoint.shreferences removed from deploy actions. - VS Code dead import (
ALL_API_KEYS) removed. - Secret management verified: VS Code uses
SecretStorage(OS keychain), IntelliJ usesPasswordSafe.
CI/CD
runtime-release.ymlupdated — removed staleentrypoint.sh,Sandboxfile, rootqonqrete.jpg.
Documentation
- README image path fixed (
qonqrete.jpg→qrane/qonqrete.jpg). - All docs updated to current agent names and CLI flags.
- Version strings synchronized to
1.3.0across all manifests.
v1.2.0 — Workspace Deployment & Hassle-Free Bootstrap
This is the first globally-publishable release of both the VS Code extension and IntelliJ plugin. Users can now install QonQrete from the IDE marketplace and be productive in under a minute — no manual cloning, no command line setup.
Headline: One-Click Workspace Deployment
Both IDE integrations now implement identical workspace-local deployment:
- Install the extension/plugin
- Run “QonQrete: Deploy to Workspace”
- Create a tasq.md at your project root
- Run — auto-init handles the rest
The runtime deploys into <workspace>/.qonqrete/ as a hidden directory, keeping the project clean. The user-facing tasq.md lives at the workspace root. The IDE syncs it into the runtime before each run.
New commands (both IDEs)
| Command | What it does |
|---|---|
| Deploy to Workspace | Downloads versioned release zip → extracts to .qonqrete/ → validates → updates .gitignore |
| Create tasq.md | Creates a starter template at workspace root and opens it |
| Run Tasq | Now auto-syncs root tasq, auto-inits if image missing, offers Deploy if runtime not found |
Core runtime changes
- Versioned image naming:
qonqrete-qage:1.2.0(also tagged:latestand legacy untagged for backward compat) - Runtime remains fully script-relative — zero architectural disruption
VS Code extension v1.2.0
- New:
Deploy to Workspacecommand with zip download + git clone fallback - New:
Create tasq.mdcommand - New: Auto-init on first Run Tasq (builds container image automatically)
- New: Root tasq.md sync before every run
- New:
.gitignoreauto-management - New:
.qonqrete/qonqrete.shadded to path discovery (preferred over legacy paths) - New: Sidebar Deploy + Create Tasq buttons
- Updated: Status bar suggests Deploy when runtime not found
- Updated: Welcome message offers Deploy
- Updated: Activation events include
.qonqrete/qonqrete.sh
IntelliJ plugin v1.2.0
- New:
Deploy to Workspaceaction with zip download + git clone fallback - New:
Create tasq.mdaction - New: Auto-init on first Run Tasq
- New: Root tasq.md sync before every run
- New:
.gitignoreauto-management - New:
.qonqrete/qonqrete.shin path discovery (preferred) - New: Tool window Deploy + Create Tasq buttons
- Updated: RunTasq offers Deploy when runtime missing, Create tasq when tasq missing
- Updated: Versioned image detection
Backward compatibility
- Legacy paths (
qonqrete.shat workspace root,qonqrete/qonqrete.shsubdirectory) remain as fallback detection - Legacy untagged
qonqrete-qageimage name still checked - Existing worqspace-only workflows continue to work
- No changes to core runtime architecture
v1.1.9-stable
This release syncs the repository around the v1.1.9-stable state and reflects the biggest shift since v1.0.4-stable: QonQrete is no longer just a core CLI runtime — the repo now also includes IDE integrations for VS Code and JetBrains tooling.
(See previous release notes for v1.1.9 and earlier details.)
Qompressor Skeletons (v1.4.5)
Qompressor creates deterministic structural skeletons in bloq.d/ from qodeyard/.
Current First-Class Paths
- Python AST skeletons
- Shell skeletons via
shfmt -tojsonwhen available - JavaScript/TypeScript via repo-shipped TypeScript helper
- HTML via
parse5 - CSS via
postcss
Optional fallback:
- Tree-sitter for unsupported parseable languages when explicitly installed via
requirements-optional-tree-sitter.txt
Why Use It
- preserve architecture-level context without shipping full implementation bodies
- keep context predictable and inspectable on disk
- support iterative runs with smaller prompt payloads
Capability Check
python worqer/qompressor.py --capabilities
InspeQtor Stages (v1.4.5)
InspeQtor combines deterministic and AI-assisted review paths.
Stage Outline
- deterministic gates (including QONTRACT and qualification checks)
- optional smoketest stage
- per-briq and meta-review AI stages
- verdict synthesis with deterministic gates prioritized over advisory noise
Evidence Semantics
validation_execution_modeis evidence-driven:NONE,STATIC_ONLY,EXECUTED,MIXED- prompt snippet truncation is treated as prompt-budget clipping, not proof of on-disk truncation
- final qodeyard files are treated as authoritative review evidence
VS Code Extension Usage (v1.4.5)
What It Is
The VS Code extension wraps the existing QonQrete CLI workflow inside VS Code.
Current AI Configuration Surface
Targets the four primary runtime agents:
qrystallizerinstruqtorconstruqtorinspeqtor
Default binding: venice / deepseek-v3.2.
Local-only providers (mlx, llama-cpp) are supported by runtime config but not shown in the shared provider/model picker.
Key Commands
QonQrete: Run TasqQonQrete: Resume RunQonQrete: Init WorkspaceQonQrete: Clean QagesQonQrete: Show StatusQonQrete: Set AI Configuration
Current Run Options Wired in UI
- sensitivity (
--briq-sensitivity) - cycles (
--cyqles) - mode (
--mode) - autonomous (
--auto) - no sync (
--no-sync) - qonstruction name (
--qonstruction-name) - seed repo (
--seed-repo) - container engine (
--docker/--podman)
--no-sync Behavior
When enabled, repo-root sync-back is skipped and outputs remain in qage/qonstruction paths.
Packaging
cd vscode-extension
npm install
npm run compile
npx vsce package
IntelliJ Plugin Usage (v1.4.5)
What It Is
The IntelliJ plugin wraps the existing repo-local QonQrete CLI workflow for JetBrains IDEs.
Current AI Configuration Surface
Targets the four primary runtime agents:
qrystallizerinstruqtorconstruqtorinspeqtor
Default binding: venice / deepseek-v3.2.
Local-only providers (mlx, llama-cpp) remain runtime-supported but are not shown in the shared provider/model picker.
Core Actions
- Run Tasq (
Ctrl+Alt+Q) - Run any markdown as task input
- Init workspace
- Resume run
- Clean qages
- Show status
- Set AI configuration
Current Run Options
The tool window/settings align with launcher options including:
--no-sync--seed-repo--briq-sensitivity--cyqles--mode--auto
Packaging
cd intellij-plugin
./gradlew buildPlugin
Install From Disk
Use the generated ZIP in build/distributions/.