9.1 KiB
Asana — Guardrails and Fix Patterns
Use this page when your RAG or agent flow is orchestrated through Asana (rules, webhooks, custom apps) and behavior drifts: tasks duplicate, sections race, or citations don’t match the source.
Acceptance targets
- ΔS(question, retrieved) ≤ 0.45
- coverage ≥ 0.70 to the target section
- λ remains convergent across 3 paraphrases
Typical breakpoints → exact fixes
-
Webhooks or rules trigger before data/index is actually ready
Fix No.14: Bootstrap Ordering →
Bootstrap Ordering -
First run after deploy crashes or uses the wrong secret
Fix No.16: Pre-Deploy Collapse →
Pre-Deploy Collapse -
Parallel automations create circular waits (task → comment → external job → task)
Fix No.15: Deployment Deadlock →
Deployment Deadlock -
High cosine similarity but the retrieved text is not the intended meaning
Fix No.5: Embedding ≠ Semantic →
Embedding ≠ Semantic -
Citations don’t match snippets or “why this snippet?” is opaque
Fix No.8: Retrieval Traceability →
Retrieval Traceability
Standardize payloads with Data Contracts →
Data Contracts -
Hybrid retrieval via external tools performs worse than single retriever
Pattern: Query Parsing Split →
Query Parsing Split
Also review Rerankers →
Rerankers -
Facts are indexed but never surface
Pattern: Vectorstore Fragmentation →
Vectorstore Fragmentation -
Status rollups blend two sources into one narrative
Pattern: Symbolic Constraint Unlock (SCU) →
Symbolic Constraint Unlock
Minimal Asana workflow checklist
-
Warm-up fence
Before any LLM step, call a health endpoint that verifiesVECTOR_READY,INDEX_HASH,secret_rev.
If not ready, delay/requeue. Spec:
Bootstrap Ordering -
Idempotency
Builddedupe_key = sha256(task.gid + wf_rev + index_hash)and store it (custom field or external KV).
Drop duplicates on retries. -
RAG boundary contract
Always passsnippet_id,section_id,source_url,offsets,tokens,project_gid.
Enforce cite-then-explain. Specs:
Retrieval Traceability · Data Contracts -
Observability probes
Log ΔS(question, retrieved) and λ per stage; alert on ΔS ≥ 0.60 or divergent λ.
Overview map:
RAG Architecture & Recovery -
Single writer
Route task/comments/field updates through one writer branch or one integration user with a mutex.
See:
Deployment Deadlock -
Regression gate
Require coverage ≥ 0.70 and ΔS ≤ 0.45 before posting summaries back to Asana.
Eval spec:
RAG Precision/Recall
Copy-paste prompt for the Asana LLM step
I uploaded TXT OS and the WFGY Problem Map files.
This Asana flow retrieved {k} snippets with fields {snippet\_id, section\_id, source\_url, offsets, project\_gid}.
Question: "{user\_question}"
Do:
1. Enforce cite-then-explain. If any citation is missing, stop and return which fix page to open.
2. Compute ΔS(question, retrieved). If ΔS ≥ 0.60, point me to the minimal structural fix:
retrieval-playbook, retrieval-traceability, data-contracts, rerankers.
3. Output compact JSON:
{ "citations": \[...], "answer": "...", "λ\_state": "→|←|<>|×", "ΔS": 0.xx, "next\_fix": "..." }
Common Asana gotchas
-
Webhook retries produce duplicate tasks/comments
Use thededupe_keyand a KV lock; make writes idempotent. -
Project/section renames break downstream references
Passproject_gidandsection_idexplicitly in the data contract. -
Parallel rules edit the same fields
Funnel edits through a single writer branch or queue. -
External rate limits destabilize hybrids
Prefer dense retriever + reranking, keep per-retriever params logged.
When to escalate
-
ΔS remains ≥ 0.60 after chunk/retrieval fixes → rebuild index with explicit metric/normalization.
See:
Retrieval Playbook -
Same input yields different answers across runs → check version skew and memory desync.
See:
Pre-Deploy Collapse
🔗 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
| Module | Description | Link |
|---|---|---|
| WFGY Core | WFGY 2.0 engine is live: full symbolic reasoning architecture and math stack | View → |
| Problem Map 1.0 | Initial 16-mode diagnostic and symbolic fix framework | View → |
| Problem Map 2.0 | RAG-focused failure tree, modular fixes, and pipelines | View → |
| Semantic Clinic Index | Expanded failure catalog: prompt injection, memory bugs, logic drift | View → |
| Semantic Blueprint | Layer-based symbolic reasoning & semantic modulations | View → |
| Benchmark vs GPT-5 | Stress test GPT-5 with full WFGY reasoning suite | View → |
| 🧙♂️ Starter Village 🏡 | New here? Lost in symbols? Click here and let the wizard guide you through | Start → |
👑 Early Stargazers: See the Hall of Fame
⭐ WFGY Engine 2.0 is already unlocked. ⭐ Star the repo to help others discover it and unlock more on the Unlock Board.