Skip to content

update blueprint skill with findings from Otto vs Claude experiment#214

Open
tayloramurphy wants to merge 2 commits into
mainfrom
update-blueprint-skill-from-otto-experiment
Open

update blueprint skill with findings from Otto vs Claude experiment#214
tayloramurphy wants to merge 2 commits into
mainfrom
update-blueprint-skill-from-otto-experiment

Conversation

@tayloramurphy
Copy link
Copy Markdown
Contributor

@tayloramurphy tayloramurphy commented May 8, 2026

Summary

  • Grounds the blueprint skill in concrete failure modes observed during a recent Otto vs Claude Blueprint experiment (Slack thread, doc, full Otto session transcript)
  • Adds operating rules and a "Designing the Blueprint Library" section so the agent picks an architecture before writing code, instead of producing a single pipeline-runner blueprint by default
  • Documents real bugs the experiment exposed: safe-mode loader discovery, non-YAML-compatible Pydantic types, __file__-relative path breakage on Astro Cloud, schema generation via shell redirect producing invalid JSON (the actual root cause of empty Astro IDE template libraries), missing provider packages in the standalone uvx CLI environment, Airflow 3 import paths, and customer cluster policy tag requirements
  • Generalizes the language so the guidance applies to any orchestration migration and any kind of project-relative artifact, not just Jenkins/SQL

Grounds the blueprint skill in concrete failure modes observed during
Caitlin's Otto vs Claude Blueprint experiment (Slack thread + linked doc
+ full Otto session transcript).

Notable additions:
- Operating rules at the top (apply fixes, don't leave stubs, verify
  before declaring done, local success != Astro success)
- New "Designing the Blueprint Library" section: prefer multiple focused
  blueprints over a single pipeline-runner
- Loader safe-mode discovery: docstring required so Airflow scans the file
- YAML-compatible field types: YamlScalar/YamlValue aliases for free-form
  config, plus list of types the Astro IDE form renderer cannot handle
- Cluster policy compatibility: required tags on customer Astro deployments
- New "Path Resolution Across Environments" section: multi-root resolver
  using PROJECT_ROOT, parent, and AIRFLOW_HOME so projects work both locally
  and on Astro Cloud
- Schema generation: always use --output, never shell redirect (rich
  pretty-printer corrupts JSON, IDE silently drops invalid schemas)
- Airflow 3+ imports: airflow.sdk.TaskGroup,
  airflow.providers.standard.operators.bash
- uvx --with apache-airflow-providers-X needed for blueprint list/lint/schema
  when templates import provider operators
- Expanded troubleshooting with the actual error strings observed
- Verification checklist now covers schema validity, Astro Cloud parity,
  cluster policy tags
@tayloramurphy tayloramurphy requested a review from a team May 8, 2026 21:23
@tayloramurphy tayloramurphy self-assigned this May 8, 2026
The first pass leaned too heavily on the original experiment's Jenkins-to-
Airflow + SQL files context. Generalizes the language so the skill applies
to any orchestration migration or any kind of project-relative artifact
(YAML, JSON, scripts, fixtures, etc.), not just SQL.

- Operating rules: 'TODO: extract remaining steps' instead of SQL-specific
- Before-starting checklist: 'configs from another orchestrator' rather
  than 'Jenkins jobs', and a wider list of operation archetypes
- Designing the Library: archetype examples now span data, ML, ops, and
  reporting; one Jenkins-only entry split into 'standardize many similar
  pipelines / migrate from another orchestrator'; new red flag for
  vendor-named blueprints and discriminator-driven mega-blueprints
- Path Resolution: drops the SQL-specific error string and clarifies the
  pattern works for any project-relative file
- Verification checklist: 'project-relative paths' instead of 'SQL files,
  configs'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant