Fetching metadata from the HF Docker repository...
Apr 17 20:14 feat: thinking mode, read_only_paths, ecosystem access for QB - model_client.py: enable Qwen3 thinking mode via /think prefix in
system prompt for OpenRouter + HuggingFace (QB_THINKING_ENABLED, default on)
- policy_engine.py: add read_only_paths optional param to can_access_path
and check_tool_call — allows spec execution to read sibling ecosystem repos
- app.py: define _ECOSYSTEM_READ_PATHS (17 VPS module dirs), pass to
check_tool_call in agent_loop
- spec_executor.py: read constraints["read_only_paths"] per spec, pass
to PolicyEngine on every tool call
Closes punchlist #168 (partial) — execution reads unlocked.
Rule 12 (verbatim code in task desc) still required for QB planning phase.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> 07:04 Fix HF fallback to catch all 4xx errors; add model_id override to _call_openrouter - HF fallback now catches any status_code < 500 (not just 402/404/503)
- 400 "model not valid/not on serverless" was crashing instead of falling back
- _call_openrouter() accepts optional model_id param so HF fallback passes
CODEMINE_MODEL_ID (OpenRouter format) instead of HF_MODEL_ID (hub format)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> 04:34 Add HuggingFace Inference API as primary Codemine provider with OpenRouter fallback - CODEMINE_PROVIDER=huggingface routes to HF Inference API (OpenAI-compat)
- _call_huggingface() auto-falls back to OpenRouter on 402 (credits exhausted)
- HF_MODEL_ID env var for HF hub format model names (separate from CODEMINE_MODEL_ID)
- .env updated: CODEMINE_PROVIDER=huggingface, HF_MODEL_ID=Qwen/Qwen3-Coder-480B-A35B-Instruct
- HF_TOKEN sourced from ~/.cache/huggingface/token
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Apr 6 00:49 Dial in Codemine chassis for OpenRouter + HF Spaces deployment Executor-Tyrant-Framework +1: Claude Opus 4.6 (1M context) - Fix NG singleton race: worker_ng owns instance, facade shares it
- Fix ingest_workspace TypeError (wrong API call to can_access_path)
- Fix read_file off-by-one (1-based docs, 0-based code)
- Add stats cache (30s TTL) — was doing 3 full disk scans per turn
- Wire recall_context results into agent context (was thrown away)
- Fix shell: 60s timeout (was 10s), shell=True for pipes/redirects
- Fix list_files silent truncation (shows "50 of N")
- Fix push_to_github to actually push when remote exists
- Add OpenRouter message format conversion (Anthropic→OpenAI tool blocks)
- Add dotenv loading for .env config
- Fix concept extraction lazy config (env vars read at call time, not import)
- Reduce checkpoint frequency (100 msgs, explicit save at turn end)
- Add python-dotenv to requirements
- Update Dockerfile cache buster
- Add data/ and .neurograph/ to gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Mar 31 06:14 Dual-pass embedding + multi-provider + vault ingestion Executor-Tyrant-Framework +1: Claude Opus 4.6 (1M context) - ng_embed.py: Snowflake ONNX (768-dim) replaces sentence-transformers
- Dual-pass ingestion: forest (gestalt) + trees (concept extraction via OpenRouter)
- model_client.py: CODEMINE_PROVIDER selects anthropic or openrouter, same tool_use interface
- universal_ingestor.py: EmbeddingEngine swapped to NGEmbed adapter
- worker_ng.py: OpenRouter concept extraction config, dual-pass in ingest_tool_result
- ingest_vault.py: Bulk vault ingestion script (267 docs → 11,182 nodes)
- requirements.txt: onnxruntime + tokenizers + openai SDK, dropped sentence-transformers
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Mar 29 17:48 QB First Blood: TQB Worker Chassis refactoring — 7 Lego blocks Executor-Tyrant-Framework +1: Claude Opus 4.6 (1M context) PRD: Faux_Clawdbot_Refactoring_PRD_v0.1
Build: Queen Bitch orchestrated, TQB agents built
Blocks:
- B (Anvil): PolicyEngine — Cricket-shaped rim + mesh + audit JSONL
- C (Chisel): Tool class split — RecursiveContextManager → tools/ facade
- E (Switchblade): Model swap — Kimi K2.5 → Claude native tool_use
- F (Forge): Worker NeuroGraph — code-judgment SNN, three-factor learning
- A (Razor): Security hardening — path traversal, shell=False, ZIP bomb, file size guard
- D (Torch): Error handling — zero bare except, structured logging
- G (Hammer): Agent loop — tool registry, PolicyEngine gates, token-aware context
System-level acceptance:
- Zero bare except in any Python file
- Zero regex in tool call parsing
- Zero Kimi/K2.5 references
- Zero shell=True
- Foundation layer (neuro_foundation.py, universal_ingestor.py, openclaw_hook.py) untouched
- Substrate validation passed (17 nodes, 45 synapses, 2 hyperedges)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>