From 7a0f3e2d13bad271ca36ac767653a5701b2aa1c0 Mon Sep 17 00:00:00 2001
From: soolmuk <72430756+soolmuk@users.noreply.github.com>
Date: Sat, 5 Sep 2026 11:24:18 +0900
Subject: [PATCH 1/5] feat(renderer): --verify-model for a per-pass reflection
model
- templates/github.workflow.yml: inside the #[verify:begin/end] region, the
reflection pass rewrites ~/.config/goose/config.yaml with
GOOSE_MODEL: __GOOSE_VERIFY_MODEL__ before its first goose invocation
- render.py: new --verify-model option (default: --model, preserving the
single-model behavior); placeholder __GOOSE_VERIFY_MODEL__ substituted
- verified: verify.py PASS for on/shadow/off renders; diff-model render
shows review=deepseek-v4-flash-vision-exp / reflection=glm-5p3-flash
---
scripts/render.py | 10 ++++++++--
templates/github.workflow.yml | 11 +++++++++++
2 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/scripts/render.py b/scripts/render.py
index 2351dee..51fd1e4 100644
--- a/scripts/render.py
+++ b/scripts/render.py
@@ -16,7 +16,7 @@
base URL that render.py used (release-only distribution model).
Placeholders (all __UPPER__):
- __PROVIDER__ __GOOSE_MODEL__ __LANGUAGE__ __API_KEY_NAME__
+ __PROVIDER__ __GOOSE_MODEL__ __GOOSE_VERIFY_MODEL__ __LANGUAGE__ __API_KEY_NAME__
__VERIFY_PROFILE__ __VERIFY_MODE__ (verification gate, on/shadow only)
__STYLE_ASSET__ (asset basename, e.g. instructions.graded.md; the
rendered config downloads it at CI runtime and substitutes
@@ -28,7 +28,9 @@
off the #[verify:begin]/#[verify:end] marked region is REMOVED
The reflection instructions (instructions.reflection.md asset) are
downloaded at CI runtime with the same pattern as inline_threads.py,
- so a single model/provider/config serves both passes.
+ so a single model/provider/config serves both passes unless
+ --verify-model overrides __GOOSE_VERIFY_MODEL__ (the reflection
+ pass rewrites the config before its first goose invocation).
"""
import argparse
import os
@@ -191,6 +193,9 @@ def main():
ap.add_argument("platform", choices=list(SOURCES))
ap.add_argument("--provider", required=True)
ap.add_argument("--model", required=True)
+ ap.add_argument("--verify-model", default=None,
+ help="model for the verification (reflection) pass; "
+ "defaults to --model (single-model behavior)")
ap.add_argument("--style", required=True, choices=["graded-review", "changes-summary"])
ap.add_argument("--language", default="Korean")
ap.add_argument("--local", action="store_true",
@@ -239,6 +244,7 @@ def main():
("__RECIPES_BASE__", release_base()),
("__PROVIDER__", provider),
("__GOOSE_MODEL__", args.model),
+ ("__GOOSE_VERIFY_MODEL__", args.verify_model or args.model),
("__API_KEY_NAME__", API_KEY_NAMES[provider]),
("__VERIFY_PROFILE__", args.verify_profile),
("__VERIFY_MODE__", verify_mode),
diff --git a/templates/github.workflow.yml b/templates/github.workflow.yml
index ad6ece9..723a43a 100644
--- a/templates/github.workflow.yml
+++ b/templates/github.workflow.yml
@@ -154,6 +154,17 @@ jobs:
#[verify:begin]
# Verification gate (issue #10): single reflection pass + merge.
# Same step run block: the provider key binding stays exactly 1.
+ # Issue: verification (reflection) pass may run a different
+ # model than the review pass. __GOOSE_VERIFY_MODEL__ is
+ # substituted with the review model by default (single-model
+ # behavior preserved); render.py --verify-model overrides it.
+ # Rewriting the global config.yaml here only affects the
+ # remaining goose invocations in this step (reflection + retry).
+ cat <<'VEOF' > ~/.config/goose/config.yaml
+ GOOSE_PROVIDER: __PROVIDER__
+ GOOSE_MODEL: __GOOSE_VERIFY_MODEL__
+ keyring: false
+ VEOF
# (The old "skip when the PR head moved" pre-check read the same
# event payload twice — head.sha vs head.sha — so it never fired;
# the posting step's live `gh pr view` check is the real guard.)
From c31a2932ecc4da6a7b3db5423348e1da09f0fc48 Mon Sep 17 00:00:00 2001
From: soolmuk <72430756+soolmuk@users.noreply.github.com>
Date: Sat, 5 Sep 2026 11:28:40 +0900
Subject: [PATCH 2/5] feat(setup recipe): expose goose_verify_model for a
per-pass verification model
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- new optional string parameter goose_verify_model (default "" = reuse
goose_model for both passes — unchanged behavior)
- renderer invocation documents --verify-model {{ goose_verify_model }} with
explicit prompt guidance: when the user leaves it empty, do NOT pass the
flag (single-model behavior preserved)
- deeplinks regenerated (README.md, README.ko.md, docs/launch.html);
update_deeplinks.py --check reports all up to date
---
README.ko.md | 2 +-
README.md | 2 +-
codegoose-setup.yaml | 16 ++++++++++++++++
docs/launch.html | 4 ++--
4 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/README.ko.md b/README.ko.md
index f24e6c5..ea267ca 100644
--- a/README.ko.md
+++ b/README.ko.md
@@ -128,7 +128,7 @@ goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBQUiBSZX
```text
-goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcHJvdmlkZXIge3sgY2lfcHJvdmlkZXIgfX0gXFxcbiAgLS1tb2RlbCB7eyBnb29zZV9tb2RlbCB9fSBcXFxuICAtLXN0eWxlIHt7IHJldmlld19zdHlsZSB9fSBcXFxuICAtLWxhbmd1YWdlIHt7IG91dHB1dF9sYW5ndWFnZSB9fSBcXFxuICAtLXZlcmlmaWNhdGlvbiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fSBcXFxuICAtLXZlcmlmeS1wcm9maWxlIHt7IHZlcmlmeV9nYXRlX3Byb2ZpbGUgfX1cbmBgYFxuXG5Ob3RlIGZvciB0ZWFtY2l0eTogdGhlIHJlbmRlcmVyIHByb2R1Y2VzIGAudGVhbWNpdHkvc2V0dGluZ3Mua3RzYDsgdGhlIHJldmlld1xudGV4dCBpcyBwdWJsaXNoZWQgYXMgdGhlIGJ1aWxkIGFydGlmYWN0IGBwcl9yZXZpZXcudHh0YCAoVGVhbUNpdHkgY2Fubm90IHBvc3RcbmZvcmdlIGNvbW1lbnRzIHdpdGhvdXQgZXh0cmEgUkVTVCBzZXR1cCkuXG5Gb3IgZ2l0ZWE6IHRoZSB1c2VyIG11c3QgYWxzbyBhZGQgYSBgUkVWSUVXX1RPS0VOYCBzZWNyZXQgKEdpdGVhIGFjY2VzcyB0b2tlblxud2l0aCB3cml0ZSBwZXJtaXNzaW9uKSDigJQgaW5jbHVkZSB0aGF0IGluIHRoZSByZXBvcnQuXG5cbiMjIFN0ZXAgMyDigJQgVmVyaWZ5ICh0aGUgc2NyaXB0J3MgZXhpdCBjb2RlIGlzIHRoZSBjb250cmFjdClcbmBgYGJhc2hcbmN1cmwgLWZzU0wgaHR0cHM6Ly9naXRodWIuY29tL3Nvb2xtdWsvQ29kZUdvb3NlL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC92ZXJpZnkucHkgLW8gL3RtcC92ZXJpZnlfY2kucHlcbnB5dGhvbjMgL3RtcC92ZXJpZnlfY2kucHkge3sgY2lfcGxhdGZvcm0gfX0gPHJlbmRlcmVkLWNvbmZpZy1wYXRoPlxuYGBgXG5FeHBlY3RlZCBSRVNVTFQ6IFBBU1MuIElmIEZBSUwsIHJlcG9ydCB0aGUgZmFpbGluZyBjaGVja3M7IGRvIE5PVCBoYW5kLXBhdGNoXG50aGUgY29uZmlnLiBGaXhlcyBiZWxvbmcgaW4gc29vbG11ay9Db2RlR29vc2UgdGVtcGxhdGVzL3NjcmlwdHMuXG5cbiMjIFN0ZXAgNCDigJQgUmVwb3J0IChpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0pXG4tIFN0YXR1cyAoY3JlYXRlZC91cGRhdGVkKSArIGNvbmZpZyBmaWxlIHBhdGgsIGFuZCB0aGF0IGl0IHdhcyByZW5kZXJlZCBieSB0aGVcbiAgZGV0ZXJtaW5pc3RpYyBwaXBlbGluZSAobm90IGF1dGhvcmVkIGJ5IHRoZSBMTE0pLlxuLSBHT09TRV9NT0RFTDoge3sgZ29vc2VfbW9kZWwgfX0gKGhhcmRjb2RlZCBpbnRvIHRoZSBjb25maWcgYnkgdGhlIHJlbmRlcmVyKS5cbi0gUHJvdmlkZXIgc2VjcmV0IHRoYXQgdGhlIHVzZXIgbXVzdCBhZGQsIGUuZy4gZm9yIHt7IGNpX3Byb3ZpZGVyIH19IHRoZVxuICByZXF1aXJlZCByZXBvIHNlY3JldCBuYW1lIGZyb20gdGhlIG1hcHBpbmcgYWJvdmUuXG4tIEhvdyB0byB0cmlnZ2VyOiBvcGVuL3VwZGF0ZSBhIHB1bGwgcmVxdWVzdDsgQ0kgcG9zdHMgdGhlIHt7IHJldmlld19zdHlsZSB9fVxuICByZXN1bHQgaW4ge3sgb3V0cHV0X2xhbmd1YWdlIH19LlxuLSBGb3IgZ3JhZGVkIHJldmlld3MgdGhlIENJIGFsc28gcG9zdHMgdXAgdG8gMTAgZGlmZi1hbmNob3JlZCBpbmxpbmUgY29tbWVudHNcbiAgKGxpa2UgQ29kZVJhYmJpdCk6IGVhY2ggZmluZGluZyBpcyB2YWxpZGF0ZWQgYWdhaW5zdCB0aGUgUFIvTVIgZGlmZiBiZWZvcmVcbiAgcG9zdGluZywgYW5kIGZpbmRpbmdzIHRoYXQgY2Fubm90IGJlIGFuY2hvcmVkIGFyZSByZWNhcHBlZCBpbiB0aGUgc3VtbWFyeVxuICBjb21tZW50IGluc3RlYWQg4oCUIG5vdGhpbmcgaXMgc2lsZW50bHkgZHJvcHBlZC5cbi0gVmVyaWZpY2F0aW9uIGdhdGUgKHt7IHZlcmlmaWNhdGlvbl9nYXRlIH19IHByb2ZpbGUge3sgdmVyaWZ5X2dhdGVfcHJvZmlsZSB9fSk6XG4gIHdoZW4gb24vc2hhZG93LCBldmVyeSBmaW5kaW5nIGlzIHJlLXZlcmlmaWVkIGJ5IGEgc2Vjb25kIGdvb3NlIHBhc3NcbiAgKHJlZmxlY3Rpb24pIGJlZm9yZSBwb3N0aW5nOyByZWZ1dGVkIGZpbmRpbmdzIGFyZSByZW1vdmVkLCBwbGF1c2libGUtYnV0LVxuICB1bnZlcmlmaWVkIGJsb2NrZXJzIGFyZSBkZW1vdGVkIHRvIFdhcm5pbmdzLCBhbmQgdGhlIHZlcmRpY3QgaXMgcmVjb21wdXRlZC5cbiAgVGhlIHBvc3RlZCByZXZpZXcgbm90ZXMgaG93IG1hbnkgZmluZGluZ3Mgd2VyZSBrZXB0L2RlbW90ZWQvZHJvcHBlZDsgdGhlXG4gIGRyb3BwZWQgZGV0YWlscyBsaXZlIGluIHRoZSBDSSBqb2IgbG9nIChkcm9wcGVkLmpzb24gYXJ0aWZhY3QpLCBuZXZlclxuICBzaWxlbnRseSBsb3N0LiBTaGFkb3cgbW9kZSByZWNvcmRzIG91dGNvbWVzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBvc3QuXG4gIENvc3Qgbm90ZTogb24vc2hhZG93IOKJiCAyeCBMTE0gc3BlbmQgcGVyIHJldmlldzsgY2hvb3NlIG9mZiB0byBkaXNhYmxlLlxuLSBSZW1pbmRlcjogaWYgdGhpcyByZXBvIGFscmVhZHkgaGFzIGEgQ29kZUdvb3NlLXJlbmRlcmVkIENJIGNvbmZpZywgdGhpc1xuICBydW4gcmUtcmVuZGVycyBpdCBpbiBwbGFjZSAodGhhdCBpcyB0aGUgaW50ZW5kZWQgZHJpZnQgY29udHJvbCkuXG5cbkRvIE5PVCBnaXQgY29tbWl0IG9yIHB1c2guIERvIE5PVCB0b3VjaCBvdGhlciBmaWxlcy5cbiIsImV4dGVuc2lvbnMiOlt7InR5cGUiOiJidWlsdGluIiwibmFtZSI6ImRldmVsb3BlciIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheV9uYW1lIjpudWxsLCJ0aW1lb3V0IjpudWxsLCJidW5kbGVkIjpudWxsfSx7InR5cGUiOiJwbGF0Zm9ybSIsIm5hbWUiOiJhbmFseXplIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsImJ1bmRsZWQiOm51bGx9XSwic2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOjAuMX0sInBhcmFtZXRlcnMiOlt7ImtleSI6ImNpX3BsYXRmb3JtIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkNJIHBsYXRmb3JtIHRvIHNldCB1cCAoZ29vc2UgcmV2aWV3cyBwdWxsIHJlcXVlc3RzIC8gTVJzIHRoZXJlKSIsIm9wdGlvbnMiOlsiZ2l0aHViIiwiZ2l0bGFiIiwiZ2l0ZWEiLCJ0ZWFtY2l0eSJdfSx7ImtleSI6Im91dHB1dF9sYW5ndWFnZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJMYW5ndWFnZSBmb3IgcmV2aWV3IGNvbW1lbnRzIGFuZCB0aGUgc2V0dXAgcmVwb3J0Iiwib3B0aW9ucyI6WyJLb3JlYW4iLCJFbmdsaXNoIiwiSmFwYW5lc2UiLCJDaGluZXNlIl19LHsia2V5IjoicmV2aWV3X3N0eWxlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IldoYXQgdGhlIENJIHBvc3RzIG9uIHRoZSBwdWxsIHJlcXVlc3QiLCJvcHRpb25zIjpbImdyYWRlZC1yZXZpZXciLCJjaGFuZ2VzLXN1bW1hcnkiXX0seyJrZXkiOiJjaV9wcm92aWRlciIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJMTE0gcHJvdmlkZXIgdXNlZCBieSBnb29zZSBpbiBDSSIsIm9wdGlvbnMiOlsib2xsYW1hX2Nsb3VkIiwiYW50aHJvcGljIiwib3BlbmFpIiwib3BlbnJvdXRlciIsImZpcmV3b3Jrcy1haSJdfSx7ImtleSI6Imdvb3NlX21vZGVsIiwiaW5wdXRfdHlwZSI6InN0cmluZyIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6Ik1vZGVsIG5hbWUgZm9yIEdPT1NFX01PREVMIGluIHRoZSBDSSBjb25maWcgKGUuZy4gZ2xtLTUuMyBmb3Igb2xsYW1hX2Nsb3VkLCBjbGF1ZGUtc29ubmV0LTQtNSBmb3IgYW50aHJvcGljLCBncHQtNG8gZm9yIG9wZW5haSwgYW50aHJvcGljL2NsYXVkZS1zb25uZXQtNCBmb3Igb3BlbnJvdXRlciwgYWNjb3VudHMvZmlyZXdvcmtzL21vZGVscy9kZWVwc2Vlay12NC1mbGFzaC0wNzMxIGZvciBmaXJld29ya3MtYWkpIn0seyJrZXkiOiJ2ZXJpZmljYXRpb25fZ2F0ZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJSZXZpZXcgdmVyaWZpY2F0aW9uIGdhdGUgKGlzc3VlICMxMCkuIEFmdGVyIHRoZSBmaXJzdCByZXZpZXcgcGFzcywgYSBzaW5nbGUgcmVmbGVjdGlvbiBwYXNzIHJlLWNoZWNrcyBldmVyeSBmaW5kaW5nICgwLTEwIHZhbGlkaXR5IHNjb3JlKSBhbmQgYSBkZXRlcm1pbmlzdGljIG1lcmdlIGdhdGUga2VlcHMvZGVtb3Rlcy9kcm9wcyBmaW5kaW5ncy4gb24gPSBnYXRlIGVuZm9yY2VkOyBzaGFkb3cgPSBnYXRlIG91dGNvbWVzIHJlY29yZGVkIGluIENJIGxvZ3Mgb25seSAocG9zdGVkIHJldmlldyBpcyB0aGUgdW5tb2RpZmllZCBmaXJzdCBwYXNzKTsgb2ZmID0gbm8gdmVyaWZpY2F0aW9uIHN0ZXAuIENvc3Q6IG9uL3NoYWRvdyByb3VnaGx5IGRvdWJsZXMgdGhlIExMTSBzcGVuZCBwZXIgcmV2aWV3LlxuIiwib3B0aW9ucyI6WyJvbiIsIm9mZiIsInNoYWRvdyJdfSx7ImtleSI6InZlcmlmeV9nYXRlX3Byb2ZpbGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiR2F0ZSBwcm9maWxlLiBjb25zZXJ2YXRpdmUgPSB1bm1hdGNoZWQgZmluZGluZ3MgYXJlIGtlcHQsIFAwL1AxIGZpbmRpbmdzIHdpdGggYSA0LTYgdmFsaWRpdHkgc2NvcmUgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MuIHN0cmljdCA9IHVubWF0Y2hlZCBmaW5kaW5ncyBhcmUgZHJvcHBlZCwgYW5kIHRoZSBzYW1lIHRocmVzaG9sZHMgYXBwbHkgdG8gZXZlcnkgcHJpb3JpdHkgKHNjb3JlIDw9IDQgZHJvcCwgNS03IGRlbW90ZSwgPj0gOCBrZWVwKS4gS2VlcCB0aGUgZGVmYXVsdCB1bmxlc3Mgc2hhZG93IG1lYXN1cmVtZW50cyBqdXN0aWZ5IHRpZ2h0ZW5pbmcuXG4iLCJvcHRpb25zIjpbImNvbnNlcnZhdGl2ZSIsInN0cmljdCJdfV19
+goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIGdvb3NlX3ZlcmlmeV9tb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IChlbXB0eSA9IHNhbWUgYXMgZ29vc2VfbW9kZWwpXG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcHJvdmlkZXIge3sgY2lfcHJvdmlkZXIgfX0gXFxcbiAgLS1tb2RlbCB7eyBnb29zZV9tb2RlbCB9fSBcXFxuICAtLXZlcmlmeS1tb2RlbCB7eyBnb29zZV92ZXJpZnlfbW9kZWwgfX0gXFxcbiAgLS1zdHlsZSB7eyByZXZpZXdfc3R5bGUgfX0gXFxcbiAgLS1sYW5ndWFnZSB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0gXFxcbiAgLS12ZXJpZmljYXRpb24ge3sgdmVyaWZpY2F0aW9uX2dhdGUgfX0gXFxcbiAgLS12ZXJpZnktcHJvZmlsZSB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG5gYGBcblxuTm90ZSBmb3IgdGVhbWNpdHk6IHRoZSByZW5kZXJlciBwcm9kdWNlcyBgLnRlYW1jaXR5L3NldHRpbmdzLmt0c2A7IHRoZSByZXZpZXdcbnRleHQgaXMgcHVibGlzaGVkIGFzIHRoZSBidWlsZCBhcnRpZmFjdCBgcHJfcmV2aWV3LnR4dGAgKFRlYW1DaXR5IGNhbm5vdCBwb3N0XG5mb3JnZSBjb21tZW50cyB3aXRob3V0IGV4dHJhIFJFU1Qgc2V0dXApLlxuRm9yIGdpdGVhOiB0aGUgdXNlciBtdXN0IGFsc28gYWRkIGEgYFJFVklFV19UT0tFTmAgc2VjcmV0IChHaXRlYSBhY2Nlc3MgdG9rZW5cbndpdGggd3JpdGUgcGVybWlzc2lvbikg4oCUIGluY2x1ZGUgdGhhdCBpbiB0aGUgcmVwb3J0LlxuXG4jIyBTdGVwIDMg4oCUIFZlcmlmeSAodGhlIHNjcmlwdCdzIGV4aXQgY29kZSBpcyB0aGUgY29udHJhY3QpXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvdmVyaWZ5LnB5IC1vIC90bXAvdmVyaWZ5X2NpLnB5XG5weXRob24zIC90bXAvdmVyaWZ5X2NpLnB5IHt7IGNpX3BsYXRmb3JtIH19IDxyZW5kZXJlZC1jb25maWctcGF0aD5cbmBgYFxuRXhwZWN0ZWQgUkVTVUxUOiBQQVNTLiBJZiBGQUlMLCByZXBvcnQgdGhlIGZhaWxpbmcgY2hlY2tzOyBkbyBOT1QgaGFuZC1wYXRjaFxudGhlIGNvbmZpZy4gRml4ZXMgYmVsb25nIGluIHNvb2xtdWsvQ29kZUdvb3NlIHRlbXBsYXRlcy9zY3JpcHRzLlxuXG4jIyBTdGVwIDQg4oCUIFJlcG9ydCAoaW4ge3sgb3V0cHV0X2xhbmd1YWdlIH19KVxuLSBTdGF0dXMgKGNyZWF0ZWQvdXBkYXRlZCkgKyBjb25maWcgZmlsZSBwYXRoLCBhbmQgdGhhdCBpdCB3YXMgcmVuZGVyZWQgYnkgdGhlXG4gIGRldGVybWluaXN0aWMgcGlwZWxpbmUgKG5vdCBhdXRob3JlZCBieSB0aGUgTExNKS5cbi0gR09PU0VfTU9ERUw6IHt7IGdvb3NlX21vZGVsIH19IChoYXJkY29kZWQgaW50byB0aGUgY29uZmlnIGJ5IHRoZSByZW5kZXJlcikuXG4tIFZlcmlmaWNhdGlvbiBtb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IOKAlCB0aGUgbW9kZWwgdGhlIHJlZmxlY3Rpb25cbiAgcGFzcyB1c2VzLiBJZiB0aGUgdXNlciBsZWZ0IGl0IGVtcHR5LCBETyBOT1QgcGFzcyAtLXZlcmlmeS1tb2RlbCB0byB0aGVcbiAgcmVuZGVyZXIgKGJvdGggcGFzc2VzIHRoZW4gdXNlIEdPT1NFX01PREVMKS4gSWYgc2V0LCBwYXNzXG4gIC0tdmVyaWZ5LW1vZGVsIHt7IGdvb3NlX3ZlcmlmeV9tb2RlbCB9fSBleGFjdGx5LlxuLSBQcm92aWRlciBzZWNyZXQgdGhhdCB0aGUgdXNlciBtdXN0IGFkZCwgZS5nLiBmb3Ige3sgY2lfcHJvdmlkZXIgfX0gdGhlXG4gIHJlcXVpcmVkIHJlcG8gc2VjcmV0IG5hbWUgZnJvbSB0aGUgbWFwcGluZyBhYm92ZS5cbi0gSG93IHRvIHRyaWdnZXI6IG9wZW4vdXBkYXRlIGEgcHVsbCByZXF1ZXN0OyBDSSBwb3N0cyB0aGUge3sgcmV2aWV3X3N0eWxlIH19XG4gIHJlc3VsdCBpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0uXG4tIEZvciBncmFkZWQgcmV2aWV3cyB0aGUgQ0kgYWxzbyBwb3N0cyB1cCB0byAxMCBkaWZmLWFuY2hvcmVkIGlubGluZSBjb21tZW50c1xuICAobGlrZSBDb2RlUmFiYml0KTogZWFjaCBmaW5kaW5nIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSBQUi9NUiBkaWZmIGJlZm9yZVxuICBwb3N0aW5nLCBhbmQgZmluZGluZ3MgdGhhdCBjYW5ub3QgYmUgYW5jaG9yZWQgYXJlIHJlY2FwcGVkIGluIHRoZSBzdW1tYXJ5XG4gIGNvbW1lbnQgaW5zdGVhZCDigJQgbm90aGluZyBpcyBzaWxlbnRseSBkcm9wcGVkLlxuLSBWZXJpZmljYXRpb24gZ2F0ZSAoe3sgdmVyaWZpY2F0aW9uX2dhdGUgfX0gcHJvZmlsZSB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19KTpcbiAgd2hlbiBvbi9zaGFkb3csIGV2ZXJ5IGZpbmRpbmcgaXMgcmUtdmVyaWZpZWQgYnkgYSBzZWNvbmQgZ29vc2UgcGFzc1xuICAocmVmbGVjdGlvbikgYmVmb3JlIHBvc3Rpbmc7IHJlZnV0ZWQgZmluZGluZ3MgYXJlIHJlbW92ZWQsIHBsYXVzaWJsZS1idXQtXG4gIHVudmVyaWZpZWQgYmxvY2tlcnMgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MsIGFuZCB0aGUgdmVyZGljdCBpcyByZWNvbXB1dGVkLlxuICBUaGUgcG9zdGVkIHJldmlldyBub3RlcyBob3cgbWFueSBmaW5kaW5ncyB3ZXJlIGtlcHQvZGVtb3RlZC9kcm9wcGVkOyB0aGVcbiAgZHJvcHBlZCBkZXRhaWxzIGxpdmUgaW4gdGhlIENJIGpvYiBsb2cgKGRyb3BwZWQuanNvbiBhcnRpZmFjdCksIG5ldmVyXG4gIHNpbGVudGx5IGxvc3QuIFNoYWRvdyBtb2RlIHJlY29yZHMgb3V0Y29tZXMgd2l0aG91dCBjaGFuZ2luZyB0aGUgcG9zdC5cbiAgQ29zdCBub3RlOiBvbi9zaGFkb3cg4omIIDJ4IExMTSBzcGVuZCBwZXIgcmV2aWV3OyBjaG9vc2Ugb2ZmIHRvIGRpc2FibGUuXG4tIFJlbWluZGVyOiBpZiB0aGlzIHJlcG8gYWxyZWFkeSBoYXMgYSBDb2RlR29vc2UtcmVuZGVyZWQgQ0kgY29uZmlnLCB0aGlzXG4gIHJ1biByZS1yZW5kZXJzIGl0IGluIHBsYWNlICh0aGF0IGlzIHRoZSBpbnRlbmRlZCBkcmlmdCBjb250cm9sKS5cblxuRG8gTk9UIGdpdCBjb21taXQgb3IgcHVzaC4gRG8gTk9UIHRvdWNoIG90aGVyIGZpbGVzLlxuIiwiZXh0ZW5zaW9ucyI6W3sidHlwZSI6ImJ1aWx0aW4iLCJuYW1lIjoiZGV2ZWxvcGVyIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsInRpbWVvdXQiOm51bGwsImJ1bmRsZWQiOm51bGx9LHsidHlwZSI6InBsYXRmb3JtIiwibmFtZSI6ImFuYWx5emUiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlfbmFtZSI6bnVsbCwiYnVuZGxlZCI6bnVsbH1dLCJzZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6MC4xfSwicGFyYW1ldGVycyI6W3sia2V5IjoiY2lfcGxhdGZvcm0iLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiQ0kgcGxhdGZvcm0gdG8gc2V0IHVwIChnb29zZSByZXZpZXdzIHB1bGwgcmVxdWVzdHMgLyBNUnMgdGhlcmUpIiwib3B0aW9ucyI6WyJnaXRodWIiLCJnaXRsYWIiLCJnaXRlYSIsInRlYW1jaXR5Il19LHsia2V5Ijoib3V0cHV0X2xhbmd1YWdlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6Ikxhbmd1YWdlIGZvciByZXZpZXcgY29tbWVudHMgYW5kIHRoZSBzZXR1cCByZXBvcnQiLCJvcHRpb25zIjpbIktvcmVhbiIsIkVuZ2xpc2giLCJKYXBhbmVzZSIsIkNoaW5lc2UiXX0seyJrZXkiOiJyZXZpZXdfc3R5bGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiV2hhdCB0aGUgQ0kgcG9zdHMgb24gdGhlIHB1bGwgcmVxdWVzdCIsIm9wdGlvbnMiOlsiZ3JhZGVkLXJldmlldyIsImNoYW5nZXMtc3VtbWFyeSJdfSx7ImtleSI6ImNpX3Byb3ZpZGVyIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkxMTSBwcm92aWRlciB1c2VkIGJ5IGdvb3NlIGluIENJIiwib3B0aW9ucyI6WyJvbGxhbWFfY2xvdWQiLCJhbnRocm9waWMiLCJvcGVuYWkiLCJvcGVucm91dGVyIiwiZmlyZXdvcmtzLWFpIl19LHsia2V5IjoiZ29vc2VfbW9kZWwiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTW9kZWwgbmFtZSBmb3IgR09PU0VfTU9ERUwgaW4gdGhlIENJIGNvbmZpZyAoZS5nLiBnbG0tNS4zIGZvciBvbGxhbWFfY2xvdWQsIGNsYXVkZS1zb25uZXQtNC01IGZvciBhbnRocm9waWMsIGdwdC00byBmb3Igb3BlbmFpLCBhbnRocm9waWMvY2xhdWRlLXNvbm5ldC00IGZvciBvcGVucm91dGVyLCBhY2NvdW50cy9maXJld29ya3MvbW9kZWxzL2RlZXBzZWVrLXY0LWZsYXNoLTA3MzEgZm9yIGZpcmV3b3Jrcy1haSkifSx7ImtleSI6Imdvb3NlX3ZlcmlmeV9tb2RlbCIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6Im9wdGlvbmFsIiwiZGVzY3JpcHRpb24iOiJPcHRpb25hbCBtb2RlbCBmb3IgdGhlIHZlcmlmaWNhdGlvbiAocmVmbGVjdGlvbikgcGFzcyBvbmx5LiBMZWF2ZSBlbXB0eSB0byByZXVzZSBnb29zZV9tb2RlbCBmb3IgYm90aCBwYXNzZXMgKGRlZmF1bHQpLiBFeGFtcGxlIGZvciBmaXJld29ya3MtYWk6IGFjY291bnRzL2ZpcmV3b3Jrcy9tb2RlbHMvZ2xtLTVwMy1mbGFzaFxuIiwiZGVmYXVsdCI6IiJ9LHsia2V5IjoidmVyaWZpY2F0aW9uX2dhdGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiUmV2aWV3IHZlcmlmaWNhdGlvbiBnYXRlIChpc3N1ZSAjMTApLiBBZnRlciB0aGUgZmlyc3QgcmV2aWV3IHBhc3MsIGEgc2luZ2xlIHJlZmxlY3Rpb24gcGFzcyByZS1jaGVja3MgZXZlcnkgZmluZGluZyAoMC0xMCB2YWxpZGl0eSBzY29yZSkgYW5kIGEgZGV0ZXJtaW5pc3RpYyBtZXJnZSBnYXRlIGtlZXBzL2RlbW90ZXMvZHJvcHMgZmluZGluZ3MuIG9uID0gZ2F0ZSBlbmZvcmNlZDsgc2hhZG93ID0gZ2F0ZSBvdXRjb21lcyByZWNvcmRlZCBpbiBDSSBsb2dzIG9ubHkgKHBvc3RlZCByZXZpZXcgaXMgdGhlIHVubW9kaWZpZWQgZmlyc3QgcGFzcyk7IG9mZiA9IG5vIHZlcmlmaWNhdGlvbiBzdGVwLiBDb3N0OiBvbi9zaGFkb3cgcm91Z2hseSBkb3VibGVzIHRoZSBMTE0gc3BlbmQgcGVyIHJldmlldy5cbiIsIm9wdGlvbnMiOlsib24iLCJvZmYiLCJzaGFkb3ciXX0seyJrZXkiOiJ2ZXJpZnlfZ2F0ZV9wcm9maWxlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkdhdGUgcHJvZmlsZS4gY29uc2VydmF0aXZlID0gdW5tYXRjaGVkIGZpbmRpbmdzIGFyZSBrZXB0LCBQMC9QMSBmaW5kaW5ncyB3aXRoIGEgNC02IHZhbGlkaXR5IHNjb3JlIGFyZSBkZW1vdGVkIHRvIFdhcm5pbmdzLiBzdHJpY3QgPSB1bm1hdGNoZWQgZmluZGluZ3MgYXJlIGRyb3BwZWQsIGFuZCB0aGUgc2FtZSB0aHJlc2hvbGRzIGFwcGx5IHRvIGV2ZXJ5IHByaW9yaXR5IChzY29yZSA8PSA0IGRyb3AsIDUtNyBkZW1vdGUsID49IDgga2VlcCkuIEtlZXAgdGhlIGRlZmF1bHQgdW5sZXNzIHNoYWRvdyBtZWFzdXJlbWVudHMganVzdGlmeSB0aWdodGVuaW5nLlxuIiwib3B0aW9ucyI6WyJjb25zZXJ2YXRpdmUiLCJzdHJpY3QiXX1dfQ
```
diff --git a/README.md b/README.md
index d107bab..29ea1a0 100644
--- a/README.md
+++ b/README.md
@@ -129,7 +129,7 @@ goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBQUiBSZX
```text
-goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcHJvdmlkZXIge3sgY2lfcHJvdmlkZXIgfX0gXFxcbiAgLS1tb2RlbCB7eyBnb29zZV9tb2RlbCB9fSBcXFxuICAtLXN0eWxlIHt7IHJldmlld19zdHlsZSB9fSBcXFxuICAtLWxhbmd1YWdlIHt7IG91dHB1dF9sYW5ndWFnZSB9fSBcXFxuICAtLXZlcmlmaWNhdGlvbiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fSBcXFxuICAtLXZlcmlmeS1wcm9maWxlIHt7IHZlcmlmeV9nYXRlX3Byb2ZpbGUgfX1cbmBgYFxuXG5Ob3RlIGZvciB0ZWFtY2l0eTogdGhlIHJlbmRlcmVyIHByb2R1Y2VzIGAudGVhbWNpdHkvc2V0dGluZ3Mua3RzYDsgdGhlIHJldmlld1xudGV4dCBpcyBwdWJsaXNoZWQgYXMgdGhlIGJ1aWxkIGFydGlmYWN0IGBwcl9yZXZpZXcudHh0YCAoVGVhbUNpdHkgY2Fubm90IHBvc3RcbmZvcmdlIGNvbW1lbnRzIHdpdGhvdXQgZXh0cmEgUkVTVCBzZXR1cCkuXG5Gb3IgZ2l0ZWE6IHRoZSB1c2VyIG11c3QgYWxzbyBhZGQgYSBgUkVWSUVXX1RPS0VOYCBzZWNyZXQgKEdpdGVhIGFjY2VzcyB0b2tlblxud2l0aCB3cml0ZSBwZXJtaXNzaW9uKSDigJQgaW5jbHVkZSB0aGF0IGluIHRoZSByZXBvcnQuXG5cbiMjIFN0ZXAgMyDigJQgVmVyaWZ5ICh0aGUgc2NyaXB0J3MgZXhpdCBjb2RlIGlzIHRoZSBjb250cmFjdClcbmBgYGJhc2hcbmN1cmwgLWZzU0wgaHR0cHM6Ly9naXRodWIuY29tL3Nvb2xtdWsvQ29kZUdvb3NlL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC92ZXJpZnkucHkgLW8gL3RtcC92ZXJpZnlfY2kucHlcbnB5dGhvbjMgL3RtcC92ZXJpZnlfY2kucHkge3sgY2lfcGxhdGZvcm0gfX0gPHJlbmRlcmVkLWNvbmZpZy1wYXRoPlxuYGBgXG5FeHBlY3RlZCBSRVNVTFQ6IFBBU1MuIElmIEZBSUwsIHJlcG9ydCB0aGUgZmFpbGluZyBjaGVja3M7IGRvIE5PVCBoYW5kLXBhdGNoXG50aGUgY29uZmlnLiBGaXhlcyBiZWxvbmcgaW4gc29vbG11ay9Db2RlR29vc2UgdGVtcGxhdGVzL3NjcmlwdHMuXG5cbiMjIFN0ZXAgNCDigJQgUmVwb3J0IChpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0pXG4tIFN0YXR1cyAoY3JlYXRlZC91cGRhdGVkKSArIGNvbmZpZyBmaWxlIHBhdGgsIGFuZCB0aGF0IGl0IHdhcyByZW5kZXJlZCBieSB0aGVcbiAgZGV0ZXJtaW5pc3RpYyBwaXBlbGluZSAobm90IGF1dGhvcmVkIGJ5IHRoZSBMTE0pLlxuLSBHT09TRV9NT0RFTDoge3sgZ29vc2VfbW9kZWwgfX0gKGhhcmRjb2RlZCBpbnRvIHRoZSBjb25maWcgYnkgdGhlIHJlbmRlcmVyKS5cbi0gUHJvdmlkZXIgc2VjcmV0IHRoYXQgdGhlIHVzZXIgbXVzdCBhZGQsIGUuZy4gZm9yIHt7IGNpX3Byb3ZpZGVyIH19IHRoZVxuICByZXF1aXJlZCByZXBvIHNlY3JldCBuYW1lIGZyb20gdGhlIG1hcHBpbmcgYWJvdmUuXG4tIEhvdyB0byB0cmlnZ2VyOiBvcGVuL3VwZGF0ZSBhIHB1bGwgcmVxdWVzdDsgQ0kgcG9zdHMgdGhlIHt7IHJldmlld19zdHlsZSB9fVxuICByZXN1bHQgaW4ge3sgb3V0cHV0X2xhbmd1YWdlIH19LlxuLSBGb3IgZ3JhZGVkIHJldmlld3MgdGhlIENJIGFsc28gcG9zdHMgdXAgdG8gMTAgZGlmZi1hbmNob3JlZCBpbmxpbmUgY29tbWVudHNcbiAgKGxpa2UgQ29kZVJhYmJpdCk6IGVhY2ggZmluZGluZyBpcyB2YWxpZGF0ZWQgYWdhaW5zdCB0aGUgUFIvTVIgZGlmZiBiZWZvcmVcbiAgcG9zdGluZywgYW5kIGZpbmRpbmdzIHRoYXQgY2Fubm90IGJlIGFuY2hvcmVkIGFyZSByZWNhcHBlZCBpbiB0aGUgc3VtbWFyeVxuICBjb21tZW50IGluc3RlYWQg4oCUIG5vdGhpbmcgaXMgc2lsZW50bHkgZHJvcHBlZC5cbi0gVmVyaWZpY2F0aW9uIGdhdGUgKHt7IHZlcmlmaWNhdGlvbl9nYXRlIH19IHByb2ZpbGUge3sgdmVyaWZ5X2dhdGVfcHJvZmlsZSB9fSk6XG4gIHdoZW4gb24vc2hhZG93LCBldmVyeSBmaW5kaW5nIGlzIHJlLXZlcmlmaWVkIGJ5IGEgc2Vjb25kIGdvb3NlIHBhc3NcbiAgKHJlZmxlY3Rpb24pIGJlZm9yZSBwb3N0aW5nOyByZWZ1dGVkIGZpbmRpbmdzIGFyZSByZW1vdmVkLCBwbGF1c2libGUtYnV0LVxuICB1bnZlcmlmaWVkIGJsb2NrZXJzIGFyZSBkZW1vdGVkIHRvIFdhcm5pbmdzLCBhbmQgdGhlIHZlcmRpY3QgaXMgcmVjb21wdXRlZC5cbiAgVGhlIHBvc3RlZCByZXZpZXcgbm90ZXMgaG93IG1hbnkgZmluZGluZ3Mgd2VyZSBrZXB0L2RlbW90ZWQvZHJvcHBlZDsgdGhlXG4gIGRyb3BwZWQgZGV0YWlscyBsaXZlIGluIHRoZSBDSSBqb2IgbG9nIChkcm9wcGVkLmpzb24gYXJ0aWZhY3QpLCBuZXZlclxuICBzaWxlbnRseSBsb3N0LiBTaGFkb3cgbW9kZSByZWNvcmRzIG91dGNvbWVzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBvc3QuXG4gIENvc3Qgbm90ZTogb24vc2hhZG93IOKJiCAyeCBMTE0gc3BlbmQgcGVyIHJldmlldzsgY2hvb3NlIG9mZiB0byBkaXNhYmxlLlxuLSBSZW1pbmRlcjogaWYgdGhpcyByZXBvIGFscmVhZHkgaGFzIGEgQ29kZUdvb3NlLXJlbmRlcmVkIENJIGNvbmZpZywgdGhpc1xuICBydW4gcmUtcmVuZGVycyBpdCBpbiBwbGFjZSAodGhhdCBpcyB0aGUgaW50ZW5kZWQgZHJpZnQgY29udHJvbCkuXG5cbkRvIE5PVCBnaXQgY29tbWl0IG9yIHB1c2guIERvIE5PVCB0b3VjaCBvdGhlciBmaWxlcy5cbiIsImV4dGVuc2lvbnMiOlt7InR5cGUiOiJidWlsdGluIiwibmFtZSI6ImRldmVsb3BlciIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheV9uYW1lIjpudWxsLCJ0aW1lb3V0IjpudWxsLCJidW5kbGVkIjpudWxsfSx7InR5cGUiOiJwbGF0Zm9ybSIsIm5hbWUiOiJhbmFseXplIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsImJ1bmRsZWQiOm51bGx9XSwic2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOjAuMX0sInBhcmFtZXRlcnMiOlt7ImtleSI6ImNpX3BsYXRmb3JtIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkNJIHBsYXRmb3JtIHRvIHNldCB1cCAoZ29vc2UgcmV2aWV3cyBwdWxsIHJlcXVlc3RzIC8gTVJzIHRoZXJlKSIsIm9wdGlvbnMiOlsiZ2l0aHViIiwiZ2l0bGFiIiwiZ2l0ZWEiLCJ0ZWFtY2l0eSJdfSx7ImtleSI6Im91dHB1dF9sYW5ndWFnZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJMYW5ndWFnZSBmb3IgcmV2aWV3IGNvbW1lbnRzIGFuZCB0aGUgc2V0dXAgcmVwb3J0Iiwib3B0aW9ucyI6WyJLb3JlYW4iLCJFbmdsaXNoIiwiSmFwYW5lc2UiLCJDaGluZXNlIl19LHsia2V5IjoicmV2aWV3X3N0eWxlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IldoYXQgdGhlIENJIHBvc3RzIG9uIHRoZSBwdWxsIHJlcXVlc3QiLCJvcHRpb25zIjpbImdyYWRlZC1yZXZpZXciLCJjaGFuZ2VzLXN1bW1hcnkiXX0seyJrZXkiOiJjaV9wcm92aWRlciIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJMTE0gcHJvdmlkZXIgdXNlZCBieSBnb29zZSBpbiBDSSIsIm9wdGlvbnMiOlsib2xsYW1hX2Nsb3VkIiwiYW50aHJvcGljIiwib3BlbmFpIiwib3BlbnJvdXRlciIsImZpcmV3b3Jrcy1haSJdfSx7ImtleSI6Imdvb3NlX21vZGVsIiwiaW5wdXRfdHlwZSI6InN0cmluZyIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6Ik1vZGVsIG5hbWUgZm9yIEdPT1NFX01PREVMIGluIHRoZSBDSSBjb25maWcgKGUuZy4gZ2xtLTUuMyBmb3Igb2xsYW1hX2Nsb3VkLCBjbGF1ZGUtc29ubmV0LTQtNSBmb3IgYW50aHJvcGljLCBncHQtNG8gZm9yIG9wZW5haSwgYW50aHJvcGljL2NsYXVkZS1zb25uZXQtNCBmb3Igb3BlbnJvdXRlciwgYWNjb3VudHMvZmlyZXdvcmtzL21vZGVscy9kZWVwc2Vlay12NC1mbGFzaC0wNzMxIGZvciBmaXJld29ya3MtYWkpIn0seyJrZXkiOiJ2ZXJpZmljYXRpb25fZ2F0ZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJSZXZpZXcgdmVyaWZpY2F0aW9uIGdhdGUgKGlzc3VlICMxMCkuIEFmdGVyIHRoZSBmaXJzdCByZXZpZXcgcGFzcywgYSBzaW5nbGUgcmVmbGVjdGlvbiBwYXNzIHJlLWNoZWNrcyBldmVyeSBmaW5kaW5nICgwLTEwIHZhbGlkaXR5IHNjb3JlKSBhbmQgYSBkZXRlcm1pbmlzdGljIG1lcmdlIGdhdGUga2VlcHMvZGVtb3Rlcy9kcm9wcyBmaW5kaW5ncy4gb24gPSBnYXRlIGVuZm9yY2VkOyBzaGFkb3cgPSBnYXRlIG91dGNvbWVzIHJlY29yZGVkIGluIENJIGxvZ3Mgb25seSAocG9zdGVkIHJldmlldyBpcyB0aGUgdW5tb2RpZmllZCBmaXJzdCBwYXNzKTsgb2ZmID0gbm8gdmVyaWZpY2F0aW9uIHN0ZXAuIENvc3Q6IG9uL3NoYWRvdyByb3VnaGx5IGRvdWJsZXMgdGhlIExMTSBzcGVuZCBwZXIgcmV2aWV3LlxuIiwib3B0aW9ucyI6WyJvbiIsIm9mZiIsInNoYWRvdyJdfSx7ImtleSI6InZlcmlmeV9nYXRlX3Byb2ZpbGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiR2F0ZSBwcm9maWxlLiBjb25zZXJ2YXRpdmUgPSB1bm1hdGNoZWQgZmluZGluZ3MgYXJlIGtlcHQsIFAwL1AxIGZpbmRpbmdzIHdpdGggYSA0LTYgdmFsaWRpdHkgc2NvcmUgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MuIHN0cmljdCA9IHVubWF0Y2hlZCBmaW5kaW5ncyBhcmUgZHJvcHBlZCwgYW5kIHRoZSBzYW1lIHRocmVzaG9sZHMgYXBwbHkgdG8gZXZlcnkgcHJpb3JpdHkgKHNjb3JlIDw9IDQgZHJvcCwgNS03IGRlbW90ZSwgPj0gOCBrZWVwKS4gS2VlcCB0aGUgZGVmYXVsdCB1bmxlc3Mgc2hhZG93IG1lYXN1cmVtZW50cyBqdXN0aWZ5IHRpZ2h0ZW5pbmcuXG4iLCJvcHRpb25zIjpbImNvbnNlcnZhdGl2ZSIsInN0cmljdCJdfV19
+goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIGdvb3NlX3ZlcmlmeV9tb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IChlbXB0eSA9IHNhbWUgYXMgZ29vc2VfbW9kZWwpXG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcHJvdmlkZXIge3sgY2lfcHJvdmlkZXIgfX0gXFxcbiAgLS1tb2RlbCB7eyBnb29zZV9tb2RlbCB9fSBcXFxuICAtLXZlcmlmeS1tb2RlbCB7eyBnb29zZV92ZXJpZnlfbW9kZWwgfX0gXFxcbiAgLS1zdHlsZSB7eyByZXZpZXdfc3R5bGUgfX0gXFxcbiAgLS1sYW5ndWFnZSB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0gXFxcbiAgLS12ZXJpZmljYXRpb24ge3sgdmVyaWZpY2F0aW9uX2dhdGUgfX0gXFxcbiAgLS12ZXJpZnktcHJvZmlsZSB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG5gYGBcblxuTm90ZSBmb3IgdGVhbWNpdHk6IHRoZSByZW5kZXJlciBwcm9kdWNlcyBgLnRlYW1jaXR5L3NldHRpbmdzLmt0c2A7IHRoZSByZXZpZXdcbnRleHQgaXMgcHVibGlzaGVkIGFzIHRoZSBidWlsZCBhcnRpZmFjdCBgcHJfcmV2aWV3LnR4dGAgKFRlYW1DaXR5IGNhbm5vdCBwb3N0XG5mb3JnZSBjb21tZW50cyB3aXRob3V0IGV4dHJhIFJFU1Qgc2V0dXApLlxuRm9yIGdpdGVhOiB0aGUgdXNlciBtdXN0IGFsc28gYWRkIGEgYFJFVklFV19UT0tFTmAgc2VjcmV0IChHaXRlYSBhY2Nlc3MgdG9rZW5cbndpdGggd3JpdGUgcGVybWlzc2lvbikg4oCUIGluY2x1ZGUgdGhhdCBpbiB0aGUgcmVwb3J0LlxuXG4jIyBTdGVwIDMg4oCUIFZlcmlmeSAodGhlIHNjcmlwdCdzIGV4aXQgY29kZSBpcyB0aGUgY29udHJhY3QpXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvdmVyaWZ5LnB5IC1vIC90bXAvdmVyaWZ5X2NpLnB5XG5weXRob24zIC90bXAvdmVyaWZ5X2NpLnB5IHt7IGNpX3BsYXRmb3JtIH19IDxyZW5kZXJlZC1jb25maWctcGF0aD5cbmBgYFxuRXhwZWN0ZWQgUkVTVUxUOiBQQVNTLiBJZiBGQUlMLCByZXBvcnQgdGhlIGZhaWxpbmcgY2hlY2tzOyBkbyBOT1QgaGFuZC1wYXRjaFxudGhlIGNvbmZpZy4gRml4ZXMgYmVsb25nIGluIHNvb2xtdWsvQ29kZUdvb3NlIHRlbXBsYXRlcy9zY3JpcHRzLlxuXG4jIyBTdGVwIDQg4oCUIFJlcG9ydCAoaW4ge3sgb3V0cHV0X2xhbmd1YWdlIH19KVxuLSBTdGF0dXMgKGNyZWF0ZWQvdXBkYXRlZCkgKyBjb25maWcgZmlsZSBwYXRoLCBhbmQgdGhhdCBpdCB3YXMgcmVuZGVyZWQgYnkgdGhlXG4gIGRldGVybWluaXN0aWMgcGlwZWxpbmUgKG5vdCBhdXRob3JlZCBieSB0aGUgTExNKS5cbi0gR09PU0VfTU9ERUw6IHt7IGdvb3NlX21vZGVsIH19IChoYXJkY29kZWQgaW50byB0aGUgY29uZmlnIGJ5IHRoZSByZW5kZXJlcikuXG4tIFZlcmlmaWNhdGlvbiBtb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IOKAlCB0aGUgbW9kZWwgdGhlIHJlZmxlY3Rpb25cbiAgcGFzcyB1c2VzLiBJZiB0aGUgdXNlciBsZWZ0IGl0IGVtcHR5LCBETyBOT1QgcGFzcyAtLXZlcmlmeS1tb2RlbCB0byB0aGVcbiAgcmVuZGVyZXIgKGJvdGggcGFzc2VzIHRoZW4gdXNlIEdPT1NFX01PREVMKS4gSWYgc2V0LCBwYXNzXG4gIC0tdmVyaWZ5LW1vZGVsIHt7IGdvb3NlX3ZlcmlmeV9tb2RlbCB9fSBleGFjdGx5LlxuLSBQcm92aWRlciBzZWNyZXQgdGhhdCB0aGUgdXNlciBtdXN0IGFkZCwgZS5nLiBmb3Ige3sgY2lfcHJvdmlkZXIgfX0gdGhlXG4gIHJlcXVpcmVkIHJlcG8gc2VjcmV0IG5hbWUgZnJvbSB0aGUgbWFwcGluZyBhYm92ZS5cbi0gSG93IHRvIHRyaWdnZXI6IG9wZW4vdXBkYXRlIGEgcHVsbCByZXF1ZXN0OyBDSSBwb3N0cyB0aGUge3sgcmV2aWV3X3N0eWxlIH19XG4gIHJlc3VsdCBpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0uXG4tIEZvciBncmFkZWQgcmV2aWV3cyB0aGUgQ0kgYWxzbyBwb3N0cyB1cCB0byAxMCBkaWZmLWFuY2hvcmVkIGlubGluZSBjb21tZW50c1xuICAobGlrZSBDb2RlUmFiYml0KTogZWFjaCBmaW5kaW5nIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSBQUi9NUiBkaWZmIGJlZm9yZVxuICBwb3N0aW5nLCBhbmQgZmluZGluZ3MgdGhhdCBjYW5ub3QgYmUgYW5jaG9yZWQgYXJlIHJlY2FwcGVkIGluIHRoZSBzdW1tYXJ5XG4gIGNvbW1lbnQgaW5zdGVhZCDigJQgbm90aGluZyBpcyBzaWxlbnRseSBkcm9wcGVkLlxuLSBWZXJpZmljYXRpb24gZ2F0ZSAoe3sgdmVyaWZpY2F0aW9uX2dhdGUgfX0gcHJvZmlsZSB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19KTpcbiAgd2hlbiBvbi9zaGFkb3csIGV2ZXJ5IGZpbmRpbmcgaXMgcmUtdmVyaWZpZWQgYnkgYSBzZWNvbmQgZ29vc2UgcGFzc1xuICAocmVmbGVjdGlvbikgYmVmb3JlIHBvc3Rpbmc7IHJlZnV0ZWQgZmluZGluZ3MgYXJlIHJlbW92ZWQsIHBsYXVzaWJsZS1idXQtXG4gIHVudmVyaWZpZWQgYmxvY2tlcnMgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MsIGFuZCB0aGUgdmVyZGljdCBpcyByZWNvbXB1dGVkLlxuICBUaGUgcG9zdGVkIHJldmlldyBub3RlcyBob3cgbWFueSBmaW5kaW5ncyB3ZXJlIGtlcHQvZGVtb3RlZC9kcm9wcGVkOyB0aGVcbiAgZHJvcHBlZCBkZXRhaWxzIGxpdmUgaW4gdGhlIENJIGpvYiBsb2cgKGRyb3BwZWQuanNvbiBhcnRpZmFjdCksIG5ldmVyXG4gIHNpbGVudGx5IGxvc3QuIFNoYWRvdyBtb2RlIHJlY29yZHMgb3V0Y29tZXMgd2l0aG91dCBjaGFuZ2luZyB0aGUgcG9zdC5cbiAgQ29zdCBub3RlOiBvbi9zaGFkb3cg4omIIDJ4IExMTSBzcGVuZCBwZXIgcmV2aWV3OyBjaG9vc2Ugb2ZmIHRvIGRpc2FibGUuXG4tIFJlbWluZGVyOiBpZiB0aGlzIHJlcG8gYWxyZWFkeSBoYXMgYSBDb2RlR29vc2UtcmVuZGVyZWQgQ0kgY29uZmlnLCB0aGlzXG4gIHJ1biByZS1yZW5kZXJzIGl0IGluIHBsYWNlICh0aGF0IGlzIHRoZSBpbnRlbmRlZCBkcmlmdCBjb250cm9sKS5cblxuRG8gTk9UIGdpdCBjb21taXQgb3IgcHVzaC4gRG8gTk9UIHRvdWNoIG90aGVyIGZpbGVzLlxuIiwiZXh0ZW5zaW9ucyI6W3sidHlwZSI6ImJ1aWx0aW4iLCJuYW1lIjoiZGV2ZWxvcGVyIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsInRpbWVvdXQiOm51bGwsImJ1bmRsZWQiOm51bGx9LHsidHlwZSI6InBsYXRmb3JtIiwibmFtZSI6ImFuYWx5emUiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlfbmFtZSI6bnVsbCwiYnVuZGxlZCI6bnVsbH1dLCJzZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6MC4xfSwicGFyYW1ldGVycyI6W3sia2V5IjoiY2lfcGxhdGZvcm0iLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiQ0kgcGxhdGZvcm0gdG8gc2V0IHVwIChnb29zZSByZXZpZXdzIHB1bGwgcmVxdWVzdHMgLyBNUnMgdGhlcmUpIiwib3B0aW9ucyI6WyJnaXRodWIiLCJnaXRsYWIiLCJnaXRlYSIsInRlYW1jaXR5Il19LHsia2V5Ijoib3V0cHV0X2xhbmd1YWdlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6Ikxhbmd1YWdlIGZvciByZXZpZXcgY29tbWVudHMgYW5kIHRoZSBzZXR1cCByZXBvcnQiLCJvcHRpb25zIjpbIktvcmVhbiIsIkVuZ2xpc2giLCJKYXBhbmVzZSIsIkNoaW5lc2UiXX0seyJrZXkiOiJyZXZpZXdfc3R5bGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiV2hhdCB0aGUgQ0kgcG9zdHMgb24gdGhlIHB1bGwgcmVxdWVzdCIsIm9wdGlvbnMiOlsiZ3JhZGVkLXJldmlldyIsImNoYW5nZXMtc3VtbWFyeSJdfSx7ImtleSI6ImNpX3Byb3ZpZGVyIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkxMTSBwcm92aWRlciB1c2VkIGJ5IGdvb3NlIGluIENJIiwib3B0aW9ucyI6WyJvbGxhbWFfY2xvdWQiLCJhbnRocm9waWMiLCJvcGVuYWkiLCJvcGVucm91dGVyIiwiZmlyZXdvcmtzLWFpIl19LHsia2V5IjoiZ29vc2VfbW9kZWwiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTW9kZWwgbmFtZSBmb3IgR09PU0VfTU9ERUwgaW4gdGhlIENJIGNvbmZpZyAoZS5nLiBnbG0tNS4zIGZvciBvbGxhbWFfY2xvdWQsIGNsYXVkZS1zb25uZXQtNC01IGZvciBhbnRocm9waWMsIGdwdC00byBmb3Igb3BlbmFpLCBhbnRocm9waWMvY2xhdWRlLXNvbm5ldC00IGZvciBvcGVucm91dGVyLCBhY2NvdW50cy9maXJld29ya3MvbW9kZWxzL2RlZXBzZWVrLXY0LWZsYXNoLTA3MzEgZm9yIGZpcmV3b3Jrcy1haSkifSx7ImtleSI6Imdvb3NlX3ZlcmlmeV9tb2RlbCIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6Im9wdGlvbmFsIiwiZGVzY3JpcHRpb24iOiJPcHRpb25hbCBtb2RlbCBmb3IgdGhlIHZlcmlmaWNhdGlvbiAocmVmbGVjdGlvbikgcGFzcyBvbmx5LiBMZWF2ZSBlbXB0eSB0byByZXVzZSBnb29zZV9tb2RlbCBmb3IgYm90aCBwYXNzZXMgKGRlZmF1bHQpLiBFeGFtcGxlIGZvciBmaXJld29ya3MtYWk6IGFjY291bnRzL2ZpcmV3b3Jrcy9tb2RlbHMvZ2xtLTVwMy1mbGFzaFxuIiwiZGVmYXVsdCI6IiJ9LHsia2V5IjoidmVyaWZpY2F0aW9uX2dhdGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiUmV2aWV3IHZlcmlmaWNhdGlvbiBnYXRlIChpc3N1ZSAjMTApLiBBZnRlciB0aGUgZmlyc3QgcmV2aWV3IHBhc3MsIGEgc2luZ2xlIHJlZmxlY3Rpb24gcGFzcyByZS1jaGVja3MgZXZlcnkgZmluZGluZyAoMC0xMCB2YWxpZGl0eSBzY29yZSkgYW5kIGEgZGV0ZXJtaW5pc3RpYyBtZXJnZSBnYXRlIGtlZXBzL2RlbW90ZXMvZHJvcHMgZmluZGluZ3MuIG9uID0gZ2F0ZSBlbmZvcmNlZDsgc2hhZG93ID0gZ2F0ZSBvdXRjb21lcyByZWNvcmRlZCBpbiBDSSBsb2dzIG9ubHkgKHBvc3RlZCByZXZpZXcgaXMgdGhlIHVubW9kaWZpZWQgZmlyc3QgcGFzcyk7IG9mZiA9IG5vIHZlcmlmaWNhdGlvbiBzdGVwLiBDb3N0OiBvbi9zaGFkb3cgcm91Z2hseSBkb3VibGVzIHRoZSBMTE0gc3BlbmQgcGVyIHJldmlldy5cbiIsIm9wdGlvbnMiOlsib24iLCJvZmYiLCJzaGFkb3ciXX0seyJrZXkiOiJ2ZXJpZnlfZ2F0ZV9wcm9maWxlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkdhdGUgcHJvZmlsZS4gY29uc2VydmF0aXZlID0gdW5tYXRjaGVkIGZpbmRpbmdzIGFyZSBrZXB0LCBQMC9QMSBmaW5kaW5ncyB3aXRoIGEgNC02IHZhbGlkaXR5IHNjb3JlIGFyZSBkZW1vdGVkIHRvIFdhcm5pbmdzLiBzdHJpY3QgPSB1bm1hdGNoZWQgZmluZGluZ3MgYXJlIGRyb3BwZWQsIGFuZCB0aGUgc2FtZSB0aHJlc2hvbGRzIGFwcGx5IHRvIGV2ZXJ5IHByaW9yaXR5IChzY29yZSA8PSA0IGRyb3AsIDUtNyBkZW1vdGUsID49IDgga2VlcCkuIEtlZXAgdGhlIGRlZmF1bHQgdW5sZXNzIHNoYWRvdyBtZWFzdXJlbWVudHMganVzdGlmeSB0aWdodGVuaW5nLlxuIiwib3B0aW9ucyI6WyJjb25zZXJ2YXRpdmUiLCJzdHJpY3QiXX1dfQ
```
diff --git a/codegoose-setup.yaml b/codegoose-setup.yaml
index 351905b..07c875d 100644
--- a/codegoose-setup.yaml
+++ b/codegoose-setup.yaml
@@ -57,6 +57,16 @@ parameters:
gpt-4o for openai, anthropic/claude-sonnet-4 for openrouter,
accounts/fireworks/models/deepseek-v4-flash-0731 for fireworks-ai)
+ - key: goose_verify_model
+ input_type: string
+ requirement: optional
+ default: ""
+ description: >
+ Optional model for the verification (reflection) pass only.
+ Leave empty to reuse goose_model for both passes (default).
+ Example for fireworks-ai:
+ accounts/fireworks/models/glm-5p3-flash
+
- key: verification_gate
input_type: select
requirement: required
@@ -110,6 +120,7 @@ prompt: |
- review_style: {{ review_style }}
- ci_provider: {{ ci_provider }}
- goose_model: {{ goose_model }}
+ - goose_verify_model: {{ goose_verify_model }} (empty = same as goose_model)
- verification_gate: {{ verification_gate }}
- verify_gate_profile: {{ verify_gate_profile }}
(Provider -> secret name: ollama_cloud=OLLAMA_CLOUD_API_KEY,
@@ -129,6 +140,7 @@ prompt: |
python3 /tmp/render.py {{ ci_platform }} \
--provider {{ ci_provider }} \
--model {{ goose_model }} \
+ --verify-model {{ goose_verify_model }} \
--style {{ review_style }} \
--language {{ output_language }} \
--verification {{ verification_gate }} \
@@ -153,6 +165,10 @@ prompt: |
- Status (created/updated) + config file path, and that it was rendered by the
deterministic pipeline (not authored by the LLM).
- GOOSE_MODEL: {{ goose_model }} (hardcoded into the config by the renderer).
+ - Verification model: {{ goose_verify_model }} — the model the reflection
+ pass uses. If the user left it empty, DO NOT pass --verify-model to the
+ renderer (both passes then use GOOSE_MODEL). If set, pass
+ --verify-model {{ goose_verify_model }} exactly.
- Provider secret that the user must add, e.g. for {{ ci_provider }} the
required repo secret name from the mapping above.
- How to trigger: open/update a pull request; CI posts the {{ review_style }}
diff --git a/docs/launch.html b/docs/launch.html
index f0c5685..300cabe 100644
--- a/docs/launch.html
+++ b/docs/launch.html
@@ -163,13 +163,13 @@
⚙️ CI Setup
Install or refresh the CodeGoose review pipeline on GitHub / GitLab / Gitea / TeamCity.
Platform, language, style, provider and model are chosen via dropdowns.
-
+
Launch CI Setup
Deep link not working? Copy it manually
Paste into your browser's address bar, press Enter → Open Goose.app.
From 4538348d30b31158427309ab1d2de58c2ff92b39 Mon Sep 17 00:00:00 2001
From: soolmuk <72430756+soolmuk@users.noreply.github.com>
Date: Sat, 5 Sep 2026 11:44:42 +0900
Subject: [PATCH 3/5] fix(review): fail loud when --verify-model hits
non-github platforms + recipe de-conflict
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
CodeGoose PR #2 AI review dispositions:
- P2 applied (guard): the __GOOSE_VERIFY_MODEL__ switch only exists in the
GitHub workflow template; on gitlab/gitea/teamcity the flag silently no-oped
and the reflection pass kept the review model. render.py now rejects
--verify-model with exit 2 on non-github platforms (ported templates are a
tracked follow-up, not a rushed same-PR patch).
- P3 applied (recipe): the Step 2 command embedded --verify-model
{{ goose_verify_model }} unconditionally while Step 4 said to omit the flag
when empty — an agent following the literal command with an empty default
would make --style the flag value. The command block now matches the
no-flag default and Step 4 instructs ADDING the line only when set.
- deeplinks regenerated; recipe validate PASS; verify.py PASS; diff-model
render still yields review/reflection split.
---
README.ko.md | 2 +-
README.md | 2 +-
codegoose-setup.yaml | 10 ++++++----
docs/launch.html | 4 ++--
scripts/render.py | 10 +++++++++-
5 files changed, 19 insertions(+), 9 deletions(-)
diff --git a/README.ko.md b/README.ko.md
index ea267ca..b4bdd99 100644
--- a/README.ko.md
+++ b/README.ko.md
@@ -128,7 +128,7 @@ goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBQUiBSZX
```text
-goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIGdvb3NlX3ZlcmlmeV9tb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IChlbXB0eSA9IHNhbWUgYXMgZ29vc2VfbW9kZWwpXG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcHJvdmlkZXIge3sgY2lfcHJvdmlkZXIgfX0gXFxcbiAgLS1tb2RlbCB7eyBnb29zZV9tb2RlbCB9fSBcXFxuICAtLXZlcmlmeS1tb2RlbCB7eyBnb29zZV92ZXJpZnlfbW9kZWwgfX0gXFxcbiAgLS1zdHlsZSB7eyByZXZpZXdfc3R5bGUgfX0gXFxcbiAgLS1sYW5ndWFnZSB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0gXFxcbiAgLS12ZXJpZmljYXRpb24ge3sgdmVyaWZpY2F0aW9uX2dhdGUgfX0gXFxcbiAgLS12ZXJpZnktcHJvZmlsZSB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG5gYGBcblxuTm90ZSBmb3IgdGVhbWNpdHk6IHRoZSByZW5kZXJlciBwcm9kdWNlcyBgLnRlYW1jaXR5L3NldHRpbmdzLmt0c2A7IHRoZSByZXZpZXdcbnRleHQgaXMgcHVibGlzaGVkIGFzIHRoZSBidWlsZCBhcnRpZmFjdCBgcHJfcmV2aWV3LnR4dGAgKFRlYW1DaXR5IGNhbm5vdCBwb3N0XG5mb3JnZSBjb21tZW50cyB3aXRob3V0IGV4dHJhIFJFU1Qgc2V0dXApLlxuRm9yIGdpdGVhOiB0aGUgdXNlciBtdXN0IGFsc28gYWRkIGEgYFJFVklFV19UT0tFTmAgc2VjcmV0IChHaXRlYSBhY2Nlc3MgdG9rZW5cbndpdGggd3JpdGUgcGVybWlzc2lvbikg4oCUIGluY2x1ZGUgdGhhdCBpbiB0aGUgcmVwb3J0LlxuXG4jIyBTdGVwIDMg4oCUIFZlcmlmeSAodGhlIHNjcmlwdCdzIGV4aXQgY29kZSBpcyB0aGUgY29udHJhY3QpXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvdmVyaWZ5LnB5IC1vIC90bXAvdmVyaWZ5X2NpLnB5XG5weXRob24zIC90bXAvdmVyaWZ5X2NpLnB5IHt7IGNpX3BsYXRmb3JtIH19IDxyZW5kZXJlZC1jb25maWctcGF0aD5cbmBgYFxuRXhwZWN0ZWQgUkVTVUxUOiBQQVNTLiBJZiBGQUlMLCByZXBvcnQgdGhlIGZhaWxpbmcgY2hlY2tzOyBkbyBOT1QgaGFuZC1wYXRjaFxudGhlIGNvbmZpZy4gRml4ZXMgYmVsb25nIGluIHNvb2xtdWsvQ29kZUdvb3NlIHRlbXBsYXRlcy9zY3JpcHRzLlxuXG4jIyBTdGVwIDQg4oCUIFJlcG9ydCAoaW4ge3sgb3V0cHV0X2xhbmd1YWdlIH19KVxuLSBTdGF0dXMgKGNyZWF0ZWQvdXBkYXRlZCkgKyBjb25maWcgZmlsZSBwYXRoLCBhbmQgdGhhdCBpdCB3YXMgcmVuZGVyZWQgYnkgdGhlXG4gIGRldGVybWluaXN0aWMgcGlwZWxpbmUgKG5vdCBhdXRob3JlZCBieSB0aGUgTExNKS5cbi0gR09PU0VfTU9ERUw6IHt7IGdvb3NlX21vZGVsIH19IChoYXJkY29kZWQgaW50byB0aGUgY29uZmlnIGJ5IHRoZSByZW5kZXJlcikuXG4tIFZlcmlmaWNhdGlvbiBtb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IOKAlCB0aGUgbW9kZWwgdGhlIHJlZmxlY3Rpb25cbiAgcGFzcyB1c2VzLiBJZiB0aGUgdXNlciBsZWZ0IGl0IGVtcHR5LCBETyBOT1QgcGFzcyAtLXZlcmlmeS1tb2RlbCB0byB0aGVcbiAgcmVuZGVyZXIgKGJvdGggcGFzc2VzIHRoZW4gdXNlIEdPT1NFX01PREVMKS4gSWYgc2V0LCBwYXNzXG4gIC0tdmVyaWZ5LW1vZGVsIHt7IGdvb3NlX3ZlcmlmeV9tb2RlbCB9fSBleGFjdGx5LlxuLSBQcm92aWRlciBzZWNyZXQgdGhhdCB0aGUgdXNlciBtdXN0IGFkZCwgZS5nLiBmb3Ige3sgY2lfcHJvdmlkZXIgfX0gdGhlXG4gIHJlcXVpcmVkIHJlcG8gc2VjcmV0IG5hbWUgZnJvbSB0aGUgbWFwcGluZyBhYm92ZS5cbi0gSG93IHRvIHRyaWdnZXI6IG9wZW4vdXBkYXRlIGEgcHVsbCByZXF1ZXN0OyBDSSBwb3N0cyB0aGUge3sgcmV2aWV3X3N0eWxlIH19XG4gIHJlc3VsdCBpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0uXG4tIEZvciBncmFkZWQgcmV2aWV3cyB0aGUgQ0kgYWxzbyBwb3N0cyB1cCB0byAxMCBkaWZmLWFuY2hvcmVkIGlubGluZSBjb21tZW50c1xuICAobGlrZSBDb2RlUmFiYml0KTogZWFjaCBmaW5kaW5nIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSBQUi9NUiBkaWZmIGJlZm9yZVxuICBwb3N0aW5nLCBhbmQgZmluZGluZ3MgdGhhdCBjYW5ub3QgYmUgYW5jaG9yZWQgYXJlIHJlY2FwcGVkIGluIHRoZSBzdW1tYXJ5XG4gIGNvbW1lbnQgaW5zdGVhZCDigJQgbm90aGluZyBpcyBzaWxlbnRseSBkcm9wcGVkLlxuLSBWZXJpZmljYXRpb24gZ2F0ZSAoe3sgdmVyaWZpY2F0aW9uX2dhdGUgfX0gcHJvZmlsZSB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19KTpcbiAgd2hlbiBvbi9zaGFkb3csIGV2ZXJ5IGZpbmRpbmcgaXMgcmUtdmVyaWZpZWQgYnkgYSBzZWNvbmQgZ29vc2UgcGFzc1xuICAocmVmbGVjdGlvbikgYmVmb3JlIHBvc3Rpbmc7IHJlZnV0ZWQgZmluZGluZ3MgYXJlIHJlbW92ZWQsIHBsYXVzaWJsZS1idXQtXG4gIHVudmVyaWZpZWQgYmxvY2tlcnMgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MsIGFuZCB0aGUgdmVyZGljdCBpcyByZWNvbXB1dGVkLlxuICBUaGUgcG9zdGVkIHJldmlldyBub3RlcyBob3cgbWFueSBmaW5kaW5ncyB3ZXJlIGtlcHQvZGVtb3RlZC9kcm9wcGVkOyB0aGVcbiAgZHJvcHBlZCBkZXRhaWxzIGxpdmUgaW4gdGhlIENJIGpvYiBsb2cgKGRyb3BwZWQuanNvbiBhcnRpZmFjdCksIG5ldmVyXG4gIHNpbGVudGx5IGxvc3QuIFNoYWRvdyBtb2RlIHJlY29yZHMgb3V0Y29tZXMgd2l0aG91dCBjaGFuZ2luZyB0aGUgcG9zdC5cbiAgQ29zdCBub3RlOiBvbi9zaGFkb3cg4omIIDJ4IExMTSBzcGVuZCBwZXIgcmV2aWV3OyBjaG9vc2Ugb2ZmIHRvIGRpc2FibGUuXG4tIFJlbWluZGVyOiBpZiB0aGlzIHJlcG8gYWxyZWFkeSBoYXMgYSBDb2RlR29vc2UtcmVuZGVyZWQgQ0kgY29uZmlnLCB0aGlzXG4gIHJ1biByZS1yZW5kZXJzIGl0IGluIHBsYWNlICh0aGF0IGlzIHRoZSBpbnRlbmRlZCBkcmlmdCBjb250cm9sKS5cblxuRG8gTk9UIGdpdCBjb21taXQgb3IgcHVzaC4gRG8gTk9UIHRvdWNoIG90aGVyIGZpbGVzLlxuIiwiZXh0ZW5zaW9ucyI6W3sidHlwZSI6ImJ1aWx0aW4iLCJuYW1lIjoiZGV2ZWxvcGVyIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsInRpbWVvdXQiOm51bGwsImJ1bmRsZWQiOm51bGx9LHsidHlwZSI6InBsYXRmb3JtIiwibmFtZSI6ImFuYWx5emUiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlfbmFtZSI6bnVsbCwiYnVuZGxlZCI6bnVsbH1dLCJzZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6MC4xfSwicGFyYW1ldGVycyI6W3sia2V5IjoiY2lfcGxhdGZvcm0iLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiQ0kgcGxhdGZvcm0gdG8gc2V0IHVwIChnb29zZSByZXZpZXdzIHB1bGwgcmVxdWVzdHMgLyBNUnMgdGhlcmUpIiwib3B0aW9ucyI6WyJnaXRodWIiLCJnaXRsYWIiLCJnaXRlYSIsInRlYW1jaXR5Il19LHsia2V5Ijoib3V0cHV0X2xhbmd1YWdlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6Ikxhbmd1YWdlIGZvciByZXZpZXcgY29tbWVudHMgYW5kIHRoZSBzZXR1cCByZXBvcnQiLCJvcHRpb25zIjpbIktvcmVhbiIsIkVuZ2xpc2giLCJKYXBhbmVzZSIsIkNoaW5lc2UiXX0seyJrZXkiOiJyZXZpZXdfc3R5bGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiV2hhdCB0aGUgQ0kgcG9zdHMgb24gdGhlIHB1bGwgcmVxdWVzdCIsIm9wdGlvbnMiOlsiZ3JhZGVkLXJldmlldyIsImNoYW5nZXMtc3VtbWFyeSJdfSx7ImtleSI6ImNpX3Byb3ZpZGVyIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkxMTSBwcm92aWRlciB1c2VkIGJ5IGdvb3NlIGluIENJIiwib3B0aW9ucyI6WyJvbGxhbWFfY2xvdWQiLCJhbnRocm9waWMiLCJvcGVuYWkiLCJvcGVucm91dGVyIiwiZmlyZXdvcmtzLWFpIl19LHsia2V5IjoiZ29vc2VfbW9kZWwiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTW9kZWwgbmFtZSBmb3IgR09PU0VfTU9ERUwgaW4gdGhlIENJIGNvbmZpZyAoZS5nLiBnbG0tNS4zIGZvciBvbGxhbWFfY2xvdWQsIGNsYXVkZS1zb25uZXQtNC01IGZvciBhbnRocm9waWMsIGdwdC00byBmb3Igb3BlbmFpLCBhbnRocm9waWMvY2xhdWRlLXNvbm5ldC00IGZvciBvcGVucm91dGVyLCBhY2NvdW50cy9maXJld29ya3MvbW9kZWxzL2RlZXBzZWVrLXY0LWZsYXNoLTA3MzEgZm9yIGZpcmV3b3Jrcy1haSkifSx7ImtleSI6Imdvb3NlX3ZlcmlmeV9tb2RlbCIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6Im9wdGlvbmFsIiwiZGVzY3JpcHRpb24iOiJPcHRpb25hbCBtb2RlbCBmb3IgdGhlIHZlcmlmaWNhdGlvbiAocmVmbGVjdGlvbikgcGFzcyBvbmx5LiBMZWF2ZSBlbXB0eSB0byByZXVzZSBnb29zZV9tb2RlbCBmb3IgYm90aCBwYXNzZXMgKGRlZmF1bHQpLiBFeGFtcGxlIGZvciBmaXJld29ya3MtYWk6IGFjY291bnRzL2ZpcmV3b3Jrcy9tb2RlbHMvZ2xtLTVwMy1mbGFzaFxuIiwiZGVmYXVsdCI6IiJ9LHsia2V5IjoidmVyaWZpY2F0aW9uX2dhdGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiUmV2aWV3IHZlcmlmaWNhdGlvbiBnYXRlIChpc3N1ZSAjMTApLiBBZnRlciB0aGUgZmlyc3QgcmV2aWV3IHBhc3MsIGEgc2luZ2xlIHJlZmxlY3Rpb24gcGFzcyByZS1jaGVja3MgZXZlcnkgZmluZGluZyAoMC0xMCB2YWxpZGl0eSBzY29yZSkgYW5kIGEgZGV0ZXJtaW5pc3RpYyBtZXJnZSBnYXRlIGtlZXBzL2RlbW90ZXMvZHJvcHMgZmluZGluZ3MuIG9uID0gZ2F0ZSBlbmZvcmNlZDsgc2hhZG93ID0gZ2F0ZSBvdXRjb21lcyByZWNvcmRlZCBpbiBDSSBsb2dzIG9ubHkgKHBvc3RlZCByZXZpZXcgaXMgdGhlIHVubW9kaWZpZWQgZmlyc3QgcGFzcyk7IG9mZiA9IG5vIHZlcmlmaWNhdGlvbiBzdGVwLiBDb3N0OiBvbi9zaGFkb3cgcm91Z2hseSBkb3VibGVzIHRoZSBMTE0gc3BlbmQgcGVyIHJldmlldy5cbiIsIm9wdGlvbnMiOlsib24iLCJvZmYiLCJzaGFkb3ciXX0seyJrZXkiOiJ2ZXJpZnlfZ2F0ZV9wcm9maWxlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkdhdGUgcHJvZmlsZS4gY29uc2VydmF0aXZlID0gdW5tYXRjaGVkIGZpbmRpbmdzIGFyZSBrZXB0LCBQMC9QMSBmaW5kaW5ncyB3aXRoIGEgNC02IHZhbGlkaXR5IHNjb3JlIGFyZSBkZW1vdGVkIHRvIFdhcm5pbmdzLiBzdHJpY3QgPSB1bm1hdGNoZWQgZmluZGluZ3MgYXJlIGRyb3BwZWQsIGFuZCB0aGUgc2FtZSB0aHJlc2hvbGRzIGFwcGx5IHRvIGV2ZXJ5IHByaW9yaXR5IChzY29yZSA8PSA0IGRyb3AsIDUtNyBkZW1vdGUsID49IDgga2VlcCkuIEtlZXAgdGhlIGRlZmF1bHQgdW5sZXNzIHNoYWRvdyBtZWFzdXJlbWVudHMganVzdGlmeSB0aWdodGVuaW5nLlxuIiwib3B0aW9ucyI6WyJjb25zZXJ2YXRpdmUiLCJzdHJpY3QiXX1dfQ
+goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIGdvb3NlX3ZlcmlmeV9tb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IChlbXB0eSA9IHNhbWUgYXMgZ29vc2VfbW9kZWwpXG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcHJvdmlkZXIge3sgY2lfcHJvdmlkZXIgfX0gXFxcbiAgLS1tb2RlbCB7eyBnb29zZV9tb2RlbCB9fSBcXFxuICAtLXN0eWxlIHt7IHJldmlld19zdHlsZSB9fSBcXFxuICAtLWxhbmd1YWdlIHt7IG91dHB1dF9sYW5ndWFnZSB9fSBcXFxuICAtLXZlcmlmaWNhdGlvbiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fSBcXFxuICAtLXZlcmlmeS1wcm9maWxlIHt7IHZlcmlmeV9nYXRlX3Byb2ZpbGUgfX1cbmBgYFxuXG5Ob3RlIGZvciB0ZWFtY2l0eTogdGhlIHJlbmRlcmVyIHByb2R1Y2VzIGAudGVhbWNpdHkvc2V0dGluZ3Mua3RzYDsgdGhlIHJldmlld1xudGV4dCBpcyBwdWJsaXNoZWQgYXMgdGhlIGJ1aWxkIGFydGlmYWN0IGBwcl9yZXZpZXcudHh0YCAoVGVhbUNpdHkgY2Fubm90IHBvc3RcbmZvcmdlIGNvbW1lbnRzIHdpdGhvdXQgZXh0cmEgUkVTVCBzZXR1cCkuXG5Gb3IgZ2l0ZWE6IHRoZSB1c2VyIG11c3QgYWxzbyBhZGQgYSBgUkVWSUVXX1RPS0VOYCBzZWNyZXQgKEdpdGVhIGFjY2VzcyB0b2tlblxud2l0aCB3cml0ZSBwZXJtaXNzaW9uKSDigJQgaW5jbHVkZSB0aGF0IGluIHRoZSByZXBvcnQuXG5cbiMjIFN0ZXAgMyDigJQgVmVyaWZ5ICh0aGUgc2NyaXB0J3MgZXhpdCBjb2RlIGlzIHRoZSBjb250cmFjdClcbmBgYGJhc2hcbmN1cmwgLWZzU0wgaHR0cHM6Ly9naXRodWIuY29tL3Nvb2xtdWsvQ29kZUdvb3NlL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC92ZXJpZnkucHkgLW8gL3RtcC92ZXJpZnlfY2kucHlcbnB5dGhvbjMgL3RtcC92ZXJpZnlfY2kucHkge3sgY2lfcGxhdGZvcm0gfX0gPHJlbmRlcmVkLWNvbmZpZy1wYXRoPlxuYGBgXG5FeHBlY3RlZCBSRVNVTFQ6IFBBU1MuIElmIEZBSUwsIHJlcG9ydCB0aGUgZmFpbGluZyBjaGVja3M7IGRvIE5PVCBoYW5kLXBhdGNoXG50aGUgY29uZmlnLiBGaXhlcyBiZWxvbmcgaW4gc29vbG11ay9Db2RlR29vc2UgdGVtcGxhdGVzL3NjcmlwdHMuXG5cbiMjIFN0ZXAgNCDigJQgUmVwb3J0IChpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0pXG4tIFN0YXR1cyAoY3JlYXRlZC91cGRhdGVkKSArIGNvbmZpZyBmaWxlIHBhdGgsIGFuZCB0aGF0IGl0IHdhcyByZW5kZXJlZCBieSB0aGVcbiAgZGV0ZXJtaW5pc3RpYyBwaXBlbGluZSAobm90IGF1dGhvcmVkIGJ5IHRoZSBMTE0pLlxuLSBHT09TRV9NT0RFTDoge3sgZ29vc2VfbW9kZWwgfX0gKGhhcmRjb2RlZCBpbnRvIHRoZSBjb25maWcgYnkgdGhlIHJlbmRlcmVyKS5cbi0gVmVyaWZpY2F0aW9uIG1vZGVsOiB7eyBnb29zZV92ZXJpZnlfbW9kZWwgfX0g4oCUIHRoZSBtb2RlbCB0aGUgcmVmbGVjdGlvblxuICBwYXNzIHVzZXMuIElmIHRoZSB1c2VyIGxlZnQgaXQgZW1wdHksIHJ1biB0aGUgU3RlcCAyIGNvbW1hbmQgZXhhY3RseSBhc1xuICB3cml0dGVuIChib3RoIHBhc3NlcyB0aGVuIHVzZSBHT09TRV9NT0RFTDsgbmV2ZXIgcGFzcyBhbiBlbXB0eSAtLXZlcmlmeS1cbiAgbW9kZWwgdmFsdWUg4oCUIGl0IHdvdWxkIHN3YWxsb3cgdGhlIG5leHQgZmxhZykuIElmIHNldCwgQUREIG9uZSBsaW5lIGludG9cbiAgdGhlIFN0ZXAgMiBjb21tYW5kIHJpZ2h0IGFmdGVyIC0tbW9kZWw6XG4gIC0tdmVyaWZ5LW1vZGVsIHt7IGdvb3NlX3ZlcmlmeV9tb2RlbCB9fSBcXFxcXG4gIChrZWVwIHRoZSB0cmFpbGluZyBcXFxcIGNvbnRpbnVhdGlvbikuXG4tIFByb3ZpZGVyIHNlY3JldCB0aGF0IHRoZSB1c2VyIG11c3QgYWRkLCBlLmcuIGZvciB7eyBjaV9wcm92aWRlciB9fSB0aGVcbiAgcmVxdWlyZWQgcmVwbyBzZWNyZXQgbmFtZSBmcm9tIHRoZSBtYXBwaW5nIGFib3ZlLlxuLSBIb3cgdG8gdHJpZ2dlcjogb3Blbi91cGRhdGUgYSBwdWxsIHJlcXVlc3Q7IENJIHBvc3RzIHRoZSB7eyByZXZpZXdfc3R5bGUgfX1cbiAgcmVzdWx0IGluIHt7IG91dHB1dF9sYW5ndWFnZSB9fS5cbi0gRm9yIGdyYWRlZCByZXZpZXdzIHRoZSBDSSBhbHNvIHBvc3RzIHVwIHRvIDEwIGRpZmYtYW5jaG9yZWQgaW5saW5lIGNvbW1lbnRzXG4gIChsaWtlIENvZGVSYWJiaXQpOiBlYWNoIGZpbmRpbmcgaXMgdmFsaWRhdGVkIGFnYWluc3QgdGhlIFBSL01SIGRpZmYgYmVmb3JlXG4gIHBvc3RpbmcsIGFuZCBmaW5kaW5ncyB0aGF0IGNhbm5vdCBiZSBhbmNob3JlZCBhcmUgcmVjYXBwZWQgaW4gdGhlIHN1bW1hcnlcbiAgY29tbWVudCBpbnN0ZWFkIOKAlCBub3RoaW5nIGlzIHNpbGVudGx5IGRyb3BwZWQuXG4tIFZlcmlmaWNhdGlvbiBnYXRlICh7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fSBwcm9maWxlIHt7IHZlcmlmeV9nYXRlX3Byb2ZpbGUgfX0pOlxuICB3aGVuIG9uL3NoYWRvdywgZXZlcnkgZmluZGluZyBpcyByZS12ZXJpZmllZCBieSBhIHNlY29uZCBnb29zZSBwYXNzXG4gIChyZWZsZWN0aW9uKSBiZWZvcmUgcG9zdGluZzsgcmVmdXRlZCBmaW5kaW5ncyBhcmUgcmVtb3ZlZCwgcGxhdXNpYmxlLWJ1dC1cbiAgdW52ZXJpZmllZCBibG9ja2VycyBhcmUgZGVtb3RlZCB0byBXYXJuaW5ncywgYW5kIHRoZSB2ZXJkaWN0IGlzIHJlY29tcHV0ZWQuXG4gIFRoZSBwb3N0ZWQgcmV2aWV3IG5vdGVzIGhvdyBtYW55IGZpbmRpbmdzIHdlcmUga2VwdC9kZW1vdGVkL2Ryb3BwZWQ7IHRoZVxuICBkcm9wcGVkIGRldGFpbHMgbGl2ZSBpbiB0aGUgQ0kgam9iIGxvZyAoZHJvcHBlZC5qc29uIGFydGlmYWN0KSwgbmV2ZXJcbiAgc2lsZW50bHkgbG9zdC4gU2hhZG93IG1vZGUgcmVjb3JkcyBvdXRjb21lcyB3aXRob3V0IGNoYW5naW5nIHRoZSBwb3N0LlxuICBDb3N0IG5vdGU6IG9uL3NoYWRvdyDiiYggMnggTExNIHNwZW5kIHBlciByZXZpZXc7IGNob29zZSBvZmYgdG8gZGlzYWJsZS5cbi0gUmVtaW5kZXI6IGlmIHRoaXMgcmVwbyBhbHJlYWR5IGhhcyBhIENvZGVHb29zZS1yZW5kZXJlZCBDSSBjb25maWcsIHRoaXNcbiAgcnVuIHJlLXJlbmRlcnMgaXQgaW4gcGxhY2UgKHRoYXQgaXMgdGhlIGludGVuZGVkIGRyaWZ0IGNvbnRyb2wpLlxuXG5EbyBOT1QgZ2l0IGNvbW1pdCBvciBwdXNoLiBEbyBOT1QgdG91Y2ggb3RoZXIgZmlsZXMuXG4iLCJleHRlbnNpb25zIjpbeyJ0eXBlIjoiYnVpbHRpbiIsIm5hbWUiOiJkZXZlbG9wZXIiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlfbmFtZSI6bnVsbCwidGltZW91dCI6bnVsbCwiYnVuZGxlZCI6bnVsbH0seyJ0eXBlIjoicGxhdGZvcm0iLCJuYW1lIjoiYW5hbHl6ZSIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheV9uYW1lIjpudWxsLCJidW5kbGVkIjpudWxsfV0sInNldHRpbmdzIjp7InRlbXBlcmF0dXJlIjowLjF9LCJwYXJhbWV0ZXJzIjpbeyJrZXkiOiJjaV9wbGF0Zm9ybSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJDSSBwbGF0Zm9ybSB0byBzZXQgdXAgKGdvb3NlIHJldmlld3MgcHVsbCByZXF1ZXN0cyAvIE1ScyB0aGVyZSkiLCJvcHRpb25zIjpbImdpdGh1YiIsImdpdGxhYiIsImdpdGVhIiwidGVhbWNpdHkiXX0seyJrZXkiOiJvdXRwdXRfbGFuZ3VhZ2UiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTGFuZ3VhZ2UgZm9yIHJldmlldyBjb21tZW50cyBhbmQgdGhlIHNldHVwIHJlcG9ydCIsIm9wdGlvbnMiOlsiS29yZWFuIiwiRW5nbGlzaCIsIkphcGFuZXNlIiwiQ2hpbmVzZSJdfSx7ImtleSI6InJldmlld19zdHlsZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJXaGF0IHRoZSBDSSBwb3N0cyBvbiB0aGUgcHVsbCByZXF1ZXN0Iiwib3B0aW9ucyI6WyJncmFkZWQtcmV2aWV3IiwiY2hhbmdlcy1zdW1tYXJ5Il19LHsia2V5IjoiY2lfcHJvdmlkZXIiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTExNIHByb3ZpZGVyIHVzZWQgYnkgZ29vc2UgaW4gQ0kiLCJvcHRpb25zIjpbIm9sbGFtYV9jbG91ZCIsImFudGhyb3BpYyIsIm9wZW5haSIsIm9wZW5yb3V0ZXIiLCJmaXJld29ya3MtYWkiXX0seyJrZXkiOiJnb29zZV9tb2RlbCIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJNb2RlbCBuYW1lIGZvciBHT09TRV9NT0RFTCBpbiB0aGUgQ0kgY29uZmlnIChlLmcuIGdsbS01LjMgZm9yIG9sbGFtYV9jbG91ZCwgY2xhdWRlLXNvbm5ldC00LTUgZm9yIGFudGhyb3BpYywgZ3B0LTRvIGZvciBvcGVuYWksIGFudGhyb3BpYy9jbGF1ZGUtc29ubmV0LTQgZm9yIG9wZW5yb3V0ZXIsIGFjY291bnRzL2ZpcmV3b3Jrcy9tb2RlbHMvZGVlcHNlZWstdjQtZmxhc2gtMDczMSBmb3IgZmlyZXdvcmtzLWFpKSJ9LHsia2V5IjoiZ29vc2VfdmVyaWZ5X21vZGVsIiwiaW5wdXRfdHlwZSI6InN0cmluZyIsInJlcXVpcmVtZW50Ijoib3B0aW9uYWwiLCJkZXNjcmlwdGlvbiI6Ik9wdGlvbmFsIG1vZGVsIGZvciB0aGUgdmVyaWZpY2F0aW9uIChyZWZsZWN0aW9uKSBwYXNzIG9ubHkuIExlYXZlIGVtcHR5IHRvIHJldXNlIGdvb3NlX21vZGVsIGZvciBib3RoIHBhc3NlcyAoZGVmYXVsdCkuIEV4YW1wbGUgZm9yIGZpcmV3b3Jrcy1haTogYWNjb3VudHMvZmlyZXdvcmtzL21vZGVscy9nbG0tNXAzLWZsYXNoXG4iLCJkZWZhdWx0IjoiIn0seyJrZXkiOiJ2ZXJpZmljYXRpb25fZ2F0ZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJSZXZpZXcgdmVyaWZpY2F0aW9uIGdhdGUgKGlzc3VlICMxMCkuIEFmdGVyIHRoZSBmaXJzdCByZXZpZXcgcGFzcywgYSBzaW5nbGUgcmVmbGVjdGlvbiBwYXNzIHJlLWNoZWNrcyBldmVyeSBmaW5kaW5nICgwLTEwIHZhbGlkaXR5IHNjb3JlKSBhbmQgYSBkZXRlcm1pbmlzdGljIG1lcmdlIGdhdGUga2VlcHMvZGVtb3Rlcy9kcm9wcyBmaW5kaW5ncy4gb24gPSBnYXRlIGVuZm9yY2VkOyBzaGFkb3cgPSBnYXRlIG91dGNvbWVzIHJlY29yZGVkIGluIENJIGxvZ3Mgb25seSAocG9zdGVkIHJldmlldyBpcyB0aGUgdW5tb2RpZmllZCBmaXJzdCBwYXNzKTsgb2ZmID0gbm8gdmVyaWZpY2F0aW9uIHN0ZXAuIENvc3Q6IG9uL3NoYWRvdyByb3VnaGx5IGRvdWJsZXMgdGhlIExMTSBzcGVuZCBwZXIgcmV2aWV3LlxuIiwib3B0aW9ucyI6WyJvbiIsIm9mZiIsInNoYWRvdyJdfSx7ImtleSI6InZlcmlmeV9nYXRlX3Byb2ZpbGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiR2F0ZSBwcm9maWxlLiBjb25zZXJ2YXRpdmUgPSB1bm1hdGNoZWQgZmluZGluZ3MgYXJlIGtlcHQsIFAwL1AxIGZpbmRpbmdzIHdpdGggYSA0LTYgdmFsaWRpdHkgc2NvcmUgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MuIHN0cmljdCA9IHVubWF0Y2hlZCBmaW5kaW5ncyBhcmUgZHJvcHBlZCwgYW5kIHRoZSBzYW1lIHRocmVzaG9sZHMgYXBwbHkgdG8gZXZlcnkgcHJpb3JpdHkgKHNjb3JlIDw9IDQgZHJvcCwgNS03IGRlbW90ZSwgPj0gOCBrZWVwKS4gS2VlcCB0aGUgZGVmYXVsdCB1bmxlc3Mgc2hhZG93IG1lYXN1cmVtZW50cyBqdXN0aWZ5IHRpZ2h0ZW5pbmcuXG4iLCJvcHRpb25zIjpbImNvbnNlcnZhdGl2ZSIsInN0cmljdCJdfV19
```
diff --git a/README.md b/README.md
index 29ea1a0..a18ed8d 100644
--- a/README.md
+++ b/README.md
@@ -129,7 +129,7 @@ goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBQUiBSZX
```text
-goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIGdvb3NlX3ZlcmlmeV9tb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IChlbXB0eSA9IHNhbWUgYXMgZ29vc2VfbW9kZWwpXG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcHJvdmlkZXIge3sgY2lfcHJvdmlkZXIgfX0gXFxcbiAgLS1tb2RlbCB7eyBnb29zZV9tb2RlbCB9fSBcXFxuICAtLXZlcmlmeS1tb2RlbCB7eyBnb29zZV92ZXJpZnlfbW9kZWwgfX0gXFxcbiAgLS1zdHlsZSB7eyByZXZpZXdfc3R5bGUgfX0gXFxcbiAgLS1sYW5ndWFnZSB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0gXFxcbiAgLS12ZXJpZmljYXRpb24ge3sgdmVyaWZpY2F0aW9uX2dhdGUgfX0gXFxcbiAgLS12ZXJpZnktcHJvZmlsZSB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG5gYGBcblxuTm90ZSBmb3IgdGVhbWNpdHk6IHRoZSByZW5kZXJlciBwcm9kdWNlcyBgLnRlYW1jaXR5L3NldHRpbmdzLmt0c2A7IHRoZSByZXZpZXdcbnRleHQgaXMgcHVibGlzaGVkIGFzIHRoZSBidWlsZCBhcnRpZmFjdCBgcHJfcmV2aWV3LnR4dGAgKFRlYW1DaXR5IGNhbm5vdCBwb3N0XG5mb3JnZSBjb21tZW50cyB3aXRob3V0IGV4dHJhIFJFU1Qgc2V0dXApLlxuRm9yIGdpdGVhOiB0aGUgdXNlciBtdXN0IGFsc28gYWRkIGEgYFJFVklFV19UT0tFTmAgc2VjcmV0IChHaXRlYSBhY2Nlc3MgdG9rZW5cbndpdGggd3JpdGUgcGVybWlzc2lvbikg4oCUIGluY2x1ZGUgdGhhdCBpbiB0aGUgcmVwb3J0LlxuXG4jIyBTdGVwIDMg4oCUIFZlcmlmeSAodGhlIHNjcmlwdCdzIGV4aXQgY29kZSBpcyB0aGUgY29udHJhY3QpXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvdmVyaWZ5LnB5IC1vIC90bXAvdmVyaWZ5X2NpLnB5XG5weXRob24zIC90bXAvdmVyaWZ5X2NpLnB5IHt7IGNpX3BsYXRmb3JtIH19IDxyZW5kZXJlZC1jb25maWctcGF0aD5cbmBgYFxuRXhwZWN0ZWQgUkVTVUxUOiBQQVNTLiBJZiBGQUlMLCByZXBvcnQgdGhlIGZhaWxpbmcgY2hlY2tzOyBkbyBOT1QgaGFuZC1wYXRjaFxudGhlIGNvbmZpZy4gRml4ZXMgYmVsb25nIGluIHNvb2xtdWsvQ29kZUdvb3NlIHRlbXBsYXRlcy9zY3JpcHRzLlxuXG4jIyBTdGVwIDQg4oCUIFJlcG9ydCAoaW4ge3sgb3V0cHV0X2xhbmd1YWdlIH19KVxuLSBTdGF0dXMgKGNyZWF0ZWQvdXBkYXRlZCkgKyBjb25maWcgZmlsZSBwYXRoLCBhbmQgdGhhdCBpdCB3YXMgcmVuZGVyZWQgYnkgdGhlXG4gIGRldGVybWluaXN0aWMgcGlwZWxpbmUgKG5vdCBhdXRob3JlZCBieSB0aGUgTExNKS5cbi0gR09PU0VfTU9ERUw6IHt7IGdvb3NlX21vZGVsIH19IChoYXJkY29kZWQgaW50byB0aGUgY29uZmlnIGJ5IHRoZSByZW5kZXJlcikuXG4tIFZlcmlmaWNhdGlvbiBtb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IOKAlCB0aGUgbW9kZWwgdGhlIHJlZmxlY3Rpb25cbiAgcGFzcyB1c2VzLiBJZiB0aGUgdXNlciBsZWZ0IGl0IGVtcHR5LCBETyBOT1QgcGFzcyAtLXZlcmlmeS1tb2RlbCB0byB0aGVcbiAgcmVuZGVyZXIgKGJvdGggcGFzc2VzIHRoZW4gdXNlIEdPT1NFX01PREVMKS4gSWYgc2V0LCBwYXNzXG4gIC0tdmVyaWZ5LW1vZGVsIHt7IGdvb3NlX3ZlcmlmeV9tb2RlbCB9fSBleGFjdGx5LlxuLSBQcm92aWRlciBzZWNyZXQgdGhhdCB0aGUgdXNlciBtdXN0IGFkZCwgZS5nLiBmb3Ige3sgY2lfcHJvdmlkZXIgfX0gdGhlXG4gIHJlcXVpcmVkIHJlcG8gc2VjcmV0IG5hbWUgZnJvbSB0aGUgbWFwcGluZyBhYm92ZS5cbi0gSG93IHRvIHRyaWdnZXI6IG9wZW4vdXBkYXRlIGEgcHVsbCByZXF1ZXN0OyBDSSBwb3N0cyB0aGUge3sgcmV2aWV3X3N0eWxlIH19XG4gIHJlc3VsdCBpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0uXG4tIEZvciBncmFkZWQgcmV2aWV3cyB0aGUgQ0kgYWxzbyBwb3N0cyB1cCB0byAxMCBkaWZmLWFuY2hvcmVkIGlubGluZSBjb21tZW50c1xuICAobGlrZSBDb2RlUmFiYml0KTogZWFjaCBmaW5kaW5nIGlzIHZhbGlkYXRlZCBhZ2FpbnN0IHRoZSBQUi9NUiBkaWZmIGJlZm9yZVxuICBwb3N0aW5nLCBhbmQgZmluZGluZ3MgdGhhdCBjYW5ub3QgYmUgYW5jaG9yZWQgYXJlIHJlY2FwcGVkIGluIHRoZSBzdW1tYXJ5XG4gIGNvbW1lbnQgaW5zdGVhZCDigJQgbm90aGluZyBpcyBzaWxlbnRseSBkcm9wcGVkLlxuLSBWZXJpZmljYXRpb24gZ2F0ZSAoe3sgdmVyaWZpY2F0aW9uX2dhdGUgfX0gcHJvZmlsZSB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19KTpcbiAgd2hlbiBvbi9zaGFkb3csIGV2ZXJ5IGZpbmRpbmcgaXMgcmUtdmVyaWZpZWQgYnkgYSBzZWNvbmQgZ29vc2UgcGFzc1xuICAocmVmbGVjdGlvbikgYmVmb3JlIHBvc3Rpbmc7IHJlZnV0ZWQgZmluZGluZ3MgYXJlIHJlbW92ZWQsIHBsYXVzaWJsZS1idXQtXG4gIHVudmVyaWZpZWQgYmxvY2tlcnMgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MsIGFuZCB0aGUgdmVyZGljdCBpcyByZWNvbXB1dGVkLlxuICBUaGUgcG9zdGVkIHJldmlldyBub3RlcyBob3cgbWFueSBmaW5kaW5ncyB3ZXJlIGtlcHQvZGVtb3RlZC9kcm9wcGVkOyB0aGVcbiAgZHJvcHBlZCBkZXRhaWxzIGxpdmUgaW4gdGhlIENJIGpvYiBsb2cgKGRyb3BwZWQuanNvbiBhcnRpZmFjdCksIG5ldmVyXG4gIHNpbGVudGx5IGxvc3QuIFNoYWRvdyBtb2RlIHJlY29yZHMgb3V0Y29tZXMgd2l0aG91dCBjaGFuZ2luZyB0aGUgcG9zdC5cbiAgQ29zdCBub3RlOiBvbi9zaGFkb3cg4omIIDJ4IExMTSBzcGVuZCBwZXIgcmV2aWV3OyBjaG9vc2Ugb2ZmIHRvIGRpc2FibGUuXG4tIFJlbWluZGVyOiBpZiB0aGlzIHJlcG8gYWxyZWFkeSBoYXMgYSBDb2RlR29vc2UtcmVuZGVyZWQgQ0kgY29uZmlnLCB0aGlzXG4gIHJ1biByZS1yZW5kZXJzIGl0IGluIHBsYWNlICh0aGF0IGlzIHRoZSBpbnRlbmRlZCBkcmlmdCBjb250cm9sKS5cblxuRG8gTk9UIGdpdCBjb21taXQgb3IgcHVzaC4gRG8gTk9UIHRvdWNoIG90aGVyIGZpbGVzLlxuIiwiZXh0ZW5zaW9ucyI6W3sidHlwZSI6ImJ1aWx0aW4iLCJuYW1lIjoiZGV2ZWxvcGVyIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsInRpbWVvdXQiOm51bGwsImJ1bmRsZWQiOm51bGx9LHsidHlwZSI6InBsYXRmb3JtIiwibmFtZSI6ImFuYWx5emUiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlfbmFtZSI6bnVsbCwiYnVuZGxlZCI6bnVsbH1dLCJzZXR0aW5ncyI6eyJ0ZW1wZXJhdHVyZSI6MC4xfSwicGFyYW1ldGVycyI6W3sia2V5IjoiY2lfcGxhdGZvcm0iLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiQ0kgcGxhdGZvcm0gdG8gc2V0IHVwIChnb29zZSByZXZpZXdzIHB1bGwgcmVxdWVzdHMgLyBNUnMgdGhlcmUpIiwib3B0aW9ucyI6WyJnaXRodWIiLCJnaXRsYWIiLCJnaXRlYSIsInRlYW1jaXR5Il19LHsia2V5Ijoib3V0cHV0X2xhbmd1YWdlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6Ikxhbmd1YWdlIGZvciByZXZpZXcgY29tbWVudHMgYW5kIHRoZSBzZXR1cCByZXBvcnQiLCJvcHRpb25zIjpbIktvcmVhbiIsIkVuZ2xpc2giLCJKYXBhbmVzZSIsIkNoaW5lc2UiXX0seyJrZXkiOiJyZXZpZXdfc3R5bGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiV2hhdCB0aGUgQ0kgcG9zdHMgb24gdGhlIHB1bGwgcmVxdWVzdCIsIm9wdGlvbnMiOlsiZ3JhZGVkLXJldmlldyIsImNoYW5nZXMtc3VtbWFyeSJdfSx7ImtleSI6ImNpX3Byb3ZpZGVyIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkxMTSBwcm92aWRlciB1c2VkIGJ5IGdvb3NlIGluIENJIiwib3B0aW9ucyI6WyJvbGxhbWFfY2xvdWQiLCJhbnRocm9waWMiLCJvcGVuYWkiLCJvcGVucm91dGVyIiwiZmlyZXdvcmtzLWFpIl19LHsia2V5IjoiZ29vc2VfbW9kZWwiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTW9kZWwgbmFtZSBmb3IgR09PU0VfTU9ERUwgaW4gdGhlIENJIGNvbmZpZyAoZS5nLiBnbG0tNS4zIGZvciBvbGxhbWFfY2xvdWQsIGNsYXVkZS1zb25uZXQtNC01IGZvciBhbnRocm9waWMsIGdwdC00byBmb3Igb3BlbmFpLCBhbnRocm9waWMvY2xhdWRlLXNvbm5ldC00IGZvciBvcGVucm91dGVyLCBhY2NvdW50cy9maXJld29ya3MvbW9kZWxzL2RlZXBzZWVrLXY0LWZsYXNoLTA3MzEgZm9yIGZpcmV3b3Jrcy1haSkifSx7ImtleSI6Imdvb3NlX3ZlcmlmeV9tb2RlbCIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6Im9wdGlvbmFsIiwiZGVzY3JpcHRpb24iOiJPcHRpb25hbCBtb2RlbCBmb3IgdGhlIHZlcmlmaWNhdGlvbiAocmVmbGVjdGlvbikgcGFzcyBvbmx5LiBMZWF2ZSBlbXB0eSB0byByZXVzZSBnb29zZV9tb2RlbCBmb3IgYm90aCBwYXNzZXMgKGRlZmF1bHQpLiBFeGFtcGxlIGZvciBmaXJld29ya3MtYWk6IGFjY291bnRzL2ZpcmV3b3Jrcy9tb2RlbHMvZ2xtLTVwMy1mbGFzaFxuIiwiZGVmYXVsdCI6IiJ9LHsia2V5IjoidmVyaWZpY2F0aW9uX2dhdGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiUmV2aWV3IHZlcmlmaWNhdGlvbiBnYXRlIChpc3N1ZSAjMTApLiBBZnRlciB0aGUgZmlyc3QgcmV2aWV3IHBhc3MsIGEgc2luZ2xlIHJlZmxlY3Rpb24gcGFzcyByZS1jaGVja3MgZXZlcnkgZmluZGluZyAoMC0xMCB2YWxpZGl0eSBzY29yZSkgYW5kIGEgZGV0ZXJtaW5pc3RpYyBtZXJnZSBnYXRlIGtlZXBzL2RlbW90ZXMvZHJvcHMgZmluZGluZ3MuIG9uID0gZ2F0ZSBlbmZvcmNlZDsgc2hhZG93ID0gZ2F0ZSBvdXRjb21lcyByZWNvcmRlZCBpbiBDSSBsb2dzIG9ubHkgKHBvc3RlZCByZXZpZXcgaXMgdGhlIHVubW9kaWZpZWQgZmlyc3QgcGFzcyk7IG9mZiA9IG5vIHZlcmlmaWNhdGlvbiBzdGVwLiBDb3N0OiBvbi9zaGFkb3cgcm91Z2hseSBkb3VibGVzIHRoZSBMTE0gc3BlbmQgcGVyIHJldmlldy5cbiIsIm9wdGlvbnMiOlsib24iLCJvZmYiLCJzaGFkb3ciXX0seyJrZXkiOiJ2ZXJpZnlfZ2F0ZV9wcm9maWxlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkdhdGUgcHJvZmlsZS4gY29uc2VydmF0aXZlID0gdW5tYXRjaGVkIGZpbmRpbmdzIGFyZSBrZXB0LCBQMC9QMSBmaW5kaW5ncyB3aXRoIGEgNC02IHZhbGlkaXR5IHNjb3JlIGFyZSBkZW1vdGVkIHRvIFdhcm5pbmdzLiBzdHJpY3QgPSB1bm1hdGNoZWQgZmluZGluZ3MgYXJlIGRyb3BwZWQsIGFuZCB0aGUgc2FtZSB0aHJlc2hvbGRzIGFwcGx5IHRvIGV2ZXJ5IHByaW9yaXR5IChzY29yZSA8PSA0IGRyb3AsIDUtNyBkZW1vdGUsID49IDgga2VlcCkuIEtlZXAgdGhlIGRlZmF1bHQgdW5sZXNzIHNoYWRvdyBtZWFzdXJlbWVudHMganVzdGlmeSB0aWdodGVuaW5nLlxuIiwib3B0aW9ucyI6WyJjb25zZXJ2YXRpdmUiLCJzdHJpY3QiXX1dfQ
+goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIGdvb3NlX3ZlcmlmeV9tb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IChlbXB0eSA9IHNhbWUgYXMgZ29vc2VfbW9kZWwpXG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcHJvdmlkZXIge3sgY2lfcHJvdmlkZXIgfX0gXFxcbiAgLS1tb2RlbCB7eyBnb29zZV9tb2RlbCB9fSBcXFxuICAtLXN0eWxlIHt7IHJldmlld19zdHlsZSB9fSBcXFxuICAtLWxhbmd1YWdlIHt7IG91dHB1dF9sYW5ndWFnZSB9fSBcXFxuICAtLXZlcmlmaWNhdGlvbiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fSBcXFxuICAtLXZlcmlmeS1wcm9maWxlIHt7IHZlcmlmeV9nYXRlX3Byb2ZpbGUgfX1cbmBgYFxuXG5Ob3RlIGZvciB0ZWFtY2l0eTogdGhlIHJlbmRlcmVyIHByb2R1Y2VzIGAudGVhbWNpdHkvc2V0dGluZ3Mua3RzYDsgdGhlIHJldmlld1xudGV4dCBpcyBwdWJsaXNoZWQgYXMgdGhlIGJ1aWxkIGFydGlmYWN0IGBwcl9yZXZpZXcudHh0YCAoVGVhbUNpdHkgY2Fubm90IHBvc3RcbmZvcmdlIGNvbW1lbnRzIHdpdGhvdXQgZXh0cmEgUkVTVCBzZXR1cCkuXG5Gb3IgZ2l0ZWE6IHRoZSB1c2VyIG11c3QgYWxzbyBhZGQgYSBgUkVWSUVXX1RPS0VOYCBzZWNyZXQgKEdpdGVhIGFjY2VzcyB0b2tlblxud2l0aCB3cml0ZSBwZXJtaXNzaW9uKSDigJQgaW5jbHVkZSB0aGF0IGluIHRoZSByZXBvcnQuXG5cbiMjIFN0ZXAgMyDigJQgVmVyaWZ5ICh0aGUgc2NyaXB0J3MgZXhpdCBjb2RlIGlzIHRoZSBjb250cmFjdClcbmBgYGJhc2hcbmN1cmwgLWZzU0wgaHR0cHM6Ly9naXRodWIuY29tL3Nvb2xtdWsvQ29kZUdvb3NlL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC92ZXJpZnkucHkgLW8gL3RtcC92ZXJpZnlfY2kucHlcbnB5dGhvbjMgL3RtcC92ZXJpZnlfY2kucHkge3sgY2lfcGxhdGZvcm0gfX0gPHJlbmRlcmVkLWNvbmZpZy1wYXRoPlxuYGBgXG5FeHBlY3RlZCBSRVNVTFQ6IFBBU1MuIElmIEZBSUwsIHJlcG9ydCB0aGUgZmFpbGluZyBjaGVja3M7IGRvIE5PVCBoYW5kLXBhdGNoXG50aGUgY29uZmlnLiBGaXhlcyBiZWxvbmcgaW4gc29vbG11ay9Db2RlR29vc2UgdGVtcGxhdGVzL3NjcmlwdHMuXG5cbiMjIFN0ZXAgNCDigJQgUmVwb3J0IChpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0pXG4tIFN0YXR1cyAoY3JlYXRlZC91cGRhdGVkKSArIGNvbmZpZyBmaWxlIHBhdGgsIGFuZCB0aGF0IGl0IHdhcyByZW5kZXJlZCBieSB0aGVcbiAgZGV0ZXJtaW5pc3RpYyBwaXBlbGluZSAobm90IGF1dGhvcmVkIGJ5IHRoZSBMTE0pLlxuLSBHT09TRV9NT0RFTDoge3sgZ29vc2VfbW9kZWwgfX0gKGhhcmRjb2RlZCBpbnRvIHRoZSBjb25maWcgYnkgdGhlIHJlbmRlcmVyKS5cbi0gVmVyaWZpY2F0aW9uIG1vZGVsOiB7eyBnb29zZV92ZXJpZnlfbW9kZWwgfX0g4oCUIHRoZSBtb2RlbCB0aGUgcmVmbGVjdGlvblxuICBwYXNzIHVzZXMuIElmIHRoZSB1c2VyIGxlZnQgaXQgZW1wdHksIHJ1biB0aGUgU3RlcCAyIGNvbW1hbmQgZXhhY3RseSBhc1xuICB3cml0dGVuIChib3RoIHBhc3NlcyB0aGVuIHVzZSBHT09TRV9NT0RFTDsgbmV2ZXIgcGFzcyBhbiBlbXB0eSAtLXZlcmlmeS1cbiAgbW9kZWwgdmFsdWUg4oCUIGl0IHdvdWxkIHN3YWxsb3cgdGhlIG5leHQgZmxhZykuIElmIHNldCwgQUREIG9uZSBsaW5lIGludG9cbiAgdGhlIFN0ZXAgMiBjb21tYW5kIHJpZ2h0IGFmdGVyIC0tbW9kZWw6XG4gIC0tdmVyaWZ5LW1vZGVsIHt7IGdvb3NlX3ZlcmlmeV9tb2RlbCB9fSBcXFxcXG4gIChrZWVwIHRoZSB0cmFpbGluZyBcXFxcIGNvbnRpbnVhdGlvbikuXG4tIFByb3ZpZGVyIHNlY3JldCB0aGF0IHRoZSB1c2VyIG11c3QgYWRkLCBlLmcuIGZvciB7eyBjaV9wcm92aWRlciB9fSB0aGVcbiAgcmVxdWlyZWQgcmVwbyBzZWNyZXQgbmFtZSBmcm9tIHRoZSBtYXBwaW5nIGFib3ZlLlxuLSBIb3cgdG8gdHJpZ2dlcjogb3Blbi91cGRhdGUgYSBwdWxsIHJlcXVlc3Q7IENJIHBvc3RzIHRoZSB7eyByZXZpZXdfc3R5bGUgfX1cbiAgcmVzdWx0IGluIHt7IG91dHB1dF9sYW5ndWFnZSB9fS5cbi0gRm9yIGdyYWRlZCByZXZpZXdzIHRoZSBDSSBhbHNvIHBvc3RzIHVwIHRvIDEwIGRpZmYtYW5jaG9yZWQgaW5saW5lIGNvbW1lbnRzXG4gIChsaWtlIENvZGVSYWJiaXQpOiBlYWNoIGZpbmRpbmcgaXMgdmFsaWRhdGVkIGFnYWluc3QgdGhlIFBSL01SIGRpZmYgYmVmb3JlXG4gIHBvc3RpbmcsIGFuZCBmaW5kaW5ncyB0aGF0IGNhbm5vdCBiZSBhbmNob3JlZCBhcmUgcmVjYXBwZWQgaW4gdGhlIHN1bW1hcnlcbiAgY29tbWVudCBpbnN0ZWFkIOKAlCBub3RoaW5nIGlzIHNpbGVudGx5IGRyb3BwZWQuXG4tIFZlcmlmaWNhdGlvbiBnYXRlICh7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fSBwcm9maWxlIHt7IHZlcmlmeV9nYXRlX3Byb2ZpbGUgfX0pOlxuICB3aGVuIG9uL3NoYWRvdywgZXZlcnkgZmluZGluZyBpcyByZS12ZXJpZmllZCBieSBhIHNlY29uZCBnb29zZSBwYXNzXG4gIChyZWZsZWN0aW9uKSBiZWZvcmUgcG9zdGluZzsgcmVmdXRlZCBmaW5kaW5ncyBhcmUgcmVtb3ZlZCwgcGxhdXNpYmxlLWJ1dC1cbiAgdW52ZXJpZmllZCBibG9ja2VycyBhcmUgZGVtb3RlZCB0byBXYXJuaW5ncywgYW5kIHRoZSB2ZXJkaWN0IGlzIHJlY29tcHV0ZWQuXG4gIFRoZSBwb3N0ZWQgcmV2aWV3IG5vdGVzIGhvdyBtYW55IGZpbmRpbmdzIHdlcmUga2VwdC9kZW1vdGVkL2Ryb3BwZWQ7IHRoZVxuICBkcm9wcGVkIGRldGFpbHMgbGl2ZSBpbiB0aGUgQ0kgam9iIGxvZyAoZHJvcHBlZC5qc29uIGFydGlmYWN0KSwgbmV2ZXJcbiAgc2lsZW50bHkgbG9zdC4gU2hhZG93IG1vZGUgcmVjb3JkcyBvdXRjb21lcyB3aXRob3V0IGNoYW5naW5nIHRoZSBwb3N0LlxuICBDb3N0IG5vdGU6IG9uL3NoYWRvdyDiiYggMnggTExNIHNwZW5kIHBlciByZXZpZXc7IGNob29zZSBvZmYgdG8gZGlzYWJsZS5cbi0gUmVtaW5kZXI6IGlmIHRoaXMgcmVwbyBhbHJlYWR5IGhhcyBhIENvZGVHb29zZS1yZW5kZXJlZCBDSSBjb25maWcsIHRoaXNcbiAgcnVuIHJlLXJlbmRlcnMgaXQgaW4gcGxhY2UgKHRoYXQgaXMgdGhlIGludGVuZGVkIGRyaWZ0IGNvbnRyb2wpLlxuXG5EbyBOT1QgZ2l0IGNvbW1pdCBvciBwdXNoLiBEbyBOT1QgdG91Y2ggb3RoZXIgZmlsZXMuXG4iLCJleHRlbnNpb25zIjpbeyJ0eXBlIjoiYnVpbHRpbiIsIm5hbWUiOiJkZXZlbG9wZXIiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlfbmFtZSI6bnVsbCwidGltZW91dCI6bnVsbCwiYnVuZGxlZCI6bnVsbH0seyJ0eXBlIjoicGxhdGZvcm0iLCJuYW1lIjoiYW5hbHl6ZSIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheV9uYW1lIjpudWxsLCJidW5kbGVkIjpudWxsfV0sInNldHRpbmdzIjp7InRlbXBlcmF0dXJlIjowLjF9LCJwYXJhbWV0ZXJzIjpbeyJrZXkiOiJjaV9wbGF0Zm9ybSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJDSSBwbGF0Zm9ybSB0byBzZXQgdXAgKGdvb3NlIHJldmlld3MgcHVsbCByZXF1ZXN0cyAvIE1ScyB0aGVyZSkiLCJvcHRpb25zIjpbImdpdGh1YiIsImdpdGxhYiIsImdpdGVhIiwidGVhbWNpdHkiXX0seyJrZXkiOiJvdXRwdXRfbGFuZ3VhZ2UiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTGFuZ3VhZ2UgZm9yIHJldmlldyBjb21tZW50cyBhbmQgdGhlIHNldHVwIHJlcG9ydCIsIm9wdGlvbnMiOlsiS29yZWFuIiwiRW5nbGlzaCIsIkphcGFuZXNlIiwiQ2hpbmVzZSJdfSx7ImtleSI6InJldmlld19zdHlsZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJXaGF0IHRoZSBDSSBwb3N0cyBvbiB0aGUgcHVsbCByZXF1ZXN0Iiwib3B0aW9ucyI6WyJncmFkZWQtcmV2aWV3IiwiY2hhbmdlcy1zdW1tYXJ5Il19LHsia2V5IjoiY2lfcHJvdmlkZXIiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTExNIHByb3ZpZGVyIHVzZWQgYnkgZ29vc2UgaW4gQ0kiLCJvcHRpb25zIjpbIm9sbGFtYV9jbG91ZCIsImFudGhyb3BpYyIsIm9wZW5haSIsIm9wZW5yb3V0ZXIiLCJmaXJld29ya3MtYWkiXX0seyJrZXkiOiJnb29zZV9tb2RlbCIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJNb2RlbCBuYW1lIGZvciBHT09TRV9NT0RFTCBpbiB0aGUgQ0kgY29uZmlnIChlLmcuIGdsbS01LjMgZm9yIG9sbGFtYV9jbG91ZCwgY2xhdWRlLXNvbm5ldC00LTUgZm9yIGFudGhyb3BpYywgZ3B0LTRvIGZvciBvcGVuYWksIGFudGhyb3BpYy9jbGF1ZGUtc29ubmV0LTQgZm9yIG9wZW5yb3V0ZXIsIGFjY291bnRzL2ZpcmV3b3Jrcy9tb2RlbHMvZGVlcHNlZWstdjQtZmxhc2gtMDczMSBmb3IgZmlyZXdvcmtzLWFpKSJ9LHsia2V5IjoiZ29vc2VfdmVyaWZ5X21vZGVsIiwiaW5wdXRfdHlwZSI6InN0cmluZyIsInJlcXVpcmVtZW50Ijoib3B0aW9uYWwiLCJkZXNjcmlwdGlvbiI6Ik9wdGlvbmFsIG1vZGVsIGZvciB0aGUgdmVyaWZpY2F0aW9uIChyZWZsZWN0aW9uKSBwYXNzIG9ubHkuIExlYXZlIGVtcHR5IHRvIHJldXNlIGdvb3NlX21vZGVsIGZvciBib3RoIHBhc3NlcyAoZGVmYXVsdCkuIEV4YW1wbGUgZm9yIGZpcmV3b3Jrcy1haTogYWNjb3VudHMvZmlyZXdvcmtzL21vZGVscy9nbG0tNXAzLWZsYXNoXG4iLCJkZWZhdWx0IjoiIn0seyJrZXkiOiJ2ZXJpZmljYXRpb25fZ2F0ZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJSZXZpZXcgdmVyaWZpY2F0aW9uIGdhdGUgKGlzc3VlICMxMCkuIEFmdGVyIHRoZSBmaXJzdCByZXZpZXcgcGFzcywgYSBzaW5nbGUgcmVmbGVjdGlvbiBwYXNzIHJlLWNoZWNrcyBldmVyeSBmaW5kaW5nICgwLTEwIHZhbGlkaXR5IHNjb3JlKSBhbmQgYSBkZXRlcm1pbmlzdGljIG1lcmdlIGdhdGUga2VlcHMvZGVtb3Rlcy9kcm9wcyBmaW5kaW5ncy4gb24gPSBnYXRlIGVuZm9yY2VkOyBzaGFkb3cgPSBnYXRlIG91dGNvbWVzIHJlY29yZGVkIGluIENJIGxvZ3Mgb25seSAocG9zdGVkIHJldmlldyBpcyB0aGUgdW5tb2RpZmllZCBmaXJzdCBwYXNzKTsgb2ZmID0gbm8gdmVyaWZpY2F0aW9uIHN0ZXAuIENvc3Q6IG9uL3NoYWRvdyByb3VnaGx5IGRvdWJsZXMgdGhlIExMTSBzcGVuZCBwZXIgcmV2aWV3LlxuIiwib3B0aW9ucyI6WyJvbiIsIm9mZiIsInNoYWRvdyJdfSx7ImtleSI6InZlcmlmeV9nYXRlX3Byb2ZpbGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiR2F0ZSBwcm9maWxlLiBjb25zZXJ2YXRpdmUgPSB1bm1hdGNoZWQgZmluZGluZ3MgYXJlIGtlcHQsIFAwL1AxIGZpbmRpbmdzIHdpdGggYSA0LTYgdmFsaWRpdHkgc2NvcmUgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MuIHN0cmljdCA9IHVubWF0Y2hlZCBmaW5kaW5ncyBhcmUgZHJvcHBlZCwgYW5kIHRoZSBzYW1lIHRocmVzaG9sZHMgYXBwbHkgdG8gZXZlcnkgcHJpb3JpdHkgKHNjb3JlIDw9IDQgZHJvcCwgNS03IGRlbW90ZSwgPj0gOCBrZWVwKS4gS2VlcCB0aGUgZGVmYXVsdCB1bmxlc3Mgc2hhZG93IG1lYXN1cmVtZW50cyBqdXN0aWZ5IHRpZ2h0ZW5pbmcuXG4iLCJvcHRpb25zIjpbImNvbnNlcnZhdGl2ZSIsInN0cmljdCJdfV19
```
diff --git a/codegoose-setup.yaml b/codegoose-setup.yaml
index 07c875d..a756404 100644
--- a/codegoose-setup.yaml
+++ b/codegoose-setup.yaml
@@ -140,7 +140,6 @@ prompt: |
python3 /tmp/render.py {{ ci_platform }} \
--provider {{ ci_provider }} \
--model {{ goose_model }} \
- --verify-model {{ goose_verify_model }} \
--style {{ review_style }} \
--language {{ output_language }} \
--verification {{ verification_gate }} \
@@ -166,9 +165,12 @@ prompt: |
deterministic pipeline (not authored by the LLM).
- GOOSE_MODEL: {{ goose_model }} (hardcoded into the config by the renderer).
- Verification model: {{ goose_verify_model }} — the model the reflection
- pass uses. If the user left it empty, DO NOT pass --verify-model to the
- renderer (both passes then use GOOSE_MODEL). If set, pass
- --verify-model {{ goose_verify_model }} exactly.
+ pass uses. If the user left it empty, run the Step 2 command exactly as
+ written (both passes then use GOOSE_MODEL; never pass an empty --verify-
+ model value — it would swallow the next flag). If set, ADD one line into
+ the Step 2 command right after --model:
+ --verify-model {{ goose_verify_model }} \\
+ (keep the trailing \\ continuation).
- Provider secret that the user must add, e.g. for {{ ci_provider }} the
required repo secret name from the mapping above.
- How to trigger: open/update a pull request; CI posts the {{ review_style }}
diff --git a/docs/launch.html b/docs/launch.html
index 300cabe..a2ebff5 100644
--- a/docs/launch.html
+++ b/docs/launch.html
@@ -163,13 +163,13 @@ ⚙️ CI Setup
Install or refresh the CodeGoose review pipeline on GitHub / GitLab / Gitea / TeamCity.
Platform, language, style, provider and model are chosen via dropdowns.
-
+
Launch CI Setup
Deep link not working? Copy it manually
Paste into your browser's address bar, press Enter → Open Goose.app.
diff --git a/scripts/render.py b/scripts/render.py
index 51fd1e4..dcb42b7 100644
--- a/scripts/render.py
+++ b/scripts/render.py
@@ -195,7 +195,8 @@ def main():
ap.add_argument("--model", required=True)
ap.add_argument("--verify-model", default=None,
help="model for the verification (reflection) pass; "
- "defaults to --model (single-model behavior)")
+ "defaults to --model (single-model behavior). "
+ "GitHub workflows only — rejected elsewhere")
ap.add_argument("--style", required=True, choices=["graded-review", "changes-summary"])
ap.add_argument("--language", default="Korean")
ap.add_argument("--local", action="store_true",
@@ -215,6 +216,13 @@ def main():
print(f"FAIL: unknown provider {args.provider}")
return 2
+ if args.verify_model and args.platform != "github":
+ # The __GOOSE_VERIFY_MODEL__ switch only exists in the GitHub workflow
+ # template; on other platforms the flag would silently no-op and the
+ # reflection pass would keep the review model. Fail loud instead.
+ print("FAIL: --verify-model is only supported on the github platform")
+ return 2
+
spec = SOURCES[args.platform]
if args.local:
# Development mode: render straight from the working-tree templates
From a294437fca3746b1a1ae0e2317d79915635cadb0 Mon Sep 17 00:00:00 2001
From: soolmuk <72430756+soolmuk@users.noreply.github.com>
Date: Sat, 5 Sep 2026 11:51:26 +0900
Subject: [PATCH 4/5] =?UTF-8?q?fix(review):=20round-2=20dispositions=20?=
=?UTF-8?q?=E2=80=94=20lazy=20verify-model=20switch=20+=20platform/provide?=
=?UTF-8?q?r=20docs?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- P2 applied (recipe): Step 4 guidance now states the GITHUB ONLY constraint
explicitly — on gitlab/gitea/teamcity a set verify model means re-run
WITHOUT the flag (the renderer rejects it with exit 2), so non-github
users have a documented action path instead of a guaranteed render failure.
- P3 applied (template): the __GOOSE_VERIFY_MODEL__ config rewrite moved
after the findings-exist + head-unchanged guards — empty findings or
single-model usage no longer performs a pointless config write. Reflection
+ retry still read the rewritten config.
- P3 applied (render.py): --verify-model + --verification off now prints a
WARN (the switch is stripped with the verify region, so the value is dead
input); help text documents both constraints (github-only, unused with off).
- P3 acknowledged (same-provider note): the rewritten config keeps the review
provider — same-provider requirement documented in the recipe guidance.
- deeplinks regenerated; recipe validate PASS; verify.py PASS; guard matrix
re-tested (gitlab+vm=FAIL, github+vm+off=WARN, github+vm+on=dual model).
---
README.ko.md | 2 +-
README.md | 2 +-
codegoose-setup.yaml | 16 +++++++++++-----
docs/launch.html | 4 ++--
scripts/render.py | 8 +++++++-
templates/github.workflow.yml | 20 +++++++++-----------
6 files changed, 31 insertions(+), 21 deletions(-)
diff --git a/README.ko.md b/README.ko.md
index b4bdd99..c56c04c 100644
--- a/README.ko.md
+++ b/README.ko.md
@@ -128,7 +128,7 @@ goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBQUiBSZX
```text
-goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIGdvb3NlX3ZlcmlmeV9tb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IChlbXB0eSA9IHNhbWUgYXMgZ29vc2VfbW9kZWwpXG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcHJvdmlkZXIge3sgY2lfcHJvdmlkZXIgfX0gXFxcbiAgLS1tb2RlbCB7eyBnb29zZV9tb2RlbCB9fSBcXFxuICAtLXN0eWxlIHt7IHJldmlld19zdHlsZSB9fSBcXFxuICAtLWxhbmd1YWdlIHt7IG91dHB1dF9sYW5ndWFnZSB9fSBcXFxuICAtLXZlcmlmaWNhdGlvbiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fSBcXFxuICAtLXZlcmlmeS1wcm9maWxlIHt7IHZlcmlmeV9nYXRlX3Byb2ZpbGUgfX1cbmBgYFxuXG5Ob3RlIGZvciB0ZWFtY2l0eTogdGhlIHJlbmRlcmVyIHByb2R1Y2VzIGAudGVhbWNpdHkvc2V0dGluZ3Mua3RzYDsgdGhlIHJldmlld1xudGV4dCBpcyBwdWJsaXNoZWQgYXMgdGhlIGJ1aWxkIGFydGlmYWN0IGBwcl9yZXZpZXcudHh0YCAoVGVhbUNpdHkgY2Fubm90IHBvc3RcbmZvcmdlIGNvbW1lbnRzIHdpdGhvdXQgZXh0cmEgUkVTVCBzZXR1cCkuXG5Gb3IgZ2l0ZWE6IHRoZSB1c2VyIG11c3QgYWxzbyBhZGQgYSBgUkVWSUVXX1RPS0VOYCBzZWNyZXQgKEdpdGVhIGFjY2VzcyB0b2tlblxud2l0aCB3cml0ZSBwZXJtaXNzaW9uKSDigJQgaW5jbHVkZSB0aGF0IGluIHRoZSByZXBvcnQuXG5cbiMjIFN0ZXAgMyDigJQgVmVyaWZ5ICh0aGUgc2NyaXB0J3MgZXhpdCBjb2RlIGlzIHRoZSBjb250cmFjdClcbmBgYGJhc2hcbmN1cmwgLWZzU0wgaHR0cHM6Ly9naXRodWIuY29tL3Nvb2xtdWsvQ29kZUdvb3NlL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC92ZXJpZnkucHkgLW8gL3RtcC92ZXJpZnlfY2kucHlcbnB5dGhvbjMgL3RtcC92ZXJpZnlfY2kucHkge3sgY2lfcGxhdGZvcm0gfX0gPHJlbmRlcmVkLWNvbmZpZy1wYXRoPlxuYGBgXG5FeHBlY3RlZCBSRVNVTFQ6IFBBU1MuIElmIEZBSUwsIHJlcG9ydCB0aGUgZmFpbGluZyBjaGVja3M7IGRvIE5PVCBoYW5kLXBhdGNoXG50aGUgY29uZmlnLiBGaXhlcyBiZWxvbmcgaW4gc29vbG11ay9Db2RlR29vc2UgdGVtcGxhdGVzL3NjcmlwdHMuXG5cbiMjIFN0ZXAgNCDigJQgUmVwb3J0IChpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0pXG4tIFN0YXR1cyAoY3JlYXRlZC91cGRhdGVkKSArIGNvbmZpZyBmaWxlIHBhdGgsIGFuZCB0aGF0IGl0IHdhcyByZW5kZXJlZCBieSB0aGVcbiAgZGV0ZXJtaW5pc3RpYyBwaXBlbGluZSAobm90IGF1dGhvcmVkIGJ5IHRoZSBMTE0pLlxuLSBHT09TRV9NT0RFTDoge3sgZ29vc2VfbW9kZWwgfX0gKGhhcmRjb2RlZCBpbnRvIHRoZSBjb25maWcgYnkgdGhlIHJlbmRlcmVyKS5cbi0gVmVyaWZpY2F0aW9uIG1vZGVsOiB7eyBnb29zZV92ZXJpZnlfbW9kZWwgfX0g4oCUIHRoZSBtb2RlbCB0aGUgcmVmbGVjdGlvblxuICBwYXNzIHVzZXMuIElmIHRoZSB1c2VyIGxlZnQgaXQgZW1wdHksIHJ1biB0aGUgU3RlcCAyIGNvbW1hbmQgZXhhY3RseSBhc1xuICB3cml0dGVuIChib3RoIHBhc3NlcyB0aGVuIHVzZSBHT09TRV9NT0RFTDsgbmV2ZXIgcGFzcyBhbiBlbXB0eSAtLXZlcmlmeS1cbiAgbW9kZWwgdmFsdWUg4oCUIGl0IHdvdWxkIHN3YWxsb3cgdGhlIG5leHQgZmxhZykuIElmIHNldCwgQUREIG9uZSBsaW5lIGludG9cbiAgdGhlIFN0ZXAgMiBjb21tYW5kIHJpZ2h0IGFmdGVyIC0tbW9kZWw6XG4gIC0tdmVyaWZ5LW1vZGVsIHt7IGdvb3NlX3ZlcmlmeV9tb2RlbCB9fSBcXFxcXG4gIChrZWVwIHRoZSB0cmFpbGluZyBcXFxcIGNvbnRpbnVhdGlvbikuXG4tIFByb3ZpZGVyIHNlY3JldCB0aGF0IHRoZSB1c2VyIG11c3QgYWRkLCBlLmcuIGZvciB7eyBjaV9wcm92aWRlciB9fSB0aGVcbiAgcmVxdWlyZWQgcmVwbyBzZWNyZXQgbmFtZSBmcm9tIHRoZSBtYXBwaW5nIGFib3ZlLlxuLSBIb3cgdG8gdHJpZ2dlcjogb3Blbi91cGRhdGUgYSBwdWxsIHJlcXVlc3Q7IENJIHBvc3RzIHRoZSB7eyByZXZpZXdfc3R5bGUgfX1cbiAgcmVzdWx0IGluIHt7IG91dHB1dF9sYW5ndWFnZSB9fS5cbi0gRm9yIGdyYWRlZCByZXZpZXdzIHRoZSBDSSBhbHNvIHBvc3RzIHVwIHRvIDEwIGRpZmYtYW5jaG9yZWQgaW5saW5lIGNvbW1lbnRzXG4gIChsaWtlIENvZGVSYWJiaXQpOiBlYWNoIGZpbmRpbmcgaXMgdmFsaWRhdGVkIGFnYWluc3QgdGhlIFBSL01SIGRpZmYgYmVmb3JlXG4gIHBvc3RpbmcsIGFuZCBmaW5kaW5ncyB0aGF0IGNhbm5vdCBiZSBhbmNob3JlZCBhcmUgcmVjYXBwZWQgaW4gdGhlIHN1bW1hcnlcbiAgY29tbWVudCBpbnN0ZWFkIOKAlCBub3RoaW5nIGlzIHNpbGVudGx5IGRyb3BwZWQuXG4tIFZlcmlmaWNhdGlvbiBnYXRlICh7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fSBwcm9maWxlIHt7IHZlcmlmeV9nYXRlX3Byb2ZpbGUgfX0pOlxuICB3aGVuIG9uL3NoYWRvdywgZXZlcnkgZmluZGluZyBpcyByZS12ZXJpZmllZCBieSBhIHNlY29uZCBnb29zZSBwYXNzXG4gIChyZWZsZWN0aW9uKSBiZWZvcmUgcG9zdGluZzsgcmVmdXRlZCBmaW5kaW5ncyBhcmUgcmVtb3ZlZCwgcGxhdXNpYmxlLWJ1dC1cbiAgdW52ZXJpZmllZCBibG9ja2VycyBhcmUgZGVtb3RlZCB0byBXYXJuaW5ncywgYW5kIHRoZSB2ZXJkaWN0IGlzIHJlY29tcHV0ZWQuXG4gIFRoZSBwb3N0ZWQgcmV2aWV3IG5vdGVzIGhvdyBtYW55IGZpbmRpbmdzIHdlcmUga2VwdC9kZW1vdGVkL2Ryb3BwZWQ7IHRoZVxuICBkcm9wcGVkIGRldGFpbHMgbGl2ZSBpbiB0aGUgQ0kgam9iIGxvZyAoZHJvcHBlZC5qc29uIGFydGlmYWN0KSwgbmV2ZXJcbiAgc2lsZW50bHkgbG9zdC4gU2hhZG93IG1vZGUgcmVjb3JkcyBvdXRjb21lcyB3aXRob3V0IGNoYW5naW5nIHRoZSBwb3N0LlxuICBDb3N0IG5vdGU6IG9uL3NoYWRvdyDiiYggMnggTExNIHNwZW5kIHBlciByZXZpZXc7IGNob29zZSBvZmYgdG8gZGlzYWJsZS5cbi0gUmVtaW5kZXI6IGlmIHRoaXMgcmVwbyBhbHJlYWR5IGhhcyBhIENvZGVHb29zZS1yZW5kZXJlZCBDSSBjb25maWcsIHRoaXNcbiAgcnVuIHJlLXJlbmRlcnMgaXQgaW4gcGxhY2UgKHRoYXQgaXMgdGhlIGludGVuZGVkIGRyaWZ0IGNvbnRyb2wpLlxuXG5EbyBOT1QgZ2l0IGNvbW1pdCBvciBwdXNoLiBEbyBOT1QgdG91Y2ggb3RoZXIgZmlsZXMuXG4iLCJleHRlbnNpb25zIjpbeyJ0eXBlIjoiYnVpbHRpbiIsIm5hbWUiOiJkZXZlbG9wZXIiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlfbmFtZSI6bnVsbCwidGltZW91dCI6bnVsbCwiYnVuZGxlZCI6bnVsbH0seyJ0eXBlIjoicGxhdGZvcm0iLCJuYW1lIjoiYW5hbHl6ZSIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheV9uYW1lIjpudWxsLCJidW5kbGVkIjpudWxsfV0sInNldHRpbmdzIjp7InRlbXBlcmF0dXJlIjowLjF9LCJwYXJhbWV0ZXJzIjpbeyJrZXkiOiJjaV9wbGF0Zm9ybSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJDSSBwbGF0Zm9ybSB0byBzZXQgdXAgKGdvb3NlIHJldmlld3MgcHVsbCByZXF1ZXN0cyAvIE1ScyB0aGVyZSkiLCJvcHRpb25zIjpbImdpdGh1YiIsImdpdGxhYiIsImdpdGVhIiwidGVhbWNpdHkiXX0seyJrZXkiOiJvdXRwdXRfbGFuZ3VhZ2UiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTGFuZ3VhZ2UgZm9yIHJldmlldyBjb21tZW50cyBhbmQgdGhlIHNldHVwIHJlcG9ydCIsIm9wdGlvbnMiOlsiS29yZWFuIiwiRW5nbGlzaCIsIkphcGFuZXNlIiwiQ2hpbmVzZSJdfSx7ImtleSI6InJldmlld19zdHlsZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJXaGF0IHRoZSBDSSBwb3N0cyBvbiB0aGUgcHVsbCByZXF1ZXN0Iiwib3B0aW9ucyI6WyJncmFkZWQtcmV2aWV3IiwiY2hhbmdlcy1zdW1tYXJ5Il19LHsia2V5IjoiY2lfcHJvdmlkZXIiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTExNIHByb3ZpZGVyIHVzZWQgYnkgZ29vc2UgaW4gQ0kiLCJvcHRpb25zIjpbIm9sbGFtYV9jbG91ZCIsImFudGhyb3BpYyIsIm9wZW5haSIsIm9wZW5yb3V0ZXIiLCJmaXJld29ya3MtYWkiXX0seyJrZXkiOiJnb29zZV9tb2RlbCIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJNb2RlbCBuYW1lIGZvciBHT09TRV9NT0RFTCBpbiB0aGUgQ0kgY29uZmlnIChlLmcuIGdsbS01LjMgZm9yIG9sbGFtYV9jbG91ZCwgY2xhdWRlLXNvbm5ldC00LTUgZm9yIGFudGhyb3BpYywgZ3B0LTRvIGZvciBvcGVuYWksIGFudGhyb3BpYy9jbGF1ZGUtc29ubmV0LTQgZm9yIG9wZW5yb3V0ZXIsIGFjY291bnRzL2ZpcmV3b3Jrcy9tb2RlbHMvZGVlcHNlZWstdjQtZmxhc2gtMDczMSBmb3IgZmlyZXdvcmtzLWFpKSJ9LHsia2V5IjoiZ29vc2VfdmVyaWZ5X21vZGVsIiwiaW5wdXRfdHlwZSI6InN0cmluZyIsInJlcXVpcmVtZW50Ijoib3B0aW9uYWwiLCJkZXNjcmlwdGlvbiI6Ik9wdGlvbmFsIG1vZGVsIGZvciB0aGUgdmVyaWZpY2F0aW9uIChyZWZsZWN0aW9uKSBwYXNzIG9ubHkuIExlYXZlIGVtcHR5IHRvIHJldXNlIGdvb3NlX21vZGVsIGZvciBib3RoIHBhc3NlcyAoZGVmYXVsdCkuIEV4YW1wbGUgZm9yIGZpcmV3b3Jrcy1haTogYWNjb3VudHMvZmlyZXdvcmtzL21vZGVscy9nbG0tNXAzLWZsYXNoXG4iLCJkZWZhdWx0IjoiIn0seyJrZXkiOiJ2ZXJpZmljYXRpb25fZ2F0ZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJSZXZpZXcgdmVyaWZpY2F0aW9uIGdhdGUgKGlzc3VlICMxMCkuIEFmdGVyIHRoZSBmaXJzdCByZXZpZXcgcGFzcywgYSBzaW5nbGUgcmVmbGVjdGlvbiBwYXNzIHJlLWNoZWNrcyBldmVyeSBmaW5kaW5nICgwLTEwIHZhbGlkaXR5IHNjb3JlKSBhbmQgYSBkZXRlcm1pbmlzdGljIG1lcmdlIGdhdGUga2VlcHMvZGVtb3Rlcy9kcm9wcyBmaW5kaW5ncy4gb24gPSBnYXRlIGVuZm9yY2VkOyBzaGFkb3cgPSBnYXRlIG91dGNvbWVzIHJlY29yZGVkIGluIENJIGxvZ3Mgb25seSAocG9zdGVkIHJldmlldyBpcyB0aGUgdW5tb2RpZmllZCBmaXJzdCBwYXNzKTsgb2ZmID0gbm8gdmVyaWZpY2F0aW9uIHN0ZXAuIENvc3Q6IG9uL3NoYWRvdyByb3VnaGx5IGRvdWJsZXMgdGhlIExMTSBzcGVuZCBwZXIgcmV2aWV3LlxuIiwib3B0aW9ucyI6WyJvbiIsIm9mZiIsInNoYWRvdyJdfSx7ImtleSI6InZlcmlmeV9nYXRlX3Byb2ZpbGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiR2F0ZSBwcm9maWxlLiBjb25zZXJ2YXRpdmUgPSB1bm1hdGNoZWQgZmluZGluZ3MgYXJlIGtlcHQsIFAwL1AxIGZpbmRpbmdzIHdpdGggYSA0LTYgdmFsaWRpdHkgc2NvcmUgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MuIHN0cmljdCA9IHVubWF0Y2hlZCBmaW5kaW5ncyBhcmUgZHJvcHBlZCwgYW5kIHRoZSBzYW1lIHRocmVzaG9sZHMgYXBwbHkgdG8gZXZlcnkgcHJpb3JpdHkgKHNjb3JlIDw9IDQgZHJvcCwgNS03IGRlbW90ZSwgPj0gOCBrZWVwKS4gS2VlcCB0aGUgZGVmYXVsdCB1bmxlc3Mgc2hhZG93IG1lYXN1cmVtZW50cyBqdXN0aWZ5IHRpZ2h0ZW5pbmcuXG4iLCJvcHRpb25zIjpbImNvbnNlcnZhdGl2ZSIsInN0cmljdCJdfV19
+goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIGdvb3NlX3ZlcmlmeV9tb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IChlbXB0eSA9IHNhbWUgYXMgZ29vc2VfbW9kZWwpXG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcHJvdmlkZXIge3sgY2lfcHJvdmlkZXIgfX0gXFxcbiAgLS1tb2RlbCB7eyBnb29zZV9tb2RlbCB9fSBcXFxuICAtLXN0eWxlIHt7IHJldmlld19zdHlsZSB9fSBcXFxuICAtLWxhbmd1YWdlIHt7IG91dHB1dF9sYW5ndWFnZSB9fSBcXFxuICAtLXZlcmlmaWNhdGlvbiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fSBcXFxuICAtLXZlcmlmeS1wcm9maWxlIHt7IHZlcmlmeV9nYXRlX3Byb2ZpbGUgfX1cbmBgYFxuXG5Ob3RlIGZvciB0ZWFtY2l0eTogdGhlIHJlbmRlcmVyIHByb2R1Y2VzIGAudGVhbWNpdHkvc2V0dGluZ3Mua3RzYDsgdGhlIHJldmlld1xudGV4dCBpcyBwdWJsaXNoZWQgYXMgdGhlIGJ1aWxkIGFydGlmYWN0IGBwcl9yZXZpZXcudHh0YCAoVGVhbUNpdHkgY2Fubm90IHBvc3RcbmZvcmdlIGNvbW1lbnRzIHdpdGhvdXQgZXh0cmEgUkVTVCBzZXR1cCkuXG5Gb3IgZ2l0ZWE6IHRoZSB1c2VyIG11c3QgYWxzbyBhZGQgYSBgUkVWSUVXX1RPS0VOYCBzZWNyZXQgKEdpdGVhIGFjY2VzcyB0b2tlblxud2l0aCB3cml0ZSBwZXJtaXNzaW9uKSDigJQgaW5jbHVkZSB0aGF0IGluIHRoZSByZXBvcnQuXG5cbiMjIFN0ZXAgMyDigJQgVmVyaWZ5ICh0aGUgc2NyaXB0J3MgZXhpdCBjb2RlIGlzIHRoZSBjb250cmFjdClcbmBgYGJhc2hcbmN1cmwgLWZzU0wgaHR0cHM6Ly9naXRodWIuY29tL3Nvb2xtdWsvQ29kZUdvb3NlL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC92ZXJpZnkucHkgLW8gL3RtcC92ZXJpZnlfY2kucHlcbnB5dGhvbjMgL3RtcC92ZXJpZnlfY2kucHkge3sgY2lfcGxhdGZvcm0gfX0gPHJlbmRlcmVkLWNvbmZpZy1wYXRoPlxuYGBgXG5FeHBlY3RlZCBSRVNVTFQ6IFBBU1MuIElmIEZBSUwsIHJlcG9ydCB0aGUgZmFpbGluZyBjaGVja3M7IGRvIE5PVCBoYW5kLXBhdGNoXG50aGUgY29uZmlnLiBGaXhlcyBiZWxvbmcgaW4gc29vbG11ay9Db2RlR29vc2UgdGVtcGxhdGVzL3NjcmlwdHMuXG5cbiMjIFN0ZXAgNCDigJQgUmVwb3J0IChpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0pXG4tIFN0YXR1cyAoY3JlYXRlZC91cGRhdGVkKSArIGNvbmZpZyBmaWxlIHBhdGgsIGFuZCB0aGF0IGl0IHdhcyByZW5kZXJlZCBieSB0aGVcbiAgZGV0ZXJtaW5pc3RpYyBwaXBlbGluZSAobm90IGF1dGhvcmVkIGJ5IHRoZSBMTE0pLlxuLSBHT09TRV9NT0RFTDoge3sgZ29vc2VfbW9kZWwgfX0gKGhhcmRjb2RlZCBpbnRvIHRoZSBjb25maWcgYnkgdGhlIHJlbmRlcmVyKS5cbi0gVmVyaWZpY2F0aW9uIG1vZGVsOiB7eyBnb29zZV92ZXJpZnlfbW9kZWwgfX0g4oCUIHRoZSBtb2RlbCB0aGUgcmVmbGVjdGlvblxuICBwYXNzIHVzZXMuIEdJVEhVQiBPTkxZOiB0aGUgcmVuZGVyZXIgcmVqZWN0cyAtLXZlcmlmeS1tb2RlbCBvblxuICBnaXRsYWIvZ2l0ZWEvdGVhbWNpdHkgKGV4aXQgMiksIHNvIGlmIHt7IGNpX3BsYXRmb3JtIH19IGlzIG5vdCBnaXRodWJcbiAgYW5kIHRoZSB1c2VyIHNldCBhIHZhbHVlLCByZXBvcnQgdGhlIGNvbnN0cmFpbnQgYW5kIFJFLVJVTiBXSVRIT1VUIHRoZVxuICBmbGFnIGluc3RlYWQgb2YgcGFzc2luZyBpdC4gSWYgdGhlIHVzZXIgbGVmdCBpdCBlbXB0eSwgcnVuIHRoZSBTdGVwIDJcbiAgY29tbWFuZCBleGFjdGx5IGFzIHdyaXR0ZW4gKGJvdGggcGFzc2VzIHRoZW4gdXNlIEdPT1NFX01PREVMOyBuZXZlclxuICBwYXNzIGFuIGVtcHR5IC0tdmVyaWZ5LW1vZGVsIHZhbHVlIOKAlCBpdCB3b3VsZCBzd2FsbG93IHRoZSBuZXh0IGZsYWcpLlxuICBJZiBzZXQgQU5EIHRoZSBwbGF0Zm9ybSBpcyBnaXRodWIsIEFERCBvbmUgbGluZSBpbnRvIHRoZSBTdGVwIDIgY29tbWFuZFxuICByaWdodCBhZnRlciAtLW1vZGVsOlxuICAtLXZlcmlmeS1tb2RlbCB7eyBnb29zZV92ZXJpZnlfbW9kZWwgfX0gXFxcXFxuICAoa2VlcCB0aGUgdHJhaWxpbmcgXFxcXCBjb250aW51YXRpb247IG11c3QgYmUgYSBtb2RlbCBmcm9tIHRoZSBTQU1FXG4gIHByb3ZpZGVyIHt7IGNpX3Byb3ZpZGVyIH19IOKAlCB0aGUgcmV3cml0dGVuIGNvbmZpZyBrZWVwcyB0aGUgcmV2aWV3XG4gIHByb3ZpZGVyKS5cbi0gUHJvdmlkZXIgc2VjcmV0IHRoYXQgdGhlIHVzZXIgbXVzdCBhZGQsIGUuZy4gZm9yIHt7IGNpX3Byb3ZpZGVyIH19IHRoZVxuICByZXF1aXJlZCByZXBvIHNlY3JldCBuYW1lIGZyb20gdGhlIG1hcHBpbmcgYWJvdmUuXG4tIEhvdyB0byB0cmlnZ2VyOiBvcGVuL3VwZGF0ZSBhIHB1bGwgcmVxdWVzdDsgQ0kgcG9zdHMgdGhlIHt7IHJldmlld19zdHlsZSB9fVxuICByZXN1bHQgaW4ge3sgb3V0cHV0X2xhbmd1YWdlIH19LlxuLSBGb3IgZ3JhZGVkIHJldmlld3MgdGhlIENJIGFsc28gcG9zdHMgdXAgdG8gMTAgZGlmZi1hbmNob3JlZCBpbmxpbmUgY29tbWVudHNcbiAgKGxpa2UgQ29kZVJhYmJpdCk6IGVhY2ggZmluZGluZyBpcyB2YWxpZGF0ZWQgYWdhaW5zdCB0aGUgUFIvTVIgZGlmZiBiZWZvcmVcbiAgcG9zdGluZywgYW5kIGZpbmRpbmdzIHRoYXQgY2Fubm90IGJlIGFuY2hvcmVkIGFyZSByZWNhcHBlZCBpbiB0aGUgc3VtbWFyeVxuICBjb21tZW50IGluc3RlYWQg4oCUIG5vdGhpbmcgaXMgc2lsZW50bHkgZHJvcHBlZC5cbi0gVmVyaWZpY2F0aW9uIGdhdGUgKHt7IHZlcmlmaWNhdGlvbl9nYXRlIH19IHByb2ZpbGUge3sgdmVyaWZ5X2dhdGVfcHJvZmlsZSB9fSk6XG4gIHdoZW4gb24vc2hhZG93LCBldmVyeSBmaW5kaW5nIGlzIHJlLXZlcmlmaWVkIGJ5IGEgc2Vjb25kIGdvb3NlIHBhc3NcbiAgKHJlZmxlY3Rpb24pIGJlZm9yZSBwb3N0aW5nOyByZWZ1dGVkIGZpbmRpbmdzIGFyZSByZW1vdmVkLCBwbGF1c2libGUtYnV0LVxuICB1bnZlcmlmaWVkIGJsb2NrZXJzIGFyZSBkZW1vdGVkIHRvIFdhcm5pbmdzLCBhbmQgdGhlIHZlcmRpY3QgaXMgcmVjb21wdXRlZC5cbiAgVGhlIHBvc3RlZCByZXZpZXcgbm90ZXMgaG93IG1hbnkgZmluZGluZ3Mgd2VyZSBrZXB0L2RlbW90ZWQvZHJvcHBlZDsgdGhlXG4gIGRyb3BwZWQgZGV0YWlscyBsaXZlIGluIHRoZSBDSSBqb2IgbG9nIChkcm9wcGVkLmpzb24gYXJ0aWZhY3QpLCBuZXZlclxuICBzaWxlbnRseSBsb3N0LiBTaGFkb3cgbW9kZSByZWNvcmRzIG91dGNvbWVzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBvc3QuXG4gIENvc3Qgbm90ZTogb24vc2hhZG93IOKJiCAyeCBMTE0gc3BlbmQgcGVyIHJldmlldzsgY2hvb3NlIG9mZiB0byBkaXNhYmxlLlxuLSBSZW1pbmRlcjogaWYgdGhpcyByZXBvIGFscmVhZHkgaGFzIGEgQ29kZUdvb3NlLXJlbmRlcmVkIENJIGNvbmZpZywgdGhpc1xuICBydW4gcmUtcmVuZGVycyBpdCBpbiBwbGFjZSAodGhhdCBpcyB0aGUgaW50ZW5kZWQgZHJpZnQgY29udHJvbCkuXG5cbkRvIE5PVCBnaXQgY29tbWl0IG9yIHB1c2guIERvIE5PVCB0b3VjaCBvdGhlciBmaWxlcy5cbiIsImV4dGVuc2lvbnMiOlt7InR5cGUiOiJidWlsdGluIiwibmFtZSI6ImRldmVsb3BlciIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheV9uYW1lIjpudWxsLCJ0aW1lb3V0IjpudWxsLCJidW5kbGVkIjpudWxsfSx7InR5cGUiOiJwbGF0Zm9ybSIsIm5hbWUiOiJhbmFseXplIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsImJ1bmRsZWQiOm51bGx9XSwic2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOjAuMX0sInBhcmFtZXRlcnMiOlt7ImtleSI6ImNpX3BsYXRmb3JtIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkNJIHBsYXRmb3JtIHRvIHNldCB1cCAoZ29vc2UgcmV2aWV3cyBwdWxsIHJlcXVlc3RzIC8gTVJzIHRoZXJlKSIsIm9wdGlvbnMiOlsiZ2l0aHViIiwiZ2l0bGFiIiwiZ2l0ZWEiLCJ0ZWFtY2l0eSJdfSx7ImtleSI6Im91dHB1dF9sYW5ndWFnZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJMYW5ndWFnZSBmb3IgcmV2aWV3IGNvbW1lbnRzIGFuZCB0aGUgc2V0dXAgcmVwb3J0Iiwib3B0aW9ucyI6WyJLb3JlYW4iLCJFbmdsaXNoIiwiSmFwYW5lc2UiLCJDaGluZXNlIl19LHsia2V5IjoicmV2aWV3X3N0eWxlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IldoYXQgdGhlIENJIHBvc3RzIG9uIHRoZSBwdWxsIHJlcXVlc3QiLCJvcHRpb25zIjpbImdyYWRlZC1yZXZpZXciLCJjaGFuZ2VzLXN1bW1hcnkiXX0seyJrZXkiOiJjaV9wcm92aWRlciIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJMTE0gcHJvdmlkZXIgdXNlZCBieSBnb29zZSBpbiBDSSIsIm9wdGlvbnMiOlsib2xsYW1hX2Nsb3VkIiwiYW50aHJvcGljIiwib3BlbmFpIiwib3BlbnJvdXRlciIsImZpcmV3b3Jrcy1haSJdfSx7ImtleSI6Imdvb3NlX21vZGVsIiwiaW5wdXRfdHlwZSI6InN0cmluZyIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6Ik1vZGVsIG5hbWUgZm9yIEdPT1NFX01PREVMIGluIHRoZSBDSSBjb25maWcgKGUuZy4gZ2xtLTUuMyBmb3Igb2xsYW1hX2Nsb3VkLCBjbGF1ZGUtc29ubmV0LTQtNSBmb3IgYW50aHJvcGljLCBncHQtNG8gZm9yIG9wZW5haSwgYW50aHJvcGljL2NsYXVkZS1zb25uZXQtNCBmb3Igb3BlbnJvdXRlciwgYWNjb3VudHMvZmlyZXdvcmtzL21vZGVscy9kZWVwc2Vlay12NC1mbGFzaC0wNzMxIGZvciBmaXJld29ya3MtYWkpIn0seyJrZXkiOiJnb29zZV92ZXJpZnlfbW9kZWwiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJvcHRpb25hbCIsImRlc2NyaXB0aW9uIjoiT3B0aW9uYWwgbW9kZWwgZm9yIHRoZSB2ZXJpZmljYXRpb24gKHJlZmxlY3Rpb24pIHBhc3Mgb25seS4gTGVhdmUgZW1wdHkgdG8gcmV1c2UgZ29vc2VfbW9kZWwgZm9yIGJvdGggcGFzc2VzIChkZWZhdWx0KS4gRXhhbXBsZSBmb3IgZmlyZXdvcmtzLWFpOiBhY2NvdW50cy9maXJld29ya3MvbW9kZWxzL2dsbS01cDMtZmxhc2hcbiIsImRlZmF1bHQiOiIifSx7ImtleSI6InZlcmlmaWNhdGlvbl9nYXRlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IlJldmlldyB2ZXJpZmljYXRpb24gZ2F0ZSAoaXNzdWUgIzEwKS4gQWZ0ZXIgdGhlIGZpcnN0IHJldmlldyBwYXNzLCBhIHNpbmdsZSByZWZsZWN0aW9uIHBhc3MgcmUtY2hlY2tzIGV2ZXJ5IGZpbmRpbmcgKDAtMTAgdmFsaWRpdHkgc2NvcmUpIGFuZCBhIGRldGVybWluaXN0aWMgbWVyZ2UgZ2F0ZSBrZWVwcy9kZW1vdGVzL2Ryb3BzIGZpbmRpbmdzLiBvbiA9IGdhdGUgZW5mb3JjZWQ7IHNoYWRvdyA9IGdhdGUgb3V0Y29tZXMgcmVjb3JkZWQgaW4gQ0kgbG9ncyBvbmx5IChwb3N0ZWQgcmV2aWV3IGlzIHRoZSB1bm1vZGlmaWVkIGZpcnN0IHBhc3MpOyBvZmYgPSBubyB2ZXJpZmljYXRpb24gc3RlcC4gQ29zdDogb24vc2hhZG93IHJvdWdobHkgZG91YmxlcyB0aGUgTExNIHNwZW5kIHBlciByZXZpZXcuXG4iLCJvcHRpb25zIjpbIm9uIiwib2ZmIiwic2hhZG93Il19LHsia2V5IjoidmVyaWZ5X2dhdGVfcHJvZmlsZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJHYXRlIHByb2ZpbGUuIGNvbnNlcnZhdGl2ZSA9IHVubWF0Y2hlZCBmaW5kaW5ncyBhcmUga2VwdCwgUDAvUDEgZmluZGluZ3Mgd2l0aCBhIDQtNiB2YWxpZGl0eSBzY29yZSBhcmUgZGVtb3RlZCB0byBXYXJuaW5ncy4gc3RyaWN0ID0gdW5tYXRjaGVkIGZpbmRpbmdzIGFyZSBkcm9wcGVkLCBhbmQgdGhlIHNhbWUgdGhyZXNob2xkcyBhcHBseSB0byBldmVyeSBwcmlvcml0eSAoc2NvcmUgPD0gNCBkcm9wLCA1LTcgZGVtb3RlLCA-PSA4IGtlZXApLiBLZWVwIHRoZSBkZWZhdWx0IHVubGVzcyBzaGFkb3cgbWVhc3VyZW1lbnRzIGp1c3RpZnkgdGlnaHRlbmluZy5cbiIsIm9wdGlvbnMiOlsiY29uc2VydmF0aXZlIiwic3RyaWN0Il19XX0
```
diff --git a/README.md b/README.md
index a18ed8d..9ce22f4 100644
--- a/README.md
+++ b/README.md
@@ -129,7 +129,7 @@ goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBQUiBSZX
```text
-goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIGdvb3NlX3ZlcmlmeV9tb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IChlbXB0eSA9IHNhbWUgYXMgZ29vc2VfbW9kZWwpXG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcHJvdmlkZXIge3sgY2lfcHJvdmlkZXIgfX0gXFxcbiAgLS1tb2RlbCB7eyBnb29zZV9tb2RlbCB9fSBcXFxuICAtLXN0eWxlIHt7IHJldmlld19zdHlsZSB9fSBcXFxuICAtLWxhbmd1YWdlIHt7IG91dHB1dF9sYW5ndWFnZSB9fSBcXFxuICAtLXZlcmlmaWNhdGlvbiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fSBcXFxuICAtLXZlcmlmeS1wcm9maWxlIHt7IHZlcmlmeV9nYXRlX3Byb2ZpbGUgfX1cbmBgYFxuXG5Ob3RlIGZvciB0ZWFtY2l0eTogdGhlIHJlbmRlcmVyIHByb2R1Y2VzIGAudGVhbWNpdHkvc2V0dGluZ3Mua3RzYDsgdGhlIHJldmlld1xudGV4dCBpcyBwdWJsaXNoZWQgYXMgdGhlIGJ1aWxkIGFydGlmYWN0IGBwcl9yZXZpZXcudHh0YCAoVGVhbUNpdHkgY2Fubm90IHBvc3RcbmZvcmdlIGNvbW1lbnRzIHdpdGhvdXQgZXh0cmEgUkVTVCBzZXR1cCkuXG5Gb3IgZ2l0ZWE6IHRoZSB1c2VyIG11c3QgYWxzbyBhZGQgYSBgUkVWSUVXX1RPS0VOYCBzZWNyZXQgKEdpdGVhIGFjY2VzcyB0b2tlblxud2l0aCB3cml0ZSBwZXJtaXNzaW9uKSDigJQgaW5jbHVkZSB0aGF0IGluIHRoZSByZXBvcnQuXG5cbiMjIFN0ZXAgMyDigJQgVmVyaWZ5ICh0aGUgc2NyaXB0J3MgZXhpdCBjb2RlIGlzIHRoZSBjb250cmFjdClcbmBgYGJhc2hcbmN1cmwgLWZzU0wgaHR0cHM6Ly9naXRodWIuY29tL3Nvb2xtdWsvQ29kZUdvb3NlL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC92ZXJpZnkucHkgLW8gL3RtcC92ZXJpZnlfY2kucHlcbnB5dGhvbjMgL3RtcC92ZXJpZnlfY2kucHkge3sgY2lfcGxhdGZvcm0gfX0gPHJlbmRlcmVkLWNvbmZpZy1wYXRoPlxuYGBgXG5FeHBlY3RlZCBSRVNVTFQ6IFBBU1MuIElmIEZBSUwsIHJlcG9ydCB0aGUgZmFpbGluZyBjaGVja3M7IGRvIE5PVCBoYW5kLXBhdGNoXG50aGUgY29uZmlnLiBGaXhlcyBiZWxvbmcgaW4gc29vbG11ay9Db2RlR29vc2UgdGVtcGxhdGVzL3NjcmlwdHMuXG5cbiMjIFN0ZXAgNCDigJQgUmVwb3J0IChpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0pXG4tIFN0YXR1cyAoY3JlYXRlZC91cGRhdGVkKSArIGNvbmZpZyBmaWxlIHBhdGgsIGFuZCB0aGF0IGl0IHdhcyByZW5kZXJlZCBieSB0aGVcbiAgZGV0ZXJtaW5pc3RpYyBwaXBlbGluZSAobm90IGF1dGhvcmVkIGJ5IHRoZSBMTE0pLlxuLSBHT09TRV9NT0RFTDoge3sgZ29vc2VfbW9kZWwgfX0gKGhhcmRjb2RlZCBpbnRvIHRoZSBjb25maWcgYnkgdGhlIHJlbmRlcmVyKS5cbi0gVmVyaWZpY2F0aW9uIG1vZGVsOiB7eyBnb29zZV92ZXJpZnlfbW9kZWwgfX0g4oCUIHRoZSBtb2RlbCB0aGUgcmVmbGVjdGlvblxuICBwYXNzIHVzZXMuIElmIHRoZSB1c2VyIGxlZnQgaXQgZW1wdHksIHJ1biB0aGUgU3RlcCAyIGNvbW1hbmQgZXhhY3RseSBhc1xuICB3cml0dGVuIChib3RoIHBhc3NlcyB0aGVuIHVzZSBHT09TRV9NT0RFTDsgbmV2ZXIgcGFzcyBhbiBlbXB0eSAtLXZlcmlmeS1cbiAgbW9kZWwgdmFsdWUg4oCUIGl0IHdvdWxkIHN3YWxsb3cgdGhlIG5leHQgZmxhZykuIElmIHNldCwgQUREIG9uZSBsaW5lIGludG9cbiAgdGhlIFN0ZXAgMiBjb21tYW5kIHJpZ2h0IGFmdGVyIC0tbW9kZWw6XG4gIC0tdmVyaWZ5LW1vZGVsIHt7IGdvb3NlX3ZlcmlmeV9tb2RlbCB9fSBcXFxcXG4gIChrZWVwIHRoZSB0cmFpbGluZyBcXFxcIGNvbnRpbnVhdGlvbikuXG4tIFByb3ZpZGVyIHNlY3JldCB0aGF0IHRoZSB1c2VyIG11c3QgYWRkLCBlLmcuIGZvciB7eyBjaV9wcm92aWRlciB9fSB0aGVcbiAgcmVxdWlyZWQgcmVwbyBzZWNyZXQgbmFtZSBmcm9tIHRoZSBtYXBwaW5nIGFib3ZlLlxuLSBIb3cgdG8gdHJpZ2dlcjogb3Blbi91cGRhdGUgYSBwdWxsIHJlcXVlc3Q7IENJIHBvc3RzIHRoZSB7eyByZXZpZXdfc3R5bGUgfX1cbiAgcmVzdWx0IGluIHt7IG91dHB1dF9sYW5ndWFnZSB9fS5cbi0gRm9yIGdyYWRlZCByZXZpZXdzIHRoZSBDSSBhbHNvIHBvc3RzIHVwIHRvIDEwIGRpZmYtYW5jaG9yZWQgaW5saW5lIGNvbW1lbnRzXG4gIChsaWtlIENvZGVSYWJiaXQpOiBlYWNoIGZpbmRpbmcgaXMgdmFsaWRhdGVkIGFnYWluc3QgdGhlIFBSL01SIGRpZmYgYmVmb3JlXG4gIHBvc3RpbmcsIGFuZCBmaW5kaW5ncyB0aGF0IGNhbm5vdCBiZSBhbmNob3JlZCBhcmUgcmVjYXBwZWQgaW4gdGhlIHN1bW1hcnlcbiAgY29tbWVudCBpbnN0ZWFkIOKAlCBub3RoaW5nIGlzIHNpbGVudGx5IGRyb3BwZWQuXG4tIFZlcmlmaWNhdGlvbiBnYXRlICh7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fSBwcm9maWxlIHt7IHZlcmlmeV9nYXRlX3Byb2ZpbGUgfX0pOlxuICB3aGVuIG9uL3NoYWRvdywgZXZlcnkgZmluZGluZyBpcyByZS12ZXJpZmllZCBieSBhIHNlY29uZCBnb29zZSBwYXNzXG4gIChyZWZsZWN0aW9uKSBiZWZvcmUgcG9zdGluZzsgcmVmdXRlZCBmaW5kaW5ncyBhcmUgcmVtb3ZlZCwgcGxhdXNpYmxlLWJ1dC1cbiAgdW52ZXJpZmllZCBibG9ja2VycyBhcmUgZGVtb3RlZCB0byBXYXJuaW5ncywgYW5kIHRoZSB2ZXJkaWN0IGlzIHJlY29tcHV0ZWQuXG4gIFRoZSBwb3N0ZWQgcmV2aWV3IG5vdGVzIGhvdyBtYW55IGZpbmRpbmdzIHdlcmUga2VwdC9kZW1vdGVkL2Ryb3BwZWQ7IHRoZVxuICBkcm9wcGVkIGRldGFpbHMgbGl2ZSBpbiB0aGUgQ0kgam9iIGxvZyAoZHJvcHBlZC5qc29uIGFydGlmYWN0KSwgbmV2ZXJcbiAgc2lsZW50bHkgbG9zdC4gU2hhZG93IG1vZGUgcmVjb3JkcyBvdXRjb21lcyB3aXRob3V0IGNoYW5naW5nIHRoZSBwb3N0LlxuICBDb3N0IG5vdGU6IG9uL3NoYWRvdyDiiYggMnggTExNIHNwZW5kIHBlciByZXZpZXc7IGNob29zZSBvZmYgdG8gZGlzYWJsZS5cbi0gUmVtaW5kZXI6IGlmIHRoaXMgcmVwbyBhbHJlYWR5IGhhcyBhIENvZGVHb29zZS1yZW5kZXJlZCBDSSBjb25maWcsIHRoaXNcbiAgcnVuIHJlLXJlbmRlcnMgaXQgaW4gcGxhY2UgKHRoYXQgaXMgdGhlIGludGVuZGVkIGRyaWZ0IGNvbnRyb2wpLlxuXG5EbyBOT1QgZ2l0IGNvbW1pdCBvciBwdXNoLiBEbyBOT1QgdG91Y2ggb3RoZXIgZmlsZXMuXG4iLCJleHRlbnNpb25zIjpbeyJ0eXBlIjoiYnVpbHRpbiIsIm5hbWUiOiJkZXZlbG9wZXIiLCJkZXNjcmlwdGlvbiI6IiIsImRpc3BsYXlfbmFtZSI6bnVsbCwidGltZW91dCI6bnVsbCwiYnVuZGxlZCI6bnVsbH0seyJ0eXBlIjoicGxhdGZvcm0iLCJuYW1lIjoiYW5hbHl6ZSIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheV9uYW1lIjpudWxsLCJidW5kbGVkIjpudWxsfV0sInNldHRpbmdzIjp7InRlbXBlcmF0dXJlIjowLjF9LCJwYXJhbWV0ZXJzIjpbeyJrZXkiOiJjaV9wbGF0Zm9ybSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJDSSBwbGF0Zm9ybSB0byBzZXQgdXAgKGdvb3NlIHJldmlld3MgcHVsbCByZXF1ZXN0cyAvIE1ScyB0aGVyZSkiLCJvcHRpb25zIjpbImdpdGh1YiIsImdpdGxhYiIsImdpdGVhIiwidGVhbWNpdHkiXX0seyJrZXkiOiJvdXRwdXRfbGFuZ3VhZ2UiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTGFuZ3VhZ2UgZm9yIHJldmlldyBjb21tZW50cyBhbmQgdGhlIHNldHVwIHJlcG9ydCIsIm9wdGlvbnMiOlsiS29yZWFuIiwiRW5nbGlzaCIsIkphcGFuZXNlIiwiQ2hpbmVzZSJdfSx7ImtleSI6InJldmlld19zdHlsZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJXaGF0IHRoZSBDSSBwb3N0cyBvbiB0aGUgcHVsbCByZXF1ZXN0Iiwib3B0aW9ucyI6WyJncmFkZWQtcmV2aWV3IiwiY2hhbmdlcy1zdW1tYXJ5Il19LHsia2V5IjoiY2lfcHJvdmlkZXIiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiTExNIHByb3ZpZGVyIHVzZWQgYnkgZ29vc2UgaW4gQ0kiLCJvcHRpb25zIjpbIm9sbGFtYV9jbG91ZCIsImFudGhyb3BpYyIsIm9wZW5haSIsIm9wZW5yb3V0ZXIiLCJmaXJld29ya3MtYWkiXX0seyJrZXkiOiJnb29zZV9tb2RlbCIsImlucHV0X3R5cGUiOiJzdHJpbmciLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJNb2RlbCBuYW1lIGZvciBHT09TRV9NT0RFTCBpbiB0aGUgQ0kgY29uZmlnIChlLmcuIGdsbS01LjMgZm9yIG9sbGFtYV9jbG91ZCwgY2xhdWRlLXNvbm5ldC00LTUgZm9yIGFudGhyb3BpYywgZ3B0LTRvIGZvciBvcGVuYWksIGFudGhyb3BpYy9jbGF1ZGUtc29ubmV0LTQgZm9yIG9wZW5yb3V0ZXIsIGFjY291bnRzL2ZpcmV3b3Jrcy9tb2RlbHMvZGVlcHNlZWstdjQtZmxhc2gtMDczMSBmb3IgZmlyZXdvcmtzLWFpKSJ9LHsia2V5IjoiZ29vc2VfdmVyaWZ5X21vZGVsIiwiaW5wdXRfdHlwZSI6InN0cmluZyIsInJlcXVpcmVtZW50Ijoib3B0aW9uYWwiLCJkZXNjcmlwdGlvbiI6Ik9wdGlvbmFsIG1vZGVsIGZvciB0aGUgdmVyaWZpY2F0aW9uIChyZWZsZWN0aW9uKSBwYXNzIG9ubHkuIExlYXZlIGVtcHR5IHRvIHJldXNlIGdvb3NlX21vZGVsIGZvciBib3RoIHBhc3NlcyAoZGVmYXVsdCkuIEV4YW1wbGUgZm9yIGZpcmV3b3Jrcy1haTogYWNjb3VudHMvZmlyZXdvcmtzL21vZGVscy9nbG0tNXAzLWZsYXNoXG4iLCJkZWZhdWx0IjoiIn0seyJrZXkiOiJ2ZXJpZmljYXRpb25fZ2F0ZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJSZXZpZXcgdmVyaWZpY2F0aW9uIGdhdGUgKGlzc3VlICMxMCkuIEFmdGVyIHRoZSBmaXJzdCByZXZpZXcgcGFzcywgYSBzaW5nbGUgcmVmbGVjdGlvbiBwYXNzIHJlLWNoZWNrcyBldmVyeSBmaW5kaW5nICgwLTEwIHZhbGlkaXR5IHNjb3JlKSBhbmQgYSBkZXRlcm1pbmlzdGljIG1lcmdlIGdhdGUga2VlcHMvZGVtb3Rlcy9kcm9wcyBmaW5kaW5ncy4gb24gPSBnYXRlIGVuZm9yY2VkOyBzaGFkb3cgPSBnYXRlIG91dGNvbWVzIHJlY29yZGVkIGluIENJIGxvZ3Mgb25seSAocG9zdGVkIHJldmlldyBpcyB0aGUgdW5tb2RpZmllZCBmaXJzdCBwYXNzKTsgb2ZmID0gbm8gdmVyaWZpY2F0aW9uIHN0ZXAuIENvc3Q6IG9uL3NoYWRvdyByb3VnaGx5IGRvdWJsZXMgdGhlIExMTSBzcGVuZCBwZXIgcmV2aWV3LlxuIiwib3B0aW9ucyI6WyJvbiIsIm9mZiIsInNoYWRvdyJdfSx7ImtleSI6InZlcmlmeV9nYXRlX3Byb2ZpbGUiLCJpbnB1dF90eXBlIjoic2VsZWN0IiwicmVxdWlyZW1lbnQiOiJyZXF1aXJlZCIsImRlc2NyaXB0aW9uIjoiR2F0ZSBwcm9maWxlLiBjb25zZXJ2YXRpdmUgPSB1bm1hdGNoZWQgZmluZGluZ3MgYXJlIGtlcHQsIFAwL1AxIGZpbmRpbmdzIHdpdGggYSA0LTYgdmFsaWRpdHkgc2NvcmUgYXJlIGRlbW90ZWQgdG8gV2FybmluZ3MuIHN0cmljdCA9IHVubWF0Y2hlZCBmaW5kaW5ncyBhcmUgZHJvcHBlZCwgYW5kIHRoZSBzYW1lIHRocmVzaG9sZHMgYXBwbHkgdG8gZXZlcnkgcHJpb3JpdHkgKHNjb3JlIDw9IDQgZHJvcCwgNS03IGRlbW90ZSwgPj0gOCBrZWVwKS4gS2VlcCB0aGUgZGVmYXVsdCB1bmxlc3Mgc2hhZG93IG1lYXN1cmVtZW50cyBqdXN0aWZ5IHRpZ2h0ZW5pbmcuXG4iLCJvcHRpb25zIjpbImNvbnNlcnZhdGl2ZSIsInN0cmljdCJdfV19
+goose://recipe?config=eyJ2ZXJzaW9uIjoiMS4wLjAiLCJ0aXRsZSI6IkNvZGVHb29zZSBDSSBTZXR1cCIsImRlc2NyaXB0aW9uIjoiSWYgdGhpcyByZXBvIGhhcyBubyBnb29zZSBBSSBjb2RlIHJldmlldyBDSSwgY3JlYXRlIHRoZSBjb25maWcgZmlsZSBmb3IgdGhlIHNlbGVjdGVkIHBsYXRmb3JtOyBpZiBvbmUgZXhpc3RzLCB1cGRhdGUgaXQgdG8gbWF0Y2ggdGhlIGNob3NlbiBvcHRpb25zLiBDSSBwbGF0Zm9ybSAoZ2l0aHViL2dpdGxhYi9naXRlYS90ZWFtY2l0eSksIHJldmlldyBjb21tZW50IGxhbmd1YWdlLCBQUiBjb21tZW50IHN0eWxlLCBhbmQgTExNIHByb3ZpZGVyIGFyZSBhbGwgY2hvc2VuIHZpYSBkcm9wZG93bnMuIEJhc2VkIG9uIHRoZSBvZmZpY2lhbCBnb29zZSBDSS9DRCB0dXRvcmlhbCAoaHR0cHM6Ly9nb29zZS1kb2NzLmFpL2RvY3MvdHV0b3JpYWxzL2NpY2QpLiBUaGUgZ2VuZXJhdGVkIGNvbmZpZyBpcyByZW5kZXJlZCBkZXRlcm1pbmlzdGljYWxseSBmcm9tIHRlbXBsYXRlcyBpbiBzb29sbXVrL0NvZGVHb29zZSAoc2NyaXB0cy9yZW5kZXIucHkpLCBOT1QgYXV0aG9yZWQgYnkgdGhlIExMTS5cbiIsInByb21wdCI6IllvdSBhcmUgYSBDSS9DRCBzZXR1cCBzcGVjaWFsaXN0IGZvciBnb29zZS4gU2V0IHVwIGdvb3NlIEFJIGNvZGUgcmV2aWV3IENJIGZvclxuVEhJUyByZXBvc2l0b3J5ICh0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSkgb24ge3sgY2lfcGxhdGZvcm0gfX0uXG5cbiMjIENSSVRJQ0FMOiBZb3UgYXJlIGEgZHJpdmVyLCBub3QgYW4gYXV0aG9yLlxuRG8gTk9UIHdyaXRlIENJIFlBTUwgYnkgaGFuZC4gVGhlIHJlbmRlcmVkIGNvbmZpZ3MgYXJlIFBST0RVQ0VEIGJ5IHRoZSBzaGFyZWRcbnBpcGVsaW5lIGluIHNvb2xtdWsvQ29kZUdvb3NlOiBhIHB5dGhvbiByZW5kZXJlciBkb3dubG9hZHMgcGxhdGZvcm1cbnRlbXBsYXRlcyBmcm9tIHRoYXQgcmVwbyBhbmQgc3Vic3RpdHV0ZXMgcGFyYW1ldGVycyBkZXRlcm1pbmlzdGljYWxseS5cbllvdXIgam9iOiAoMSkgc2VsZWN0IHBhcmFtZXRlcnMsICgyKSBSVU4gdGhlIHNjcmlwdHMsICgzKSByZXBvcnQuIE5ldmVyXG5oYW5kLWVkaXQgdGhlIGdlbmVyYXRlZCBjb25maWc7IGlmIHNvbWV0aGluZyBpcyB3cm9uZywgZml4IHRoZSB0ZW1wbGF0ZXMgaW5cbnNvb2xtdWsvQ29kZUdvb3NlIGluc3RlYWQuXG5cbiMjIFBhcmFtZXRlcnMgKGNob3NlbiBieSB0aGUgdXNlciB2aWEgdGhpcyByZWNpcGUpXG4tIGNpX3BsYXRmb3JtOiB7eyBjaV9wbGF0Zm9ybSB9fVxuLSBvdXRwdXRfbGFuZ3VhZ2U6IHt7IG91dHB1dF9sYW5ndWFnZSB9fVxuLSByZXZpZXdfc3R5bGU6IHt7IHJldmlld19zdHlsZSB9fVxuLSBjaV9wcm92aWRlcjoge3sgY2lfcHJvdmlkZXIgfX1cbi0gZ29vc2VfbW9kZWw6IHt7IGdvb3NlX21vZGVsIH19XG4tIGdvb3NlX3ZlcmlmeV9tb2RlbDoge3sgZ29vc2VfdmVyaWZ5X21vZGVsIH19IChlbXB0eSA9IHNhbWUgYXMgZ29vc2VfbW9kZWwpXG4tIHZlcmlmaWNhdGlvbl9nYXRlOiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fVxuLSB2ZXJpZnlfZ2F0ZV9wcm9maWxlOiB7eyB2ZXJpZnlfZ2F0ZV9wcm9maWxlIH19XG4oUHJvdmlkZXIgLT4gc2VjcmV0IG5hbWU6IG9sbGFtYV9jbG91ZD1PTExBTUFfQ0xPVURfQVBJX0tFWSxcbmFudGhyb3BpYz1BTlRIUk9QSUNfQVBJX0tFWSwgb3BlbmFpPU9QRU5BSV9BUElfS0VZLCBvcGVucm91dGVyPU9QRU5ST1VURVJfQVBJX0tFWSxcbmZpcmV3b3Jrcy1haT1GSVJFV09SS1NfQVBJX0tFWSlcblxuIyMgU3RlcCAxIOKAlCBJbnNwZWN0IChyZWFkLW9ubHkpXG5DaGVjayBmb3IgZXhpc3RpbmcgQ0kgY29uZmlnczogZ2l0aHViIGAuZ2l0aHViL3dvcmtmbG93cy8qLnltbGAsXG5naXRsYWIgYC5naXRsYWItY2kueW1sYCwgZ2l0ZWEgYC5naXRlYS93b3JrZmxvd3MvKi55bWxgLCB0ZWFtY2l0eSBgLnRlYW1jaXR5Lyoua3RzYC5cbklmIGFuIGV4aXN0aW5nIGNvbmZpZyB3YXMgcmVuZGVyZWQgYnkgdGhpcyBwaXBlbGluZSBiZWZvcmUgKGl0IGNhcnJpZXMgdGhlXG5tYXJrZXIgY29tbWVudCBgUmVuZGVyZWQgYnkgc29vbG11ay9Db2RlR29vc2VgKSwgaXQgd2lsbCBiZSBvdmVyd3JpdHRlblxuYnkgdGhlIHNhbWUgcmVuZGVyZXIg4oCUIHRoYXQgaXMgZXhwZWN0ZWQgZHJpZnQgY29udHJvbC5cblxuIyMgU3RlcCAyIOKAlCBEb3dubG9hZCBhbmQgcnVuIHRoZSByZW5kZXJlciAoe3sgY2lfcGxhdGZvcm0gfX0pXG5gYGBiYXNoXG5jdXJsIC1mc1NMIGh0dHBzOi8vZ2l0aHViLmNvbS9zb29sbXVrL0NvZGVHb29zZS9yZWxlYXNlcy9sYXRlc3QvZG93bmxvYWQvcmVuZGVyLnB5IC1vIC90bXAvcmVuZGVyLnB5XG5weXRob24zIC90bXAvcmVuZGVyLnB5IHt7IGNpX3BsYXRmb3JtIH19IFxcXG4gIC0tcHJvdmlkZXIge3sgY2lfcHJvdmlkZXIgfX0gXFxcbiAgLS1tb2RlbCB7eyBnb29zZV9tb2RlbCB9fSBcXFxuICAtLXN0eWxlIHt7IHJldmlld19zdHlsZSB9fSBcXFxuICAtLWxhbmd1YWdlIHt7IG91dHB1dF9sYW5ndWFnZSB9fSBcXFxuICAtLXZlcmlmaWNhdGlvbiB7eyB2ZXJpZmljYXRpb25fZ2F0ZSB9fSBcXFxuICAtLXZlcmlmeS1wcm9maWxlIHt7IHZlcmlmeV9nYXRlX3Byb2ZpbGUgfX1cbmBgYFxuXG5Ob3RlIGZvciB0ZWFtY2l0eTogdGhlIHJlbmRlcmVyIHByb2R1Y2VzIGAudGVhbWNpdHkvc2V0dGluZ3Mua3RzYDsgdGhlIHJldmlld1xudGV4dCBpcyBwdWJsaXNoZWQgYXMgdGhlIGJ1aWxkIGFydGlmYWN0IGBwcl9yZXZpZXcudHh0YCAoVGVhbUNpdHkgY2Fubm90IHBvc3RcbmZvcmdlIGNvbW1lbnRzIHdpdGhvdXQgZXh0cmEgUkVTVCBzZXR1cCkuXG5Gb3IgZ2l0ZWE6IHRoZSB1c2VyIG11c3QgYWxzbyBhZGQgYSBgUkVWSUVXX1RPS0VOYCBzZWNyZXQgKEdpdGVhIGFjY2VzcyB0b2tlblxud2l0aCB3cml0ZSBwZXJtaXNzaW9uKSDigJQgaW5jbHVkZSB0aGF0IGluIHRoZSByZXBvcnQuXG5cbiMjIFN0ZXAgMyDigJQgVmVyaWZ5ICh0aGUgc2NyaXB0J3MgZXhpdCBjb2RlIGlzIHRoZSBjb250cmFjdClcbmBgYGJhc2hcbmN1cmwgLWZzU0wgaHR0cHM6Ly9naXRodWIuY29tL3Nvb2xtdWsvQ29kZUdvb3NlL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC92ZXJpZnkucHkgLW8gL3RtcC92ZXJpZnlfY2kucHlcbnB5dGhvbjMgL3RtcC92ZXJpZnlfY2kucHkge3sgY2lfcGxhdGZvcm0gfX0gPHJlbmRlcmVkLWNvbmZpZy1wYXRoPlxuYGBgXG5FeHBlY3RlZCBSRVNVTFQ6IFBBU1MuIElmIEZBSUwsIHJlcG9ydCB0aGUgZmFpbGluZyBjaGVja3M7IGRvIE5PVCBoYW5kLXBhdGNoXG50aGUgY29uZmlnLiBGaXhlcyBiZWxvbmcgaW4gc29vbG11ay9Db2RlR29vc2UgdGVtcGxhdGVzL3NjcmlwdHMuXG5cbiMjIFN0ZXAgNCDigJQgUmVwb3J0IChpbiB7eyBvdXRwdXRfbGFuZ3VhZ2UgfX0pXG4tIFN0YXR1cyAoY3JlYXRlZC91cGRhdGVkKSArIGNvbmZpZyBmaWxlIHBhdGgsIGFuZCB0aGF0IGl0IHdhcyByZW5kZXJlZCBieSB0aGVcbiAgZGV0ZXJtaW5pc3RpYyBwaXBlbGluZSAobm90IGF1dGhvcmVkIGJ5IHRoZSBMTE0pLlxuLSBHT09TRV9NT0RFTDoge3sgZ29vc2VfbW9kZWwgfX0gKGhhcmRjb2RlZCBpbnRvIHRoZSBjb25maWcgYnkgdGhlIHJlbmRlcmVyKS5cbi0gVmVyaWZpY2F0aW9uIG1vZGVsOiB7eyBnb29zZV92ZXJpZnlfbW9kZWwgfX0g4oCUIHRoZSBtb2RlbCB0aGUgcmVmbGVjdGlvblxuICBwYXNzIHVzZXMuIEdJVEhVQiBPTkxZOiB0aGUgcmVuZGVyZXIgcmVqZWN0cyAtLXZlcmlmeS1tb2RlbCBvblxuICBnaXRsYWIvZ2l0ZWEvdGVhbWNpdHkgKGV4aXQgMiksIHNvIGlmIHt7IGNpX3BsYXRmb3JtIH19IGlzIG5vdCBnaXRodWJcbiAgYW5kIHRoZSB1c2VyIHNldCBhIHZhbHVlLCByZXBvcnQgdGhlIGNvbnN0cmFpbnQgYW5kIFJFLVJVTiBXSVRIT1VUIHRoZVxuICBmbGFnIGluc3RlYWQgb2YgcGFzc2luZyBpdC4gSWYgdGhlIHVzZXIgbGVmdCBpdCBlbXB0eSwgcnVuIHRoZSBTdGVwIDJcbiAgY29tbWFuZCBleGFjdGx5IGFzIHdyaXR0ZW4gKGJvdGggcGFzc2VzIHRoZW4gdXNlIEdPT1NFX01PREVMOyBuZXZlclxuICBwYXNzIGFuIGVtcHR5IC0tdmVyaWZ5LW1vZGVsIHZhbHVlIOKAlCBpdCB3b3VsZCBzd2FsbG93IHRoZSBuZXh0IGZsYWcpLlxuICBJZiBzZXQgQU5EIHRoZSBwbGF0Zm9ybSBpcyBnaXRodWIsIEFERCBvbmUgbGluZSBpbnRvIHRoZSBTdGVwIDIgY29tbWFuZFxuICByaWdodCBhZnRlciAtLW1vZGVsOlxuICAtLXZlcmlmeS1tb2RlbCB7eyBnb29zZV92ZXJpZnlfbW9kZWwgfX0gXFxcXFxuICAoa2VlcCB0aGUgdHJhaWxpbmcgXFxcXCBjb250aW51YXRpb247IG11c3QgYmUgYSBtb2RlbCBmcm9tIHRoZSBTQU1FXG4gIHByb3ZpZGVyIHt7IGNpX3Byb3ZpZGVyIH19IOKAlCB0aGUgcmV3cml0dGVuIGNvbmZpZyBrZWVwcyB0aGUgcmV2aWV3XG4gIHByb3ZpZGVyKS5cbi0gUHJvdmlkZXIgc2VjcmV0IHRoYXQgdGhlIHVzZXIgbXVzdCBhZGQsIGUuZy4gZm9yIHt7IGNpX3Byb3ZpZGVyIH19IHRoZVxuICByZXF1aXJlZCByZXBvIHNlY3JldCBuYW1lIGZyb20gdGhlIG1hcHBpbmcgYWJvdmUuXG4tIEhvdyB0byB0cmlnZ2VyOiBvcGVuL3VwZGF0ZSBhIHB1bGwgcmVxdWVzdDsgQ0kgcG9zdHMgdGhlIHt7IHJldmlld19zdHlsZSB9fVxuICByZXN1bHQgaW4ge3sgb3V0cHV0X2xhbmd1YWdlIH19LlxuLSBGb3IgZ3JhZGVkIHJldmlld3MgdGhlIENJIGFsc28gcG9zdHMgdXAgdG8gMTAgZGlmZi1hbmNob3JlZCBpbmxpbmUgY29tbWVudHNcbiAgKGxpa2UgQ29kZVJhYmJpdCk6IGVhY2ggZmluZGluZyBpcyB2YWxpZGF0ZWQgYWdhaW5zdCB0aGUgUFIvTVIgZGlmZiBiZWZvcmVcbiAgcG9zdGluZywgYW5kIGZpbmRpbmdzIHRoYXQgY2Fubm90IGJlIGFuY2hvcmVkIGFyZSByZWNhcHBlZCBpbiB0aGUgc3VtbWFyeVxuICBjb21tZW50IGluc3RlYWQg4oCUIG5vdGhpbmcgaXMgc2lsZW50bHkgZHJvcHBlZC5cbi0gVmVyaWZpY2F0aW9uIGdhdGUgKHt7IHZlcmlmaWNhdGlvbl9nYXRlIH19IHByb2ZpbGUge3sgdmVyaWZ5X2dhdGVfcHJvZmlsZSB9fSk6XG4gIHdoZW4gb24vc2hhZG93LCBldmVyeSBmaW5kaW5nIGlzIHJlLXZlcmlmaWVkIGJ5IGEgc2Vjb25kIGdvb3NlIHBhc3NcbiAgKHJlZmxlY3Rpb24pIGJlZm9yZSBwb3N0aW5nOyByZWZ1dGVkIGZpbmRpbmdzIGFyZSByZW1vdmVkLCBwbGF1c2libGUtYnV0LVxuICB1bnZlcmlmaWVkIGJsb2NrZXJzIGFyZSBkZW1vdGVkIHRvIFdhcm5pbmdzLCBhbmQgdGhlIHZlcmRpY3QgaXMgcmVjb21wdXRlZC5cbiAgVGhlIHBvc3RlZCByZXZpZXcgbm90ZXMgaG93IG1hbnkgZmluZGluZ3Mgd2VyZSBrZXB0L2RlbW90ZWQvZHJvcHBlZDsgdGhlXG4gIGRyb3BwZWQgZGV0YWlscyBsaXZlIGluIHRoZSBDSSBqb2IgbG9nIChkcm9wcGVkLmpzb24gYXJ0aWZhY3QpLCBuZXZlclxuICBzaWxlbnRseSBsb3N0LiBTaGFkb3cgbW9kZSByZWNvcmRzIG91dGNvbWVzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHBvc3QuXG4gIENvc3Qgbm90ZTogb24vc2hhZG93IOKJiCAyeCBMTE0gc3BlbmQgcGVyIHJldmlldzsgY2hvb3NlIG9mZiB0byBkaXNhYmxlLlxuLSBSZW1pbmRlcjogaWYgdGhpcyByZXBvIGFscmVhZHkgaGFzIGEgQ29kZUdvb3NlLXJlbmRlcmVkIENJIGNvbmZpZywgdGhpc1xuICBydW4gcmUtcmVuZGVycyBpdCBpbiBwbGFjZSAodGhhdCBpcyB0aGUgaW50ZW5kZWQgZHJpZnQgY29udHJvbCkuXG5cbkRvIE5PVCBnaXQgY29tbWl0IG9yIHB1c2guIERvIE5PVCB0b3VjaCBvdGhlciBmaWxlcy5cbiIsImV4dGVuc2lvbnMiOlt7InR5cGUiOiJidWlsdGluIiwibmFtZSI6ImRldmVsb3BlciIsImRlc2NyaXB0aW9uIjoiIiwiZGlzcGxheV9uYW1lIjpudWxsLCJ0aW1lb3V0IjpudWxsLCJidW5kbGVkIjpudWxsfSx7InR5cGUiOiJwbGF0Zm9ybSIsIm5hbWUiOiJhbmFseXplIiwiZGVzY3JpcHRpb24iOiIiLCJkaXNwbGF5X25hbWUiOm51bGwsImJ1bmRsZWQiOm51bGx9XSwic2V0dGluZ3MiOnsidGVtcGVyYXR1cmUiOjAuMX0sInBhcmFtZXRlcnMiOlt7ImtleSI6ImNpX3BsYXRmb3JtIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IkNJIHBsYXRmb3JtIHRvIHNldCB1cCAoZ29vc2UgcmV2aWV3cyBwdWxsIHJlcXVlc3RzIC8gTVJzIHRoZXJlKSIsIm9wdGlvbnMiOlsiZ2l0aHViIiwiZ2l0bGFiIiwiZ2l0ZWEiLCJ0ZWFtY2l0eSJdfSx7ImtleSI6Im91dHB1dF9sYW5ndWFnZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJMYW5ndWFnZSBmb3IgcmV2aWV3IGNvbW1lbnRzIGFuZCB0aGUgc2V0dXAgcmVwb3J0Iiwib3B0aW9ucyI6WyJLb3JlYW4iLCJFbmdsaXNoIiwiSmFwYW5lc2UiLCJDaGluZXNlIl19LHsia2V5IjoicmV2aWV3X3N0eWxlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IldoYXQgdGhlIENJIHBvc3RzIG9uIHRoZSBwdWxsIHJlcXVlc3QiLCJvcHRpb25zIjpbImdyYWRlZC1yZXZpZXciLCJjaGFuZ2VzLXN1bW1hcnkiXX0seyJrZXkiOiJjaV9wcm92aWRlciIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJMTE0gcHJvdmlkZXIgdXNlZCBieSBnb29zZSBpbiBDSSIsIm9wdGlvbnMiOlsib2xsYW1hX2Nsb3VkIiwiYW50aHJvcGljIiwib3BlbmFpIiwib3BlbnJvdXRlciIsImZpcmV3b3Jrcy1haSJdfSx7ImtleSI6Imdvb3NlX21vZGVsIiwiaW5wdXRfdHlwZSI6InN0cmluZyIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6Ik1vZGVsIG5hbWUgZm9yIEdPT1NFX01PREVMIGluIHRoZSBDSSBjb25maWcgKGUuZy4gZ2xtLTUuMyBmb3Igb2xsYW1hX2Nsb3VkLCBjbGF1ZGUtc29ubmV0LTQtNSBmb3IgYW50aHJvcGljLCBncHQtNG8gZm9yIG9wZW5haSwgYW50aHJvcGljL2NsYXVkZS1zb25uZXQtNCBmb3Igb3BlbnJvdXRlciwgYWNjb3VudHMvZmlyZXdvcmtzL21vZGVscy9kZWVwc2Vlay12NC1mbGFzaC0wNzMxIGZvciBmaXJld29ya3MtYWkpIn0seyJrZXkiOiJnb29zZV92ZXJpZnlfbW9kZWwiLCJpbnB1dF90eXBlIjoic3RyaW5nIiwicmVxdWlyZW1lbnQiOiJvcHRpb25hbCIsImRlc2NyaXB0aW9uIjoiT3B0aW9uYWwgbW9kZWwgZm9yIHRoZSB2ZXJpZmljYXRpb24gKHJlZmxlY3Rpb24pIHBhc3Mgb25seS4gTGVhdmUgZW1wdHkgdG8gcmV1c2UgZ29vc2VfbW9kZWwgZm9yIGJvdGggcGFzc2VzIChkZWZhdWx0KS4gRXhhbXBsZSBmb3IgZmlyZXdvcmtzLWFpOiBhY2NvdW50cy9maXJld29ya3MvbW9kZWxzL2dsbS01cDMtZmxhc2hcbiIsImRlZmF1bHQiOiIifSx7ImtleSI6InZlcmlmaWNhdGlvbl9nYXRlIiwiaW5wdXRfdHlwZSI6InNlbGVjdCIsInJlcXVpcmVtZW50IjoicmVxdWlyZWQiLCJkZXNjcmlwdGlvbiI6IlJldmlldyB2ZXJpZmljYXRpb24gZ2F0ZSAoaXNzdWUgIzEwKS4gQWZ0ZXIgdGhlIGZpcnN0IHJldmlldyBwYXNzLCBhIHNpbmdsZSByZWZsZWN0aW9uIHBhc3MgcmUtY2hlY2tzIGV2ZXJ5IGZpbmRpbmcgKDAtMTAgdmFsaWRpdHkgc2NvcmUpIGFuZCBhIGRldGVybWluaXN0aWMgbWVyZ2UgZ2F0ZSBrZWVwcy9kZW1vdGVzL2Ryb3BzIGZpbmRpbmdzLiBvbiA9IGdhdGUgZW5mb3JjZWQ7IHNoYWRvdyA9IGdhdGUgb3V0Y29tZXMgcmVjb3JkZWQgaW4gQ0kgbG9ncyBvbmx5IChwb3N0ZWQgcmV2aWV3IGlzIHRoZSB1bm1vZGlmaWVkIGZpcnN0IHBhc3MpOyBvZmYgPSBubyB2ZXJpZmljYXRpb24gc3RlcC4gQ29zdDogb24vc2hhZG93IHJvdWdobHkgZG91YmxlcyB0aGUgTExNIHNwZW5kIHBlciByZXZpZXcuXG4iLCJvcHRpb25zIjpbIm9uIiwib2ZmIiwic2hhZG93Il19LHsia2V5IjoidmVyaWZ5X2dhdGVfcHJvZmlsZSIsImlucHV0X3R5cGUiOiJzZWxlY3QiLCJyZXF1aXJlbWVudCI6InJlcXVpcmVkIiwiZGVzY3JpcHRpb24iOiJHYXRlIHByb2ZpbGUuIGNvbnNlcnZhdGl2ZSA9IHVubWF0Y2hlZCBmaW5kaW5ncyBhcmUga2VwdCwgUDAvUDEgZmluZGluZ3Mgd2l0aCBhIDQtNiB2YWxpZGl0eSBzY29yZSBhcmUgZGVtb3RlZCB0byBXYXJuaW5ncy4gc3RyaWN0ID0gdW5tYXRjaGVkIGZpbmRpbmdzIGFyZSBkcm9wcGVkLCBhbmQgdGhlIHNhbWUgdGhyZXNob2xkcyBhcHBseSB0byBldmVyeSBwcmlvcml0eSAoc2NvcmUgPD0gNCBkcm9wLCA1LTcgZGVtb3RlLCA-PSA4IGtlZXApLiBLZWVwIHRoZSBkZWZhdWx0IHVubGVzcyBzaGFkb3cgbWVhc3VyZW1lbnRzIGp1c3RpZnkgdGlnaHRlbmluZy5cbiIsIm9wdGlvbnMiOlsiY29uc2VydmF0aXZlIiwic3RyaWN0Il19XX0
```
diff --git a/codegoose-setup.yaml b/codegoose-setup.yaml
index a756404..f3be15c 100644
--- a/codegoose-setup.yaml
+++ b/codegoose-setup.yaml
@@ -165,12 +165,18 @@ prompt: |
deterministic pipeline (not authored by the LLM).
- GOOSE_MODEL: {{ goose_model }} (hardcoded into the config by the renderer).
- Verification model: {{ goose_verify_model }} — the model the reflection
- pass uses. If the user left it empty, run the Step 2 command exactly as
- written (both passes then use GOOSE_MODEL; never pass an empty --verify-
- model value — it would swallow the next flag). If set, ADD one line into
- the Step 2 command right after --model:
+ pass uses. GITHUB ONLY: the renderer rejects --verify-model on
+ gitlab/gitea/teamcity (exit 2), so if {{ ci_platform }} is not github
+ and the user set a value, report the constraint and RE-RUN WITHOUT the
+ flag instead of passing it. If the user left it empty, run the Step 2
+ command exactly as written (both passes then use GOOSE_MODEL; never
+ pass an empty --verify-model value — it would swallow the next flag).
+ If set AND the platform is github, ADD one line into the Step 2 command
+ right after --model:
--verify-model {{ goose_verify_model }} \\
- (keep the trailing \\ continuation).
+ (keep the trailing \\ continuation; must be a model from the SAME
+ provider {{ ci_provider }} — the rewritten config keeps the review
+ provider).
- Provider secret that the user must add, e.g. for {{ ci_provider }} the
required repo secret name from the mapping above.
- How to trigger: open/update a pull request; CI posts the {{ review_style }}
diff --git a/docs/launch.html b/docs/launch.html
index a2ebff5..ce9e3cf 100644
--- a/docs/launch.html
+++ b/docs/launch.html
@@ -163,13 +163,13 @@ ⚙️ CI Setup
Install or refresh the CodeGoose review pipeline on GitHub / GitLab / Gitea / TeamCity.
Platform, language, style, provider and model are chosen via dropdowns.
-
+
Launch CI Setup
Deep link not working? Copy it manually
Paste into your browser's address bar, press Enter → Open Goose.app.
diff --git a/scripts/render.py b/scripts/render.py
index dcb42b7..d4de76c 100644
--- a/scripts/render.py
+++ b/scripts/render.py
@@ -196,7 +196,8 @@ def main():
ap.add_argument("--verify-model", default=None,
help="model for the verification (reflection) pass; "
"defaults to --model (single-model behavior). "
- "GitHub workflows only — rejected elsewhere")
+ "GitHub workflows only — rejected elsewhere. "
+ "With --verification off the value is unused")
ap.add_argument("--style", required=True, choices=["graded-review", "changes-summary"])
ap.add_argument("--language", default="Korean")
ap.add_argument("--local", action="store_true",
@@ -222,6 +223,11 @@ def main():
# reflection pass would keep the review model. Fail loud instead.
print("FAIL: --verify-model is only supported on the github platform")
return 2
+ if args.verify_model and args.verification == "off":
+ # --verification off strips the whole verify region including the
+ # model switch, so --verify-model would be dead input. Warn (not
+ # fail): the render is still valid, the user just gave a no-op value.
+ print("WARN: --verify-model has no effect with --verification off")
spec = SOURCES[args.platform]
if args.local:
diff --git a/templates/github.workflow.yml b/templates/github.workflow.yml
index 723a43a..8b07217 100644
--- a/templates/github.workflow.yml
+++ b/templates/github.workflow.yml
@@ -154,17 +154,6 @@ jobs:
#[verify:begin]
# Verification gate (issue #10): single reflection pass + merge.
# Same step run block: the provider key binding stays exactly 1.
- # Issue: verification (reflection) pass may run a different
- # model than the review pass. __GOOSE_VERIFY_MODEL__ is
- # substituted with the review model by default (single-model
- # behavior preserved); render.py --verify-model overrides it.
- # Rewriting the global config.yaml here only affects the
- # remaining goose invocations in this step (reflection + retry).
- cat <<'VEOF' > ~/.config/goose/config.yaml
- GOOSE_PROVIDER: __PROVIDER__
- GOOSE_MODEL: __GOOSE_VERIFY_MODEL__
- keyring: false
- VEOF
# (The old "skip when the PR head moved" pre-check read the same
# event payload twice — head.sha vs head.sha — so it never fired;
# the posting step's live `gh pr view` check is the real guard.)
@@ -180,6 +169,15 @@ jobs:
python3 verify_findings.py hunks --diff pr.diff --findings findings.json --out hunks.txt
cat hunks.txt
} >> reflection_input.txt
+ # Verify-model switch (render.py --verify-model): rewrite the
+ # config ONLY when the reflection pass will actually run —
+ # findings exist and the PR head is unchanged. Empty findings or
+ # single-model usage skips the rewrite entirely (no wasted I/O).
+ cat <<'VEOF' > ~/.config/goose/config.yaml
+ GOOSE_PROVIDER: __PROVIDER__
+ GOOSE_MODEL: __GOOSE_VERIFY_MODEL__
+ keyring: false
+ VEOF
goose run --instructions reflection_input.txt > reflect_raw.txt
if python3 verify_findings.py reflect-parse --raw reflect_raw.txt --out scores.json; then
python3 verify_findings.py merge --body body.md --scores scores.json \
From 224acddcfc60fe6dde358ea4feeeb10b11bcbca0 Mon Sep 17 00:00:00 2001
From: soolmuk <72430756+soolmuk@users.noreply.github.com>
Date: Sat, 5 Sep 2026 11:57:53 +0900
Subject: [PATCH 5/5] =?UTF-8?q?fix(review):=20round-3=20dispositions=20?=
=?UTF-8?q?=E2=80=94=20cross-provider=20warn=20+=20sed-based=20model=20swa?=
=?UTF-8?q?p?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- P2 applied (render.py): cheap prefix heuristic WARN when --verify-model
looks like another provider model (accounts/fireworks/models/ vs claude-/
gpt-/o1/o3) while the rewritten config keeps the review provider — the
failure mode (reflection auth fail → parse fail → retry → fail-open with
green CI) is silent, so a render-time warning is the cheapest visibility.
Heuristic, not a catalog: unknown prefixes pass.
- P3 applied (template): comment now matches reality — the swap runs only
when findings exist; a head-move after that point is tolerated by the post
step live guard; single-model renders perform a value no-op sed (not a
skip).
- P3 applied (template): full-file heredoc rewrite replaced with sed on the
GOOSE_MODEL line only — keys added to Configure goose by future releases
survive into the reflection pass. Verified against the real config format
(YAML block-scalar strips the indent; keys are bare).
- verify.py PASS; cross-provider WARN confirmed (claude model on fireworks
provider); same-provider render produces no warning.
---
scripts/render.py | 18 ++++++++++++++++++
templates/github.workflow.yml | 18 +++++++++---------
2 files changed, 27 insertions(+), 9 deletions(-)
diff --git a/scripts/render.py b/scripts/render.py
index d4de76c..43fbb73 100644
--- a/scripts/render.py
+++ b/scripts/render.py
@@ -228,6 +228,24 @@ def main():
# model switch, so --verify-model would be dead input. Warn (not
# fail): the render is still valid, the user just gave a no-op value.
print("WARN: --verify-model has no effect with --verification off")
+ # Cheap prefix heuristic: warn when the verify model id looks like it
+ # belongs to a different provider than the one configured. The rewritten
+ # config keeps the REVIEW provider, so a mismatched model id fails at
+ # runtime — and the reflection gate fails open (review still posts).
+ # This is a heuristic, not a catalog check: unknown prefixes pass.
+ if args.verify_model and args.verify_model != args.model:
+ _pfx = {"fireworks-ai": "accounts/fireworks/models/",
+ "openai": ["gpt-", "o1", "o3", "chatgpt"],
+ "anthropic": ["claude-"],
+ "openrouter": [],
+ "ollama_cloud": []}
+ _own = _pfx.get(provider, [])
+ _own_list = _own if isinstance(_own, list) else [_own]
+ if _own_list and not any(args.verify_model.startswith(p) for p in _own_list):
+ _foreign = [name for name, pfx in _pfx.items()
+ if name != provider and any(args.verify_model.startswith(p) for p in (pfx if isinstance(pfx, list) else [pfx]))]
+ if _foreign:
+ print(f"WARN: --verify-model looks like a {_foreign[0]} model but the config keeps provider {provider} — the reflection pass will fail auth if the provider does not serve it")
spec = SOURCES[args.platform]
if args.local:
diff --git a/templates/github.workflow.yml b/templates/github.workflow.yml
index 8b07217..93ffb46 100644
--- a/templates/github.workflow.yml
+++ b/templates/github.workflow.yml
@@ -169,15 +169,15 @@ jobs:
python3 verify_findings.py hunks --diff pr.diff --findings findings.json --out hunks.txt
cat hunks.txt
} >> reflection_input.txt
- # Verify-model switch (render.py --verify-model): rewrite the
- # config ONLY when the reflection pass will actually run —
- # findings exist and the PR head is unchanged. Empty findings or
- # single-model usage skips the rewrite entirely (no wasted I/O).
- cat <<'VEOF' > ~/.config/goose/config.yaml
- GOOSE_PROVIDER: __PROVIDER__
- GOOSE_MODEL: __GOOSE_VERIFY_MODEL__
- keyring: false
- VEOF
+ # Verify-model switch (render.py --verify-model): swap ONLY the
+ # GOOSE_MODEL line for the reflection + retry invocations. Runs
+ # only here — findings exist. (A head-move after this point is
+ # tolerated: the post step's live guard skips a stale review.)
+ # When --verify-model is unset the substituted value equals the
+ # review model and this sed is a value no-op. sed (not a full
+ # rewrite) so keys added to Configure goose by future releases
+ # survive into the reflection pass.
+ sed -i.bak 's|^GOOSE_MODEL: .*|GOOSE_MODEL: __GOOSE_VERIFY_MODEL__|' ~/.config/goose/config.yaml && rm -f ~/.config/goose/config.yaml.bak
goose run --instructions reflection_input.txt > reflect_raw.txt
if python3 verify_findings.py reflect-parse --raw reflect_raw.txt --out scores.json; then
python3 verify_findings.py merge --body body.md --scores scores.json \