Install, configure, ship — with a verdict on every answer.
A hands-on walkthrough from a fresh VS Code install to your first verified chat response, inline completion, and source-grounded drawer. Every step shows the exact prompt, the response you should see, and what the verdict pill means. When you're done, you'll know how to read the drawer, when to trust the answer, and what to do when it's marked PARTIAL or CONFLICT.
Open VS Code. Hit Cmd/Ctrl+Shift+X to open the Extensions panel. Search for Wauldo Code. Confirm the publisher is wauldo (not a fork or impersonator) and click Install.
After install, the Wauldo Code icon appears in the activity bar on the left. Don't click it yet — we need a key first.
// step 02 · ~30 seconds
Grab a free API key from wauldo.com/pricing.
Open wauldo.com/pricing. Scroll to the BASIC tier — $0/month, 500 requests, no credit card. Click the signup CTA, confirm your email, and copy the key from your dashboard. It starts with tig_live_ and is ~64 characters long.
wauldo.com/pricing → BASIC tier ($0, 500 req/mo) → Get Free API Key
Keep the key private. Treat it like a password — don't paste it into git, Slack, or issue comments. If you leak one, rotate it from the dashboard immediately.
// step 03 · ~10 seconds
Paste the key into VS Code via the Command Palette.
In VS Code, hit Cmd/Ctrl+Shift+P to open the Command Palette. Type Wauldo: Configure API Key and press Enter. Paste your key into the input and hit Enter again.
Cmd/Ctrl+Shift+P → "Wauldo: Configure API Key" → paste → Enter
The key is stored in VS Code's SecretStorage — which maps to the OS keychain (Keychain on macOS, Credential Manager on Windows, libsecret on Linux). It is never written to settings.json, so committing your dotfiles is safe.
// step 04 · ~1 minute
Ask your first question. Read the verdict.
Click the Wauldo icon in the activity bar to open the chat panel. Paste this prompt:
Prompt · step 04
What's the difference between Box<T> and Rc<T> in Rust, and when would I use each?
The response streams word-by-word. When complete, a verdict pill appears under the message — most likely ● SAFE with a support score around 0.85–0.95 because this is well-covered in official Rust docs (available to the RAG corpus).
Chat response with SAFE verdict pill · support_score typically 0.85–0.95
● SAFE= answer's claims are supported by retrieved sources
// step 05 · ~1 minute
Click the verdict pill. Read the claim drawer.
Click the ● SAFE pill. A drawer opens and shows what the backend extracted from the answer — each atomic claim, whether it was supported, contradicted, or unverified, and which source chunk supports it.
Claims list with supported / unverified / contradicted dots · expanded source chunk excerpt · similarity %
Claim 2 — "Rc<T> enables shared ownership via reference counting" → supported (Rust Book §15.4).
Claim 3 — "Neither is thread-safe; use Arc<T> for that" → supported (Rust Book §16.3).
A drawer with all-supported claims is the cleanest signal you can get — the model didn't invent anything beyond the source material.
// step 06 · ~2 minutes
Attach a file. Ground the response on your code.
The default corpus covers popular docs (Rust Book, Python docs, React, etc.), but for your own project you want answers grounded in your code. Click the 📎 Attach button in the chat composer and select a file from your workspace — say your Cargo.toml.
Prompt · step 06
Based on the attached Cargo.toml, what features does this crate expose and which are enabled by default?
The file is uploaded to a tenant-scoped RAG index (per-user, private), chunks are extracted, and the next query retrieves from your file first. The drawer now cites your own Cargo.toml chunks, not public docs.
Attached file chip visible · response grounded on your file · drawer cites file chunks
Privacy: your files stay in your tenant partition. No cross-tenant retrieval, no training-set ingestion. Delete the file from your workspace's corpus via Wauldo: Clear My Corpus in the Command Palette when done.
// step 07 · ~1 minute
Start typing. Ghost text appears.
Open any .ts, .py, .rs, or .go file. Start typing a function signature. After ~300 ms of idle, a ghost-text completion appears in grey after your cursor. Press Tab to accept, Esc to dismiss.
// You type:functiondebounce(fn: Function, ms: number) {
// ← ghost text appears here
Ghost-text completion · Tab to accept · Esc to dismiss
Cancellation is immediate: if you keep typing, the in-flight completion is aborted — no stale suggestions catch up to you a second later. This matters for flow.
// step 08 · reference
Four verdicts. Four meanings.
The whole point of Wauldo Code is the verdict pill. Memorise these four states; the rest of the extension is just plumbing.
● SAFE
All claims backed by sources. Support score typically ≥ 0.75. Drawer shows all-supported claims. Default trust level: high. Ship what you see.
● PARTIAL
Some claims supported, some inferred. Support score 0.40–0.75. Drawer shows mixed dots. The model partially grounded its answer but added plausible-looking detail without backing. Trust level: medium. Read the drawer before copy-pasting.
● UNVERIFIED
No sources matched the answer. Either the question is out of scope for your corpus, or the answer is hedged enough to have no extractable claims. Trust level: low. Ask yourself whether you trust the model on this topic without grounding.
● CONFLICT
Answer contradicts a retrieved source. Hallucination rate ≥ 0.5 — the model said something the sources disagree with. Trust level: critical. Do not use as-is; read the drawer, find which claim fires and which source contradicts it.
// step 09 · decision tree
What to do when the verdict isn't SAFE.
Don't treat PARTIAL / UNVERIFIED / CONFLICT as "the extension is broken". Each one is actionable:
ON PARTIAL
Open the drawer, find unverified claims. Either (a) remove them from the answer before using it, or (b) re-prompt with explicit scope: "Only answer based on the attached file. Skip anything you can't cite."
ON UNVERIFIED
Your corpus is too small. Attach more files, or upload a reference doc (e.g. the library's README) as context. If your question is inherently outside any doc (design opinions, architecture trade-offs), UNVERIFIED is honest — use the answer with a mental asterisk.
ON CONFLICT
The model hallucinated against your own sources. Read the drawer — it highlights the contradicting claim and the source chunk that disagrees. Never copy a CONFLICT answer into code. Re-prompt or ask a narrower question.
Four failure modes you might hit. All of them surface clearly in the extension; no silent degradation.
"Invalid API key" error
Your key is malformed or was revoked. Run Wauldo: Configure API Key again and paste a fresh one from your dashboard. If the key is correct and still rejected, check you copied the whole thing — keys are ~64 characters and it's easy to miss the trailing chars.
"Request failed" banner / yellow status pill
Transient network issue or API downtime. The status pill in the nav turns yellow. Click it to retry the last request. If it stays yellow for > 1 min, check api.wauldo.com/health — a 200 means the service is up and the issue is on your network.
Inline completions never appear
Three checks: (1) the file's language is supported — check Wauldo Code: Languages in Settings, (2) you've typed at least 8 characters since the last suggestion — the extension rate-limits trivial suggestions, (3) you actually paused — completions fire after ~300 ms idle.
"Quota exceeded" mid-month
You hit the 500-request BASIC cap. Upgrade to PRO ($29/mo, 10k req) from wauldo.com/pricing, or wait until the quota resets on the 1st of next month. The extension will resume automatically — no re-configuration needed.
Response is empty or "[no output]"
The model timed out or produced only whitespace. Retry with a shorter, more specific prompt. If it persists across unrelated prompts, the chat backend may be throttled — check the status pill.
Invalid-key banner with one-click shortcut to re-configure
You're done. Every answer now comes with receipts.
Next step: point Wauldo Code at a real project. Attach a doc, ask the question you'd usually Google. Read the drawer. Trust, or don't.