Skip to content

Add Flyte 1 → 2 migration skills + eval coverage#22

Open
cosmicBboy wants to merge 1 commit into
evals-harnessfrom
migration-skills
Open

Add Flyte 1 → 2 migration skills + eval coverage#22
cosmicBboy wants to merge 1 commit into
evals-harnessfrom
migration-skills

Conversation

@cosmicBboy

Copy link
Copy Markdown
Collaborator

What

Converts the official Flyte 1 → 2 migration guide (11 pages) into 6 agent skills and wires them into the eval harness.

New skills

Skill Covers
flyte-migrate Start-here orchestrator: flytekitflyte shift, terminology/concept mapping, the two mechanical changes, incremental strategy, hybrid v1/v2 pipelines, gotchas — routes to the rest
flyte-migrate-tasks-workflows @task/@workflow/@dynamic → a single @env.task on a TaskEnvironment; ordering without >>; subworkflows as tasks
flyte-migrate-config Images (ImageSpecflyte.Image), resources/GPUs, caching, secrets, scheduling (LaunchPlan/CronScheduleTrigger/Cron), and pyflyteflyte CLI/config
flyte-migrate-control-flow conditional()if/else, @dynamic→plain loops, on_failuretry/except, map_taskflyte.map/asyncio.gather
flyte-migrate-data-io FlyteFile/FlyteDirectoryflyte.io.File/Dir, StructuredDatasetflyte.io.DataFrame, dataclasses/Pydantic I/O
flyte-migrate-ml ML workloads (training, HPO, GPU/deep learning, batch inference) + new-in-v2 patterns (serving, apps, sandboxed execution)

Each skill carries verbatim before/after Flyte 1/Flyte 2 code, concept/parameter mapping tables, a Grounding References table, and Anti-Patterns.

Eval coverage

  • 12 new scenarios — a static lint scenario per skill + 6 trajectory scenarios that feed the agent real v1 flytekit code and assert the migrated output imports flyte, uses TaskEnvironment/@env.task, and has no leftover v1 constructs (import flytekit, @workflow, map_task, conditional(, FlyteFile, ImageSpec, …), plus an LLM-judge rubric.
  • Both READMEs get a "Migration (Flyte 1 → 2)" section. The marketplace / pi / codex manifests auto-discover skills, so no manifest edits were needed.

Verification

  • Static lint: 21/21 skills passing (frontmatter valid, all code fences parse, no secrets)
  • Unit tests: 29 passing (incl. scenario-integrity checks)
  • Scenario count 19 → 31; select.py correctly scopes migration-skill changes

Not yet run: the trajectory/judge scenarios were verified structurally (load + select + lint) but not executed against a live agent+GLM run — that needs the auth-gated GLM key (same open spike as the base harness).

Based on evals-harness; merge that PR first.

🤖 Generated with Claude Code

Convert the official Flyte 1->2 migration guide
(union.ai/docs/v2/flyte/user-guide/migration/flyte-2) into 6 agent skills:

- flyte-migrate            start-here orchestrator (concept mapping, the two
                           mechanical changes, strategy, hybrid v1/v2, gotchas)
- flyte-migrate-tasks-workflows   @task/@workflow/@dynamic -> @env.task
- flyte-migrate-config     images/resources/cache/secrets/scheduling + CLI
- flyte-migrate-control-flow   conditional/@dynamic/on_failure/map_task
- flyte-migrate-data-io    FlyteFile/StructuredDataset -> flyte.io.*
- flyte-migrate-ml         ML workloads + new-in-v2 patterns

Each skill carries verbatim before/after code, concept/parameter mapping
tables, and anti-patterns.

Eval harness: add static + trajectory scenarios for all 6 skills (12 total).
Trajectory scenarios feed the agent real v1 flytekit code and assert the
migrated output uses v2 APIs with no leftover v1 constructs. Update both
READMEs with a Migration section.

Verified: static lint 21/21 skills passing, 29 unit tests passing,
select.py correctly scopes migration-skill changes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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