Skip to main content

ferrox_models/
t5_engine.rs

1//! T5 encoder-decoder engine stub.
2//!
3//! Fail-closed at load. Will own the encoder pass + cross-attention
4//! decode loop when implemented.
5
6use thiserror::Error;
7
8#[derive(Debug, Error)]
9#[error("T5 encoder-decoder engine not implemented for architecture {arch}")]
10pub struct T5Unavailable {
11    pub arch: String,
12}
13
14pub struct T5Engine {
15    pub arch: String,
16}
17
18impl T5Engine {
19    pub fn reject(arch: &str) -> Result<(), T5Unavailable> {
20        Err(T5Unavailable {
21            arch: arch.to_string(),
22        })
23    }
24}
25
26#[cfg(test)]
27mod tests {
28    use super::*;
29
30    #[test]
31    fn reject_is_fail_closed() {
32        assert!(T5Engine::reject("t5").is_err());
33    }
34}