Repository navigation
chore(terminology): adopt Granite Switch / Mellea glossary across Epic #929 and repo #1192
Description
Parent epic: #929
Background
The team agreed a canonical glossary for Granite Switch / Mellea naming. Most of Epic #929's issue bodies, code comments, and docs predate that agreement — they use "intrinsic", "intrinsic function", "activated-LoRA", and "Project Granite Switch" throughout.
The timing matters: Phase 1 starts as soon as #1157 and #1158 land. If we don't update the issue bodies first, contributors picking up those issues will carry old vocabulary into commits, PR descriptions, and reviews. Fixing it now costs one focused pass; fixing N stale artefacts later costs much more.
This issue is the pass.
What we're committing to the repo
The agreed glossary needs a durable home. This issue adds docs/glossary.md and sweeps AGENTS.md to use the preferred terms. No logic changes; no Python symbol renames (those are Phase 1 and Phase 4 work).
Glossary
Note on aLoRA wording: avoid "cache rewrite" — the right framing is cache hits/misses. aLoRA generates more cache hits (fewer new KV entries) than separate LoRA loads, which reduces latency and memory pressure. This benefit extends to non-adapter requests too, since less cache eviction means plain model generation can also hit the cache more often.
| Term | Meaning |
|---|---|
| Adapter function | A small, task-specific component trained to do one thing — score a document, detect a hallucination, rewrite a query — with a predictable, structured output. |
| Granite Switch | The architecture and toolchain that composes adapter functions into a single deployable Granite model, activating the right one at inference time. |
| Granite Libraries | Published collections of pre-trained adapter functions grouped by purpose: Core Library, RAG Library, Guardian Library. |
| Activated LoRA (aLoRA) | The technology that lets many adapter functions live in one model and activate on demand. Because adapters share the base model's KV cache, activations generate far more cache hits than separate LoRA loads — reducing latency and memory pressure even for non-adapter requests. |
| Capability | What an adapter function does (hallucination detection, answerability, etc.). Not a loose synonym for "feature". |
| Granite Switch composer | The toolchain that embeds adapter functions into a base Granite model and produces a single deployable checkpoint. |
| Checkpoint | A single, self-contained, ready-to-run model file produced by the composer. |
| Mellea | The open-source Python library for building reliable, testable LLM applications. Orchestrates Granite Switch adapter functions as ordinary typed Python calls. |
| Adapter | Informal shorthand for "adapter function", acceptable with engineers; prefer the full term in user-facing material. |
Terms to retire:
| Don't use | Use instead |
|---|---|
| "intrinsic" / "intrinsic function" | adapter function |
| "Project Granite Switch" | Granite Switch |
| "activated-LoRA" / "activated LoRA" | aLoRA |
| bare "adapter" in user-facing text | adapter function |
References to include in the glossary
The glossary should end with a short references section pointing to authoritative sources. At minimum:
- Granite Switch repo / docs — link TBD; confirm with the team
- aLoRA cache efficiency demo — visual illustration of the cache-hit argument
Code changes (PR)
The two Phase 0 PRs (#1157 / #1158) introduced new symbols under mellea/backends/adapters/ using "adapter" — that's already clean. The gap is prose: comments and docstrings in those files still say "intrinsic" in places.
Files to sweep:
mellea/backends/adapters/adapter.pymellea/backends/adapters/_core.pymellea/backends/adapters/catalog.pymellea/backends/adapters/capabilities.pymellea/stdlib/components/adapter_based_component/__init__.py
Constraint: do not rename Python symbols here (IntrinsicAdapter, call_intrinsic, mellea/stdlib/components/intrinsic/). Those renames live behind Phase 1 shims (#1136) and the Phase 4 cleanup (#1144).
Issue body edits (administrative, no PR)
Sweep the body of each open #929-series issue and replace deprecated terms with preferred ones. Old class names that appear as context ("today's IntrinsicAdapter") are fine to leave — they're describing what the issue is replacing, not advocating for the term. Update narrative prose only.
Issues:
- Epic: Fix Adapter Function Lifecycle & Consistency in Mellea #929 (epic — title and body)
- refactor(intrinsics): internal migration with shims — old classes inherit from Adapter; call_intrinsic rewritten (Epic #929 Phase 1) #1136 (Phase 1.A bottleneck)
- refactor(intrinsics): rag.py whole-file migration to new Adapter types (Epic #929 Phase 1) #1137 (Phase 1.B)
- refactor(intrinsics): requirement_check migration — loud schema-mismatch, no more silent False (Epic #929 Phase 1) #1138 (Phase 1.C)
- refactor(intrinsics): guardian.py whole-file migration + documents= kw-only + auto-context discovery (Epic #929 Phase 1) #1139 (Phase 1.D)
- refactor(backends): AdapterMixin verb rename/narrow + resolve_model_options + IntrinsicMetricsPlugin (Epic #929 Phase 2) #1140 (Phase 2.1)
- feat(backends): LocalFileBinding implements verbs (PEFT/aLoRA path) + from_catalog() (Epic #929 Phase 2) #1141 (Phase 2.2)
- feat(backends): EmbeddedBinding implements apply_activation (Granite Switch path); remove render_controls + set_request_adapter (Epic #929 Phase 2) #1142 (Phase 2.3)
- refactor(intrinsics): remove deprecation shims; rewrite intrinsics_and_adapters.md; write 3 tutorials (Epic #929 Phase 4) #1144 (Phase 4)
- refactor(intrinsics): decouple capability registry from catalog entry names (Epic #929 Phase 0) #1186 (Phase 0.3)
- design: adapter output-schema versioning (deferred from #929) #1111 (deferred versioning)
Identify any additional work
The sweep may turn up terminology that doesn't fit neatly into "prose comment" or "issue body" — e.g. a tutorial that needs updating, a label that should be renamed, a test fixture name that leaks the old vocabulary. Track any findings here as a comment rather than expanding this PR's scope. Items that are non-trivial become follow-up issues; obvious one-liners can go in the same PR.
Out of scope
- Renaming Python modules, classes, or public functions — Phase 1 (refactor(intrinsics): internal migration with shims — old classes inherit from Adapter; call_intrinsic rewritten (Epic #929 Phase 1) #1136) and Phase 4 (refactor(intrinsics): remove deprecation shims; rewrite intrinsics_and_adapters.md; write 3 tutorials (Epic #929 Phase 4) #1144)
- Renaming the
area/intrinsicslabel — separate housekeeping if the team wants it - Full rewrite of
intrinsics_and_adapters.md— that's refactor(intrinsics): remove deprecation shims; rewrite intrinsics_and_adapters.md; write 3 tutorials (Epic #929 Phase 4) #1144
Done when
-
docs/glossary.mdexists, renders, and includes authoritative links - aLoRA entry uses cache hit/miss framing, not "cache rewrite"
- AGENTS.md uses preferred terms throughout
- No "intrinsic" prose comments remain in the five Phase 0 files above
- All eleven listed issues have updated bodies
- Any extra findings are noted as comments here (or tracked as new issues)
- No Python symbols renamed; CI green
Activity
planetf1 commentedon Jun 3, 2026
fyi @nrfulton @jakelorocco @serjikibm
fixup! chore(terminology): adopt agreed Granite Switch / Mellea gloss…
planetf1 commentedon Jun 11, 2026
Done
PR #1256 is ready for review. Here's a full picture of what was changed beyond the PR itself.
PR #1256
Sweeps the five Phase 0 adapter files,
AGENTS.md, and the reference glossary to the agreed terms. Prose only — no symbol renames (those are Phase 1 #1136 / Phase 4 #1144).AdapterType.ALORAenum doc; user-facing PydanticField(description=...)strings updated. (_core.pywas already clean.)AGENTS.md— section renamed to "Working with Adapter Functions" (now## 14); also fixes a pre-existing duplicate## 13heading.aLoRAandGranite Switchentries rewritten to the agreed definitions;Intrinsicentry updated to point atAdapter functionas the preferred term, with a note that the Python symbol rename is deferred. Eight new entries added: Adapter function, Adapter, Capability, Checkpoint, Granite Libraries (Core/RAG/Guardian table), Granite Switch composer, Mellea, and a References section. All definitions cross-checked against the Granite Switch README and IBM activated-lora repo.Issue body updates
Updated the prose in issues where deprecated terms appeared outside of code spans:
AGENTS.md §13→§14(the section was renumbered by this PR)#1136, #1137, #1138, #1140, #1141 — all "intrinsic" references in those bodies are class names, function names, or file paths in code spans, so nothing to change. #1111 was already clean.
Comments on all 11 epic issues
Posted a terminology table (old → new + link to the glossary) on each of #929, #1136–#1142, #1144, #1186, #1111. Also left a scope note on #1144 flagging that
docs/dev/intrinsics_and_adapters.mdand the broader published doc pages belong in its rewrite scope.Left for later
docs/CONTRIBUTING_DOCS.md:201— stale anchor#alora-activated-lorashould become#aloraafter the heading rename. No page links it yet so no build impact, but worth a one-line fix before that doc is next edited.mellea/stdlib/components/intrinsic/package prose — deferred to refactor(intrinsics): remove deprecation shims; rewrite intrinsics_and_adapters.md; write 3 tutorials (Epic #929 Phase 4) #1144 as scoped.chore(terminology): adopt agreed Granite Switch / Mellea glossary (ge…
fixup! chore(terminology): adopt agreed Granite Switch / Mellea gloss…
chore(terminology): address review findings from generative-computing…
chore(terminology): adopt agreed Granite Switch / Mellea glossary (ge…
fixup! chore(terminology): adopt agreed Granite Switch / Mellea gloss…
chore(terminology): address review findings from generative-computing…
chore(terminology): adopt agreed Granite Switch / Mellea glossary (ge…
docs(intrinsics): replace remaining 'intrinsic' prose with 'adapter f…
chore(terminology): sweep docs/examples and Python docstrings (genera…
docs(intrinsics): replace remaining 'intrinsic' prose with 'adapter f…
refactor(intrinsics): migrate rag.py to new Adapter types (Epic gener…