From 573568ab504a514ed4957c38e008f655770d3ce9 Mon Sep 17 00:00:00 2001 From: Eddie Mattia Date: Tue, 26 May 2026 07:59:12 -0700 Subject: [PATCH 1/3] fix(xkcd-explainer): fall back to write branch when [dev-assets] read misses --- flows/xkcd-explainer/flow.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/flows/xkcd-explainer/flow.py b/flows/xkcd-explainer/flow.py index 6e491c3..a34061e 100644 --- a/flows/xkcd-explainer/flow.py +++ b/flows/xkcd-explainer/flow.py @@ -76,7 +76,18 @@ def start(self): self.img_url = self.xkcd_url print(f"Using an image passed in as a parameter, {self.img_url}") else: - self.img_url = self.prj.get_data("xkcd") + try: + self.img_url = self.prj.get_data("xkcd") + except Exception: + ref = self.prj._write_asset.peek_data_asset("xkcd") + from metaflow import get_namespace, namespace, Task + ns = get_namespace() + try: + namespace(None) + task = Task(ref["created_by"]["entity_id"]) + self.img_url = task[ref["data_properties"]["annotations"]["artifact"]].data + finally: + namespace(ns) print(f"Using an image from the latest data asset, {self.img_url}") print(self.prj.asset.consume_model_asset("explainer-vlm")) From 7a34037bee5ca48f6341772ad9769058eba3f72f Mon Sep 17 00:00:00 2001 From: Eddie Mattia Date: Tue, 26 May 2026 08:07:20 -0700 Subject: [PATCH 2/3] fix(xkcd-explainer): point dev-assets at main; tolerate missing model on read branch --- flows/xkcd-explainer/flow.py | 5 ++++- obproject.toml | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/flows/xkcd-explainer/flow.py b/flows/xkcd-explainer/flow.py index a34061e..83182ed 100644 --- a/flows/xkcd-explainer/flow.py +++ b/flows/xkcd-explainer/flow.py @@ -90,7 +90,10 @@ def start(self): namespace(ns) print(f"Using an image from the latest data asset, {self.img_url}") - print(self.prj.asset.consume_model_asset("explainer-vlm")) + try: + print(self.prj.asset.consume_model_asset("explainer-vlm")) + except Exception: + print(f"No 'explainer-vlm' model on read branch '{self.prj.read_branch}' yet.") self.next(self.prompt_vlm) # ⬇️ add gpu=1 to @resources if you have GPU compute pools configured diff --git a/obproject.toml b/obproject.toml index e620250..d9a12ef 100644 --- a/obproject.toml +++ b/obproject.toml @@ -4,4 +4,4 @@ project = 'ob_project_starter' title = 'XKCD Explainer' [dev-assets] -branch = 'dev' +branch = 'main' From c233a5d93694f7cfae0380d1b2541bafca097e78 Mon Sep 17 00:00:00 2001 From: Eddie Mattia Date: Tue, 26 May 2026 08:15:31 -0700 Subject: [PATCH 3/3] fix(xkcd-explainer): default xkcd_url to 'null' to avoid empty-Parameter argv crash --- flows/xkcd-explainer/flow.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flows/xkcd-explainer/flow.py b/flows/xkcd-explainer/flow.py index 83182ed..6b240ee 100644 --- a/flows/xkcd-explainer/flow.py +++ b/flows/xkcd-explainer/flow.py @@ -67,7 +67,7 @@ def prompt(img_url): @project_trigger(event="explain") class XKCDExplainer(ProjectFlow): - xkcd_url = Parameter("xkcd_url", help="Image url of an XKCD comic") + xkcd_url = Parameter("xkcd_url", help="Image url of an XKCD comic", default="null") @card(type="blank") @step