Skip to content

Say what replaced a retired machine.yml key - #18

Open
johnl-amd wants to merge 1 commit into
mainfrom
machine-yml-renamed-key-hint
Open

Say what replaced a retired machine.yml key#18
johnl-amd wants to merge 1 commit into
mainfrom
machine-yml-renamed-key-hint

Conversation

@johnl-amd

Copy link
Copy Markdown
Collaborator

A machine.yml still holding runner_type fails with:

error: .../evals/machine.yml: unknown key(s): runner_type.
A machine.yml holds only labels and os.

True, but it leaves the reader to work out on their own that the key used to be
valid and that labels took its place. Two files in amd/skills
(hyperloom-workload-optimizer and serving-llms-on-instinct) are in exactly
that state today, so this is the first thing anyone pointing skillscope at the
catalog sees.

Now:

error: .../evals/machine.yml: unknown key(s): runner_type.
A machine.yml holds only labels and os.
  `runner_type` is replaced by `labels`, which names the runner labels the work
  needs rather than a hardware class something else has to resolve. A skill that
  asked for `runner_type: instinct` now says, for example, `labels: [mi300x]`.

Why explain rather than accept

Accepting the old key as an alias would need a class-to-label mapping, which is
the second file this format deliberately does not have. machine_plan's own
docstring makes the case:

Labels rather than a class name, because a class name has to be defined
somewhere and that somewhere is a second file to keep in step.

So the old key is explained, not translated. Valid files behave exactly as
before; only the error path changes.

Keyed by a table rather than a special case, so the next rename is one entry.

A machine.yml still holding `runner_type` fails with "unknown key(s):
runner_type", which is true but leaves the reader to discover on their own
that the key used to be valid and that `labels` took its place. Two files
in amd/skills are in exactly that state.

The key cannot simply be accepted as an alias. `runner_type: instinct`
named a hardware class, and resolving a class onto runner labels needs the
second file this format dropped on purpose; `labels: [mi300x]` names the
labels directly. So the old key is explained rather than translated.

Keyed by a table so the next rename is a line rather than a special case.

Signed-off-by: John Lybeck <john.lybeck@amd.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