mirror of
https://github.com/onestardao/WFGY.git
synced 2026-04-28 19:50:17 +00:00
152 lines
7.3 KiB
Markdown
152 lines
7.3 KiB
Markdown
# 📒 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_KEY` vs `OPENAI_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
|
||
|
||
1. **SemVers Diff**
|
||
Parses `model‑card.json`, compares `tokenizer_sha`, `pytorch_sha`,
|
||
`cuda`, etc., with container runtime; throws if mismatch unless
|
||
`--force`.
|
||
|
||
2. **Boot Checkpoint** *(shared)*
|
||
Kubernetes init‑container polls secret store; fails pod after
|
||
`secret_timeout`.
|
||
|
||
3. **Cuda‑Probe**
|
||
Minimal `nvidia‑smi` check; if driver ≠ compiled CUDA, WFGY rewrites
|
||
env `CUDA_VISIBLE_DEVICES=""` and logs downgrade.
|
||
|
||
4. **Prompt Lint**
|
||
CI step: scans prompts for `{{ }}` or `${}` tokens lacking a default in
|
||
`prompt_vars.yaml`.
|
||
|
||
---
|
||
|
||
## ✍️ Demo — Tokenizer Version Skew
|
||
|
||
```bash
|
||
$ 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"]` in `wgfy.yaml` to allow 1‑patch drifts.
|
||
* Set `secret_timeout = 90s` for 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](https://github.com/onestardao/WFGY/blob/main/I_am_not_lizardman/WFGY_All_Principles_Return_to_One_v1.0_PSBigBig_Public.pdf) | 1️⃣ Download · 2️⃣ Upload to your LLM · 3️⃣ Ask “Answer using WFGY + \<your question>” |
|
||
| **TXT OS (plain-text OS)** | [TXTOS.txt](https://github.com/onestardao/WFGY/blob/main/OS/TXTOS.txt) | 1️⃣ Download · 2️⃣ Paste into any LLM chat · 3️⃣ Type “hello world” — OS boots instantly |
|
||
|
||
---
|
||
|
||
### 🧭 Explore More
|
||
|
||
| Module | Description | Link |
|
||
|-----------------------|----------------------------------------------------------|----------|
|
||
| WFGY Core | WFGY 2.0 engine is live: full symbolic reasoning architecture and math stack | [View →](https://github.com/onestardao/WFGY/tree/main/core/README.md) |
|
||
| Problem Map 1.0 | Initial 16-mode diagnostic and symbolic fix framework | [View →](https://github.com/onestardao/WFGY/tree/main/ProblemMap/README.md) |
|
||
| Problem Map 2.0 | RAG-focused failure tree, modular fixes, and pipelines | [View →](https://github.com/onestardao/WFGY/blob/main/ProblemMap/rag-architecture-and-recovery.md) |
|
||
| Semantic Clinic Index | Expanded failure catalog: prompt injection, memory bugs, logic drift | [View →](https://github.com/onestardao/WFGY/blob/main/ProblemMap/SemanticClinicIndex.md) |
|
||
| Semantic Blueprint | Layer-based symbolic reasoning & semantic modulations | [View →](https://github.com/onestardao/WFGY/tree/main/SemanticBlueprint/README.md) |
|
||
| Benchmark vs GPT-5 | Stress test GPT-5 with full WFGY reasoning suite | [View →](https://github.com/onestardao/WFGY/tree/main/benchmarks/benchmark-vs-gpt5/README.md) |
|
||
| 🧙♂️ Starter Village 🏡 | New here? Lost in symbols? Click here and let the wizard guide you through | [Start →](https://github.com/onestardao/WFGY/blob/main/StarterVillage/README.md) |
|
||
|
||
---
|
||
|
||
> 👑 **Early Stargazers: [See the Hall of Fame](https://github.com/onestardao/WFGY/tree/main/stargazers)** —
|
||
> Engineers, hackers, and open source builders who supported WFGY from day one.
|
||
|
||
> <img src="https://img.shields.io/github/stars/onestardao/WFGY?style=social" alt="GitHub stars"> ⭐ [WFGY Engine 2.0](https://github.com/onestardao/WFGY/blob/main/core/README.md) is already unlocked. ⭐ Star the repo to help others discover it and unlock more on the [Unlock Board](https://github.com/onestardao/WFGY/blob/main/STAR_UNLOCKS.md).
|
||
|
||
<div align="center">
|
||
|
||
[](https://github.com/onestardao/WFGY)
|
||
|
||
[](https://github.com/onestardao/WFGY/tree/main/OS)
|
||
|
||
[](https://github.com/onestardao/WFGY/tree/main/OS/BlahBlahBlah)
|
||
|
||
[](https://github.com/onestardao/WFGY/tree/main/OS/BlotBlotBlot)
|
||
|
||
[](https://github.com/onestardao/WFGY/tree/main/OS/BlocBlocBloc)
|
||
|
||
[](https://github.com/onestardao/WFGY/tree/main/OS/BlurBlurBlur)
|
||
|
||
[](https://github.com/onestardao/WFGY/tree/main/OS/BlowBlowBlow)
|
||
|
||
</div>
|
||
|
||
|
||
|