agenticdata: optional labs 7-10 (managed Dataform, AI.FORECAST, sharing, Day-2 Ops)#4
Merged
Merged
Conversation
…ng, day-2 ops), not wired into TUTORIAL.md
fhirschmann
added a commit
that referenced
this pull request
Jul 10, 2026
Review items #26 and #27 (P3), plus the defensive chmod from item #4. Three edge cases: (a) a --comment containing a newline would write its second line outside the '# ' prefix -- executed by every terminal that sources vars.local.sh -- and (b) '--comment' as the last argument died on set -u with a cryptic message; both are now rejected with a clear error. (c) Appending to a hand-edited file without a trailing newline concatenated two exports onto one line; a newline is now ensured first. Additionally, when bk-set-var itself creates the target file it now chmods it to 600 immediately: the file may receive secrets later, and the default umask would leave it world-readable.
fhirschmann
added a commit
that referenced
this pull request
Jul 10, 2026
…ckout Review items #19b, #4 (P0) and #16 (P1), all confirmed with repros. * Pre-clone probe: one HEAD request against the raw content/$BK_STREAM/TUTORIAL.md validates BK_REPO, BK_BRANCH and BK_STREAM at once, in about a second, BEFORE any clone happens or any workspace opens. A typo now fails with one clear message and leaves nothing behind (works for forks too -- the probe uses the launch-provided BK_REPO). The post-clone stream check stays as belt and braces. * The clone itself is checked; a failure explains the recovery instead of letting the sourced script keep running without set -e. * The reuse guard now requires .git AND vars.sh: a clone that died between the two (disk full, closed tab) used to pass the old .git-only test, print a reassuring green message, and then cascade -- cp failed, sources failed, vars.local.sh got recreated world-readable via touch, and bk-start opened a blank tutorial. Such a directory is now rejected with an explicit rm -rf recovery line. * Re-pasting the launch command (the documented way to pick up mid-event content fixes) now fast-forwards a clean existing checkout quietly; plain '. bk' reloads stay offline. Local changes are left alone with a yellow note.
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.
Four optional drop-in modules for extended/future events. Deliberately not wired into
TUTORIAL.md— each lab carries a marker comment with wiring instructions (renumber, include, merge itssrc/optional/<slug>/prompts.mdintosrc/prompts.md, add duration to the README agenda).src/optional/managed_dataform/push_to_dataform.sh), compiled graph, release + workflow configs, 15-min schedule executing asdataquality-service-account.AI.FORECAST/TimesFM warm-up, agy-authoredforecast-tagged Dataform mart, data canvas actuals-vs-forecast, gated Lab-5 section teaching the data agent forward-looking answers.NOLOGIN+ backend terminate ondatastream_user), agy as read-only co-responder, one-line fix, lossless catch-up, auto-resolving incident.All four are self-contained (inline API enables + IAM with propagation rescue notes; no changes to
bk-bootstrap,requirements.txt, or labs 1-6), follow the stream's three-surface pattern with shipped reference solutions, and render cleanly throughbk-render-jinja2(one H2 each, no leftover Jinja). Console flows and product facts were verified against current docs at authoring time; the modules have not been smoke-tested end to end yet.