8.5 KiB
Asana — Guardrails and Fix Patterns
🧭 Quick Return to Map
You are in a sub-page of Automation Platforms.
To reorient, go back here:
- Automation Platforms — stabilize no-code workflows and integrations
- WFGY Global Fix Map — main Emergency Room, 300+ structured fixes
- WFGY Problem Map 1.0 — 16 reproducible failure modes
Think of this page as a desk within a ward.
If you need the full triage and all prescriptions, return to the Emergency Room lobby.
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
| 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.