6 KiB
📒 Problem #16 ·Pre‑Deploy Collapse Problem Map
“Everything looked fine in CI… until nothing booted in prod.”
Pre‑deploy collapse happens before a single user query is served.
Migrations pass, tests are green, images ship — yet the first container
crashes or the very first LLM call returns a 500. Common root causes:
- Model checkpoint ≠ tokenizer version
- Env var misspells (e.g.,
OPEN_API_KEYvsOPENAI_API_KEY) - Hidden f‑strings / Jinja placeholders left unresolved
- GPU drivers mismatch container base (CUDA 11 vs 12)
WFGY’s pre‑flight sanity layer runs a semantic diff between declared runtime and effective runtime, catching mismaps before traffic starts.
🚨 Typical Pre‑Deploy Collapses
| Pattern | Real‑World Fallout |
|---|---|
| Tokenizer / checkpoint version skew | Embeds garbage; queries 0 % recall |
| Missing secret in K‑V store | First API call 401 / segfault |
| CUDA / driver mismatch | GPU container exits code 139 |
Undigested template vars ({{ }}) |
Prompt crashes, empty completions |
🛡️ WFGY Pre‑Flight Guards
| Collapse Pattern | Guard Module | Remedy | Status |
|---|---|---|---|
| Version skew | SemVers Diff | Abort deploy if model.json ↔ runtime mismatch |
✅ Stable |
| Missing secret | Boot Checkpoint | Block start until secret present | ✅ Stable |
| Driver mismatch | Cuda‑Probe | Warn & fall back to CPU safe mode | ⚠️ Beta |
Stray {{var}} tokens |
Prompt Lint | Fail CI; highlight undeclared vars | ✅ Stable |
📝 How It Works
-
SemVers Diff
Parsesmodel‑card.json, comparestokenizer_sha,pytorch_sha,cuda, etc., with container runtime; throws if mismatch unless--force. -
Boot Checkpoint (shared)
Kubernetes init‑container polls secret store; fails pod aftersecret_timeout. -
Cuda‑Probe
Minimalnvidia‑smicheck; if driver ≠ compiled CUDA, WFGY rewrites envCUDA_VISIBLE_DEVICES=""and logs downgrade. -
Prompt Lint
CI step: scans prompts for{{ }}or${}tokens lacking a default inprompt_vars.yaml.
✍️ Demo — Tokenizer Version Skew
$ wgfy preflight
✔ env vars ............... OK
✖ checkpoint ↔ tokenizer .. MISMATCH
• model: facebook/llama‑2‑7b‑chat‑hf tokenizer‑sha = `ad4c1b9`
• runtime: tokenizer‑sha = `9e7f02d`
→ Aborting deploy (use --force to override)
🗺️ Module Cheat‑Sheet
| Module | Role |
|---|---|
| SemVers Diff | Catch model / tokenizer skew |
| Boot Checkpoint | Ensure secrets & config exist |
| Cuda‑Probe | Verify GPU driver compatibility |
| Prompt Lint | Fail CI on stray template vars |
📊 Implementation Status
| Feature | State |
|---|---|
| SemVers diff | ✅ Stable |
| Boot checkpoint | ✅ Stable |
| Cuda‑probe fallback | ⚠️ Beta |
| Prompt lint in CI action | ✅ Stable |
📝 Tips & Limits
- Add
ignore_versions: ["minor"]inwgfy.yamlto allow 1‑patch drifts. - Set
secret_timeout = 90sfor slower vaults. - GPU fallback adds ~0.4 s latency per request — tune
cuda_probe.mode.
🔗 Quick-Start Downloads (60 sec)
| Tool | Link | 3-Step Setup |
|---|---|---|
| WFGY 1.0 PDF | Engine Paper | 1️⃣ Download · 2️⃣ Upload to your LLM · 3️⃣ Ask “Answer using WFGY + <your question>” |
| TXT OS (plain-text OS) | TXTOS.txt | 1️⃣ Download · 2️⃣ Paste into any LLM chat · 3️⃣ Type “hello world” — OS boots instantly |
Explore More
| Layer | Page | What it’s for |
|---|---|---|
| Proof | WFGY Recognition Map | External citations, integrations, and ecosystem proof |
| Engine | WFGY 1.0 | Original PDF based tension engine |
| Engine | WFGY 2.0 | Production tension kernel and math engine for RAG and agents |
| Engine | WFGY 3.0 | TXT based Singularity tension engine, 131 S class set |
| Map | Problem Map 1.0 | Flagship 16 problem RAG failure checklist and fix map |
| Map | Problem Map 2.0 | RAG focused recovery pipeline |
| Map | Problem Map 3.0 | Global Debug Card, image as a debug protocol layer |
| Map | Semantic Clinic | Symptom to family to exact fix |
| Map | Grandma’s Clinic | Plain language stories mapped to Problem Map 1.0 |
| Onboarding | Starter Village | Guided tour for newcomers |
| App | TXT OS | TXT semantic OS, fast boot |
| App | Blah Blah Blah | Abstract and paradox Q and A built on TXT OS |
| App | Blur Blur Blur | Text to image with semantic control |
| App | Blow Blow Blow | Reasoning game engine and memory demo |
If this repository helped, starring it improves discovery so more builders can find the docs and tools.