Fix reader-blocking bugs in Signals tutorials - #1883
Conversation
- Standardize Signals base URL placeholders to https://YOUR_ID.signals.snowplowanalytics.com (matching the connection docs) across six tutorial pages - ml-prospect-scoring: fix user_attributes_group NameError, fix missing Event import (and drop unused EntityProperty), add the Signals client constructor to the setup page - interventions: replace undocumented stream_service.get_attributes() with sp_signals.get_service_attributes(), remove dead Tabs imports, delete orphaned sandbox.png - personalize-travel: show real attribute names instead of Python variable names (destination_page_view_count, budget_conscious_count, luxury_inclined_count) and align intervention prose with the >= 3 operator (fires on the third page view) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Style reviewThis PR is mostly mechanical (placeholder URLs, attribute renames, SDK method fixes) and reads cleanly. A few minor style points, all in 1. UI element not bolded —
|
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
documentation | 8fdb91a | Commit Preview URL Branch Preview URL |
Jul 28 2026, 04:41 PM |
Summary
Fixes four categories of reader-blocking bugs in the Signals tutorials — broken as-written base URLs, Python code that raises
NameError, a nonexistent SDK call, and attribute names that don't match the notebook (so a hand-followed intervention never fires).Base URL placeholders
Standardized all Signals base URL placeholders to
https://YOUR_ID.signals.snowplowanalytics.com, matching the format documented indocs/signals/connection/index.md. Previously these were non-functional as written:tutorials/signals-ai-agent-context/setup.mdandtutorials/signals-google-adk-agent/project-setup.mdusedhttps://signals.snowplowanalytics.com(no org subdomain)tutorials/signals-agentic-accelerator/configure-signals.mdandtutorials/signals-personalize-travel/defining-attributes.mdusedexample.signals.snowplowanalytics.com(no scheme)tutorials/signals-personalize-travel/setting-up.mdusedsignals.snowplow.comtutorials/signals-agentic-accelerator/connect-demo-app.mdused theexample.subdomain placeholderML prospect scoring tutorial
NameError: the attribute group is defined asuser_attributes_groupbut was referenced asuser_attribute_groupin the test and publish cellsEvent(used but never imported) and dropped unusedEntityPropertySignals(...)client constructor to the setup page (mirroringtutorials/signals-interventions/setup.md) —sp_signalswas used throughout but never created; moved the%pip installthere since the constructor depends on itInterventions tutorial
stream_service.get_attributes(signals=...)call withsp_signals.get_service_attributes(name=, attribute_key=, identifier=)perdocs/signals/applications/retrieve-attributes/index.mdTabs/TabItemimports (no tabs in the file)images/sandbox.png(no references anywhere)Personalize travel tutorial
static/notebooks/signals-personalize-travel-demo.ipynb):dest_page_view_count→destination_page_view_count,budget_conscious→budget_conscious_count,luxury_inclined→luxury_inclined_count. The intervention references the real names, so readers who typed the list values got a non-firing intervention. Also fixed the same mismatch intesting-attributes.mdandinterventions.mdprose.>= 3operator: it fires on the third destination page view, not the fourth ("more than three")Python variable names inside code blocks were left unchanged — they correctly match the notebook.
🤖 Generated with Claude Code