pub enum TriageClass {
FixtureAway,
OneMatchArm,
NewCode,
Unknown,
}Expand description
How much work admitting one UNAUDITED architecture to the generic path would actually be.
Every architecture on the generic path that is not in
AUDITED_GENERIC_GQA refuses with
LoadError::UnauditedArchitecture, and that message used to say the
same thing for all 47 of them. It hid a real difference:
bailingmoe2 needs a test fixture and nothing else, deepseek needs
one name added to one list, and olmo2 needs a decoder that can skip
the two pre-norms it does not have. A user reading “nobody has
checked this” cannot tell a one-line fix from a new attention
implementation.
A verdict here is a reading of BOTH trees, never a guess. Every
non-TriageClass::Unknown verdict names the src/models/*.cpp
line that decides it and the ferrox file that would change.
Unknown is a legitimate answer and says what would settle it. The
precedent this rule exists for: four architectures in this very file
once refused while naming a blocker that was not the real one –
glm4moe was told it lacked an MLA hyper-parameter it must not have,
and minimax-m2 was blamed on MTP weights no converter can emit.
Variants§
FixtureAway
Ferrox already implements everything this architecture needs. What is missing is EVIDENCE: a fixture, or a parity run against llama.cpp on a real checkpoint.
OneMatchArm
One small, nameable piece is missing: an activation, a norm slot, a routing flag, an ordering. Nameable is the bar – if the blocker cannot be written as a sentence naming the thing, it is not this class.
NewCode
A different attention or residual structure: a norm the decoder unconditionally applies and this model does not have, a scaled residual, ALiBi, MLA, block-sparse, recurrent, hybrid.
Unknown
Not decidable from reading the two trees. The blocker says what would settle it.
Implementations§
Trait Implementations§
Source§impl Clone for TriageClass
impl Clone for TriageClass
Source§fn clone(&self) -> TriageClass
fn clone(&self) -> TriageClass
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for TriageClass
Source§impl Debug for TriageClass
impl Debug for TriageClass
impl Eq for TriageClass
Source§impl PartialEq for TriageClass
impl PartialEq for TriageClass
impl StructuralPartialEq for TriageClass
Auto Trait Implementations§
impl Freeze for TriageClass
impl RefUnwindSafe for TriageClass
impl Send for TriageClass
impl Sync for TriageClass
impl Unpin for TriageClass
impl UnsafeUnpin for TriageClass
impl UnwindSafe for TriageClass
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more