Skip to content

docs(examples): aLora/102_example.py fails with AloraActivationError (stembolts io.yaml has no instruction) #1790

Open

Description

@planetf1

Following the aLoRA README, docs/examples/aLora/102_example.py fails on main with:

AloraActivationError: aLoRA 'stembolts' (base model 'granite-3.3-2b-instruct', qualified
name 'stembolts_alora') never activates for this call: its declared invocation sequence
(49152, 1553, 81, 34775, 49153) is absent from the assembled prompt

The example is skip-marked, so CI never runs it. It is the only example of a custom, non-catalog aLoRA adapter, and docs/examples/aLora/README.md currently describes stembolts_intrinsic.py (the helper it drives) as a runnable version.

Cause

The stembolts io.yaml has no instruction: field. The aLoRA's alora_invocation_tokens decode to <|start_of_role|>check_requirement<|end_of_role|>, which therefore never reaches the prompt, so the activation guard added in #1684 correctly refuses to run it. Catalog adapters get the sequence from an instruction: field in their io.yaml (for example requirement-check).

docs/examples/aLora/io.yaml is byte-identical to the one on nfulton/stembolts, and m alora train defaults its invocation prompt to the same <|start_of_role|>check_requirement<|end_of_role|>. So the README's own train and upload flow produces an adapter that cannot activate.

Evidence

With this added to a copy of the cached io.yaml:

instruction: |-
  <|start_of_role|>check_requirement<|end_of_role|>

the example runs and returns {"defective_part": "Piston Rings", "diag_likelihood": 0.9, ...}. Without it, the error above, identically at the PR #1765 head and on current main (972fa64).

Reproduce (needs uv sync --extra hf):

printf 'The engine sputters at high RPM after sitting overnight.\nOil seepage around the piston rings.\n' \
  | uv run python docs/examples/aLora/102_example.py

To decide

  • Add the instruction: field to docs/examples/aLora/io.yaml and the README flow.
  • Update nfulton/stembolts on Hugging Face (not something a PR here can change).
  • Whether m alora train or m alora upload --io-yaml should add the field automatically, so users training their own adapter don't hit this.
  • Whether the example should be un-skipped or covered by a test once it works.

Found while reviewing #1765.

Activity

  1. added
    bugSomething isn't working
    documentationImprovements or additions to documentation
    area/adapter-functionsGranite adapter functions: framework and adaptiers including RAG, Guardian, Core
    on Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/adapter-functionsGranite adapter functions: framework and adaptiers including RAG, Guardian, CorebugSomething isn't workingdocumentationImprovements or additions to documentation

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions