New stream: Agentic Data Bootkon#2
Merged
fhirschmann merged 32 commits intoJul 3, 2026
Merged
Conversation
…jinja2 instead of shell vars
…in bootstrap, private-connection is async
…ql default lacks it)
…sanitizer-safe wait command, drop redundant . bk
…uto-reconnect, beginner simplifications
…propagation), add not-found rescue note
…outing rule - dataform AGENTS.md: enumerate the exact valid status set (agy guessed 'placed' and missed 'paid' without it, failing the assertion on real data) - adk AGENTS.md: pin exact imports, the singular 'instruction' kwarg, and the full Conversational Analytics chat request shape (API is newer than model training data; agy hallucinated DataAgentContext/stream_chat forms) - Lab 6 prompt (+ prompts.md): action-explicit wording -- 'create the files ... exactly as it describes' (print-mode agy plans without acting on the softer 'implement' phrasing) - concierge: routing rule 3 for questions mixing both planes (tool first, then transfer) -- verified the combined demo question now answers both halves
- data-tier aspect type must be created in location 'global', not 'us-central1': a regional aspect type does not appear in the attach dialog of the BigQuery dataset entries (they live in multi-region 'us'), so bronze/silver/gold tiers could never be stamped. Verified live. - spell out the enum-value and optional-aspect UI steps that the console actually shows. - bk-bootstrap: wait for the freshly created data-quality service account to become visible to IAM before granting roles (the first binding otherwise fails with 'service account does not exist').
fhirschmann
added a commit
that referenced
this pull request
Jul 10, 2026
…gnal
Review item #25b (P2). Since the no-project fail-fast landed, BK_INITIALIZED
was set in the same validated branch as PROJECT_NUMBER, making the two
signals exactly equivalent -- a second flag carrying the same bit, and one
more line in the participant-visible vars.local.sh.
Consumers now guard on the precondition they actually consume:
* stream bootstraps: [[ -z "$PROJECT_NUMBER" ]] -- strictly better, since
the service-agent emails they create are built from $PROJECT_NUMBER;
this also closes item #2's belt-and-braces gap (a bootstrap running
with an empty project number) for free. data's pip install now runs
after the guard instead of before it.
* bk-start: same check, same message.
* bk's first-run-vs-reload detection captures ${PROJECT_NUMBER:-} (present
on reload via the ~/.bashrc source, absent on a first or failed run --
so a retry after failed validation shows the full welcome banner again).
* bk-info drops the redundant display line; bk-deactivate's hint says
'unset PROJECT_NUMBER'.
Older vars.local.sh files are migrated opportunistically: the stale
BK_INITIALIZED line (and its comment) is deleted; nothing reads it anymore.
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.
Summary
Adds a new stream under
content/agenticdata: a 4-hour hands-on event (13:00–17:00) in which participants build an end-to-end agentic data platform for the fictional Cymbal commerce company, with the Antigravity CLI (agy) acting as an AI co-engineer throughout.Pipeline built during the event:
Cloud SQL for PostgreSQL (PSC-only, no public IPs) → Datastream CDC → BigQuery
cymbal_bronze→ Dataform CLI (agy-authored SQLX) →cymbal_silver/cymbal_gold→ Knowledge Catalog governance (tier aspects, auto data quality, PII policy tags, glossary, lineage) → BigQuery conversational data agent on gold → ADK multi-agent finale where a concierge agent delegates analytics over the A2A protocol and answers live operational lookups straight from Postgres.What's included
TUTORIAL.md+README.md, following the existing stream conventions (walkthrough directives, spotlights, per-lab duration/difficulty, challenge sections)bk-bootstrap(APIs, IAM, DQ service account, generated secrets)option1-vpc-peering-proxy.diff: a git-applyable fallback switching Labs 1–2 from PSC to VPC-peering + reverse-proxy connectivityDesign principles
src/), and each lab verifies results in the console via spotlightsStatus
Draft until a full smoke test on a sandbox account:
dataFreshness: "0s"accepted; change-to-queryable latency ~85 s.df-credentials.json— compile and runs greenREADME.md