Correct sdp-expectation-notifications docs from the 2026-08-22 egress and destination verification (v1.12.2) - #20
Merged
vmariiechko merged 2 commits intoAug 23, 2026
Conversation
… and destination verification Docs-only pass on the sdp-expectation-notifications asset, grounded in a live verification session (Free Edition serverless SDP, CLI v0.297.2, non-development-mode target). No behavior, defaults, or code changed. - Destination config: for an alert, Slack and Teams destinations take the incoming webhook URL and nothing else. The OAuth token, channel id, App ID, Auth Secret, Channel URL, and Tenant ID fields are optional on the form and scoped by its own heading to dashboard subscriptions, a different feature. Confirmed by the stored API config on a delivering destination (url_set true, oauth_token_set false, channel_id_set false). Corrects the claim shipped in 1.12.1 across the README, the alert resource comment, and the skill. - Hook email surface re-scoped: no Databricks-native email surface exists inside a hook, but the hook reaches arbitrary HTTPS (two unrelated third-party hosts, shipped code, HTTP 200). The network-policy dependency and the shipped requests.post passing no headers travel with that claim everywhere. - generic channel format is now live-tested; teams remains documented only. - Empty result state: Error explained wherever the sweep query invites edits, so COALESCE(SUM(...), 0) reads as load-bearing. - Measured numbers replace asserted ones: 116 ms POST, 3 ms DNS failure, a real WEBHOOK_DELIVERY_FAILED instance, and the Notified destinations column as product-shown evidence for one notification per state transition. - New: the three message shapes one violation produces, and what each lets a responder triage without clicking. - Skill gains the CLI delete behavior (delete is immediate, list is eventually consistent, a redundant delete errors). - Fixed a stale hook_progress comment in event_log_queries.sql that contradicted the 1.12.0 correction. Release 1.12.2: changelog finalized, both version markers bumped.
… open questions, trim changelog - The "no Slack, Teams, or webhook target" test was made stale by this same PR's arbitrary-HTTPS finding. Broadened to "any endpoint the hook can post to" in the asset README, the companion skill, and the in-bundle doc, keeping the two limits attached (no headers on the shipped call, network policy decides). - Added 2026-08-22 to the provenance line above the hook rules, which now carries a bullet from that session. - Split the honest-limits run-on: the governed-workspace egress question gets its own bullet as the one that matters most, with the hook and destination open questions as separate bullets. - Trimmed the 1.12.2 changelog entry to the shape of the 1.12.1 entry: dropped the verification narrative, the "what stands unchanged" recital, and the internal note about how the 1.12.1 error was made. What a user who acted on 1.12.1 needs (that it was wrong, and what is true instead) stays.
vmariiechko
deleted the
docs/sdp-expectation-notifications-egress-destinations
branch
August 23, 2026 07:03
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related Issue
Closes #
Summary
Documentation-only pass on the
sdp-expectation-notificationsasset, driven by a live verification session (2026-08-22, Free Edition serverless SDP, CLI v0.297.2, non-development-mode target). Every change is text: no behavior, no defaults, no code. The shipped throttle (throttle_seconds: 3600), the commentedretrigger_seconds, the daily cron with its matchingINTERVAL 1 DAY, thefailed_records > 0threshold, andmax_allowable_consecutive_failures=Noneare all untouched.The headline is a correction of a claim this repo shipped in v1.12.1: a Slack or MS Teams notification destination does not need an OAuth token, channel id, App ID, Auth Secret, Channel URL, or Tenant ID for an alert. Those fields are marked
(optional)on the Add-destination form and scoped by the form's own section heading to dashboard subscriptions, a different Databricks feature. For an alert, the webhook URL is the whole requirement, confirmed independently of the form by the stored API config of a Slack destination that then delivered five messages (url_set: true, oauth_token_set: false, channel_id_set: false). The v1.12.1 wording came from a documentation-retrieval summary treated as source text.The v1.12.1 changelog entry is deliberately not rewritten. Its text stands and carries a short bracketed pointer to the correction, so released history is not edited to hide the error.
Changes
assets/sdp-expectation-notifications/README.md, the backstop alert resource comment, and the skill'sadapt-the-pattern.md. What survives unchanged: destinations serve Databricks SQL and jobs only and never the event hook; a destination wraps a webhook rather than replacing one; EMAIL is the only type taking plain addresses; minting a Slack incoming webhook is still a Slack app install; the non-deduplicated double-send when a destination and auser_emailpoint at the same address.requests.postpasses noheaders, so an authenticated email API needs the hook edited first.genericchannel format is live-tested (all six fields verbatim, counts as JSON numbers).teamsremains documented and not live-tested.Empty result state: Errorexplained in the three places that invite a sweep-query edit, soCOALESCE(SUM(...), 0)reads as load-bearing rather than cosmetic. Editing the query into a zero-row shape silently converts the backstop into a per-evaluation ERROR emailer.WEBHOOK_DELIVERY_FAILEDinstance (named asrequests.exceptions.ConnectionError, sincetype(e).__name__renders it bare and collides with the builtin), and the History panel'sNotified destinationscolumn as product-shown evidence for one notification per state transition.Last 5 runslists evaluations rather than notifications.listis eventually consistent, so verify withget; a redundant delete errors rather than being idempotent. The existing create-quirk callout is unchanged and still reproduces on CLI v0.297.2.event_log_queries.sql.tmpl: itshook_progressnote still claimed enable/disable state only, which v1.12.0 corrected everywhere else, so the asset shipped a comment contradicting its own README.Change Area
template/, schema, helpers)assets/<name>/)Configuration Axes Affected
databricks_template_schema.json)library/helpers.tmpl)Testing
pytest tests/ -V): 2446 passed, 163 skipped in 236sdatabricks bundle init assets/sdp-expectation-notifications --config-file tests/configs/assets/sdp_expectation_notifications.json --output-dir <dir>): all eight files render, no stray{{, alert YAML parses with defaults intactAsset Changes (if applicable)
databricks bundle init assets/sdp-expectation-notifications --output-dir <dir>library/helpers.tmplor other assets)tests/configs/assets/sdp_expectation_notifications.jsonpresent (unchanged)Release (if this PR cuts a release)
CHANGELOG.mdfinalized:[Unreleased]renamed to[1.12.2] - 2026-08-23, fresh empty[Unreleased]added above1.12.2(pyproject.tomlandtemplate/{{.project_name}}/bundle_init_config.json.tmpl)tests/test_release_metadata.py)Checklist
{{ }}blocks).tmplfiles appear in generated output