Diagnostics Guide

Use this checklist before escalating issues to the core team. It focuses on the alpha surfaces that we know are stable today: hosted chat streaming, template hydration, and ownership metadata.

1. Confirm the service is up

curl -s https://app.weldr.dev/api/health

  • • ✅ You should see {"status":"ok"}. Anything else suggests the deployment is rolling; wait a minute before trying again.
  • • If you are on a local dev build, run pnpm dev in the repo root and re-check http://localhost:3000/api/health.
  • 2. Verify authentication

  • Visit https://app.weldr.dev in a private tab.
  • Request a magic link and ensure it logs you into the workspace selector.
  • If login loops, clear the sb-access-token/sb-refresh-token cookies and retry.
  • 3. Send a smoke prompt

    chat_id=$(uuidgen)
    message_id=$(uuidgen)
    curl -N https://app.weldr.dev/api/chat \
      -H "Content-Type: application/json" \
      -H "Cookie: sb-access-token=...; sb-refresh-token=..." \
      -d '{
            "id": "'$chat_id'",
            "message": {
              "id": "'$message_id'",
              "role": "user",
              "parts": [{ "type": "text", "text": "Say hello" }]
            },
            "selectedChatModel": "chat-model",
            "selectedVisibilityType": "private"
          }'

  • • You should see data: {"type":"text-delta"...} followed by a finish event. If the stream ends immediately with error, capture the payload and attach it to your report.
  • 4. Apply a template (optional)

    Templates are experimental but should hydrate cleanly when the assets are fresh:

    curl -s https://app.weldr.dev/api/templates/apply \
      -H "Content-Type: application/json" \
      -H "Cookie: sb-access-token=...; sb-refresh-token=..." \
      -d '{"templateId":"taskops-helpdesk"}'

  • • Expect { "chatId": "" }. If you see Template ... not found, run pnpm template:export taskops-helpdesk --force locally and redeploy assets before retrying.
  • 5. Ownership sanity check

    If a regenerated surface drops custom code, confirm the manifest stored for that chat:

    curl -s https://app.weldr.dev/api/ownership/<chatId> \
      -H "Cookie: sb-access-token=...; sb-refresh-token=..."

  • • Look for the path you expect (for example components/blog/PostCard.tsx). If it is missing, re-run weldr manifest verify inside your synced workspace and update the manifest via /api/ownership/update.
  • 6. Capture logs

  • • Browser: open DevTools → Network → filter on /api/chat, copy the request/response headers.
  • • Server (local dev): tail the terminal running pnpm dev. The chat handler logs DSL deltas, stream IDs, and quality-gate failures.
  • 7. Reporting template

    When you file an issue in #weldr-docs or GitHub, include:

  • chatId
  • messageId
  • • Timestamp + timezone
  • • Result of /api/health
  • • Whether curl streaming test succeeded
  • • Any console or terminal logs
  • Providing the checklist above speeds up triage and helps us keep the alpha stable for everyone else. Thanks!