AI Travel Scout — test report

Credentials used (no secrets)

Test results

# Test Result Evidence
1 Workflow structure PASS n8n_validate_workflow valid:true for both workflows
2 Credentials wired PASS OpenAI/SerpApi/Gmail bound on the right nodes
3 Intake (form → parse → insert) PASS execution 3034, Data Table row id 2, status new
4 SerpApi Google Hotels PASS execution 3038, HTTP 200, 20 properties for "Barcelona hotels"
5 Ranking (TOP 3 + best) PASS best Hotel 1898 (score 95), 3 alternatives, budget summary; table updated
6 Destination Guide PASS valid JSON: intro, facts, 4 activities, local tips
7 Travel Advisor + final body PASS full PL email body assembled (summary, hotel, pros/cons, TOP3, facts, activities, tips, plan)
8 Gmail send PASS execution 3038, Gmail message id 19f00188f2f7a5eb
9 Mail MCP verification PASS Gmail readonly MCP found message id 19f00188f2f7a5eb, from/to twoj-testowy-adres@example.com, subject "Rekomendacja city break w Barcelonie - czerwiec 2026", body contains "Hotel 1898"
10 Final table update PASS row id 2: status=sent, recommendation_subject, recommendation_body, destination_guide, last_sent_at=2026-06-25T18:43:57Z

Bugs found and fixed during the run

  1. Intake form fields nulln8n_test_workflow form trigger maps fields by technical name field-0/1/2, not by label. First run errored at normalize ("Brak emaila"). Re-ran with field-N keys → PASS. In a real browser-submitted form the labels (email, travel_description, monitor_frequency) work directly.
  2. Stale node references in Code nodes — initial Code nodes referenced course node names (Prepare query params, Extract hotels for AI, Parse AI ranking) but my nodes use prefixes (Set:/Code:). Patched via n8n_update_partial_workflow patchNodeField → PASS.
  3. Gmail API disabled in Google Cloud — OAuth project [google-cloud-project-id] had Gmail API off (403 SERVICE_DISABLED). Enabled it in Cloud Console; retry → mail sent.

Executions

Risks / known issues

See travel-scout-known-issues.md.

Subagent reports

Built single-agent, but per-component evidence is split into the same module reports: - subagents/sonnet-intake-report.md - subagents/sonnet-monitor-ranking-report.md - subagents/sonnet-recommendation-gmail-report.md - subagents/sonnet-integration-qa-report.md - subagents/sonnet-mail-data-verification-report.md

Final verification

See opus-final-verification.md. Verdict: PASS. The mail arrived and was independently confirmed via Gmail MCP; Data Table is correctly updated; demo is showable.