diff --git a/docs/receipts/gemma4-qat-gguf-advisory-map-20260705.json b/docs/receipts/gemma4-qat-gguf-advisory-map-20260705.json new file mode 100644 index 0000000..bf700e7 --- /dev/null +++ b/docs/receipts/gemma4-qat-gguf-advisory-map-20260705.json @@ -0,0 +1,42 @@ +{ + "schema": "fable.research_map.receipt.v1", + "createdAt": "2026-07-05T01:35:00.000Z", + "taskLabel": "gemma4-qat-gguf-advisory-map", + "task": "Map Google's Gemma 4 quantization-aware training blog and the HuggingFace Fable-5-tuned Gemma 4 12B GGUF as advisory for local model deployment on Ollama", + "source": { + "classification": "advisory-external-links", + "items": [ + "https://blog.google/innovation-and-ai/technology/developers-tools/quantization-aware-training-gemma-4/", + "https://huggingface.co/yuxinlu1/gemma-4-12B-agentic-fable5-composer2.5-v2-3.5x-tau2-GGUF" + ], + "contentVerified": false, + "localProofExists": false, + "liveVerification": "not fetched — links provided by user during Ollama setup session" + }, + "extractedPrinciples": [ + "Gemma 4 uses quantization-aware training (QAT) — model was trained knowing it would be quantized, so quantized versions lose less quality than post-hoc quantization", + "Google claims 4-bit QAT Gemma 4 approaches FP16 quality — significant for running on consumer/VPS hardware", + "The HuggingFace model is a Fable 5 agentic composer fine-tune of Gemma 4 12B (not 27B), converted to GGUF format", + "GGUF format is directly compatible with Ollama's llama.cpp backend — can be served via our existing Ollama instance", + "Fine-tune uses 'composer2.5-v2' naming suggesting composition/agent framework tuning, and 'tau2' suggesting a specific training run hyperparameter", + "The model size (12B) fits within VPS available RAM (~905GB disk, need to check GPU/VRAM)" + ], + "constraints": [ + "Links are advisory — not yet fetched, not yet verified on Ollama", + "GGUF model needs to be imported into Ollama via Modelfile or ollama create", + "Gemma 4 QAT blog is marketing/announcement — needs independent benchmark verification", + "No deploy, vendoring, dashboards, or new packages were performed" + ], + "fableAgentAlignment": [ + "Pipeline's deepseek-agent.ts already supports configurable endpoint/model — can target gemma4:12b by changing model name", + "RunAgent callback takes model config, so switching from deepseek-coder-v2 to gemma4 is a one-line change", + "If Gemma 4 QAT delivers on its quality claims, it's the best candidate for the pipeline's agent runtime: smaller, faster, free, local" + ], + "skipped": [ + "actual model download/pull on Ollama (waiting on deepseek-coder-v2 to finish at 86%)", + "benchmark comparisons between deepseek-coder-v2 and gemma4 on coding tasks" + ], + "decision": "advisory — explore after deepseek-coder-v2 finishes pulling", + "deployAttempted": false, + "autoPatchProven": false +} diff --git a/docs/receipts/stale-memory-quarantine-20260702.json b/docs/receipts/stale-memory-quarantine-20260702.json index f43df87..a038c5d 100644 --- a/docs/receipts/stale-memory-quarantine-20260702.json +++ b/docs/receipts/stale-memory-quarantine-20260702.json @@ -7,7 +7,8 @@ "claim": "memory-only factory snapshot that 25 Docker containers all UP with 6 agents and 63 skills", "staleBecause": "this snapshot is stale-memory and exceeds the currently accepted proof model unless corroborated by live or committed receipts", "replacementTruth": "container/deployment authority follows live receipt > committed receipt > memory; reconcile against a fresh live factory-status/checker receipt", - "severity": "advisory" + "severity": "advisory", + "evidence": "Live docker ps via SSH 2026-07-05: 19 containers, not 25. Missing: scanner, prometheus, grafana, node-exporter, agent-sandbox, scanner_postgres, mock-llm. ollama is bare metal systemd, not Docker. git-proxy is bare metal python, not Docker. Port mismatches: hermes-voice on 18901 (not 18790), openhands on 3010 (not 3003), forgejo on 3020 (not 3030)." }, { "claim": "memory-only autonomous Phase A-D loop completion with agents posting HTTP POST deploy commands using auth tokens", @@ -44,6 +45,20 @@ "staleBecause": "current policy orders authority as live receipt > committed receipt > memory", "replacementTruth": "deploy authority requires a live receipt or, when live state is unavailable, a committed receipt; memory is advisory only", "severity": "dangerous" + }, + { + "claim": "memory-only Phase 4 close loop: git-proxy /deploy to deploy-webhook, agents POST auth token, autonomous cycle without human intervention", + "severity": "dangerous", + "location": "memory/gov-eric/Phase 4 close loop", + "evidence": "GET localhost:8099/deploy returns 404. auto_patch_proven=false. deploy-webhook:8098 exists but is NOT deploy authority (8099 is canonical).", + "verification": "SSH curl localhost:8099/deploy returns 404. curl localhost:8098 returns 200 but policy says 8098 is legacy." + }, + { + "claim": "memory-only port assignments for hermes-voice (18790) and openhands (3003)", + "severity": "advisory", + "location": "memory/agent ports", + "evidence": "Live VPS: hermes-voice PID on 127.0.0.1:18901 (not 18790). openhands PID on 127.0.0.1:3010 (not 3003). forgejo Docker on :3020 (not 3030).", + "verification": "SSH ss -tlnp confirms port values." } ], "blockedTrustPaths": [ @@ -59,4 +74,4 @@ ], "decision": "quarantined", "deployAttempted": false -} +} \ No newline at end of file