Skip to content

feat: dual-name profile discovery (#161 step 6, stage 1)#183

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/env-profile-rename
Jul 23, 2026
Merged

feat: dual-name profile discovery (#161 step 6, stage 1)#183
Jammy2211 merged 1 commit into
mainfrom
feature/env-profile-rename

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Summary

Stage 1 of the step-6 profile rename (PyAutoHands#181): every reader accepts both profile_smoke.yaml/profile_release.yaml (canonical) and the legacy env_vars*.yaml names, so the 11 workspace repos can rename with no CI breakage window. Both-names-present is a validator error (ambiguity); a stage-3 cleanup later removes the legacy fallbacks.

API Changes

Internal autohands tooling surface:

  • Added env_config.PROFILE_NAMES + env_config.find_profile(build_dir, kind).
  • run_python.py / run.py discovery and repro_command workspace-root detection resolve through find_profile.
  • validate_env_profiles: per-kind resolution (ambiguity error / canonical-named missing error); PROFILE_FILES removed.
    See commit for detail.

Test Plan

  • python3 -m pytest tests/ — 167 passed (new: find_profile matrix, canonical-named workspace clean, ambiguity error, canonical missing error, repro canonical discovery; all legacy-name tests unchanged as fallback coverage)
  • Validator strict 0/0 against all three live _test repos (legacy names)
  • Live ambiguity check: adding profile_smoke.yaml next to env_vars.yaml → ERROR, exit 1

Heart gate

Continuation of today's #181 work under the same human-acknowledged pre-existing RED. Merge before the stage-2 workspace rename PRs.

Generated by the PyAutoLabs agent workflow.

🤖 Generated with Claude Code

… step 6, stage 1)

Every profile reader now accepts BOTH names, canonical preferred:
config/build/profile_smoke.yaml (legacy env_vars.yaml) and
profile_release.yaml (legacy env_vars_release.yaml). PROFILE_NAMES +
find_profile() live in env_config.py; run_python.py/run.py discovery,
validate_env_profiles (both-names = ambiguity ERROR; missing named by
canonical), and repro_command all resolve through them. Legacy names
are a migration-window fallback only — a stage-3 cleanup removes them
once every workspace has renamed.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pending-release Merged PR awaiting inclusion in the next release build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant