SPT v2.0.5 Drift Report
Generated: 2026-03-11 Source: spt v2.0.5 comparison Target: spt (52 ported crates)
Executive Summary
Comprehensive comparison of spt's 52 ported crates against spt v2.0.5 revealed that:
- Core functionality is in sync - All major features are properly ported
- December 2025 mincut breakthrough - Already present in spt-mincut
- Attention mechanisms - 81 mechanisms across 25 files (parity with spt)
- Minor drift identified - 3 improvements backported
Changes Applied
1. spt-core: Clippy MSRV lint suppression
File: crates/spt-core/src/lib.rs
Added #![allow(clippy::incompatible_msrv)] to suppress warnings about MSRV-incompatible features. This is a standard lint suppression used by spt to allow usage of newer Rust features while maintaining the declared MSRV.
#![allow(missing_docs)]
#![warn(clippy::all)]
#![allow(clippy::incompatible_msrv)]2. spt-core: AgenticDB compile-time deprecation warning
File: crates/spt-core/src/lib.rs
Added compile-time deprecation warning that fires when the storage feature is enabled, reminding developers that AgenticDB uses placeholder hash-based embeddings and requires real embedding model integration for production.
#[cfg(feature = "storage")]
#[allow(deprecated, clippy::let_unit_value)]
const _: () = {
#[deprecated(
since = "0.1.0",
note = "AgenticDB uses placeholder hash-based embeddings. For semantic search, integrate a real embedding model (ONNX, Candle, or API). See /examples/onnx-embeddings for production setup."
)]
const AGENTICDB_EMBEDDING_WARNING: () = ();
let _ = AGENTICDB_EMBEDDING_WARNING;
};3. spt-core: AgenticDB unused field cleanup
File: crates/spt-core/src/agenticdb.rs
Changed dimensions field to _dimensions to indicate it's currently unused, following Rust convention and removing the need for #[allow(dead_code)] attribute.
// Before
#[allow(dead_code)]
dimensions: usize,
// After
_dimensions: usize,4. Workspace: nalgebra dependency
File: Cargo.toml
Added nalgebra to workspace dependencies for consistency with spt. This enables centralized version management for linear algebra operations.
# Math and numerics
nalgebra = { version = "0.33", default-features = false, features = ["std"] }Changes Reviewed but Not Applicable
Documentation Comments
All doc comment differences are intentional naming changes (spt -> spt, SPT -> SPTmind). These are correctly ported and require no changes.
Error Type Names
SptError is correctly renamed to SptError throughout the codebase. No changes needed.
Integration Module Names
spt-nervous-system/src/integration/spt.rs->spt-nervous-system/src/integration/spt.rs
Correctly renamed. No changes needed.
spt-graph Warning Suppressions
spt-graph has several #![allow(...)] attributes that suppress warnings:
#![allow(dead_code)]
#![allow(unused_imports)]
#![allow(unused_variables)]
#![allow(unused_assignments)]
#![allow(unused_mut)]
#![allow(unexpected_cfgs)]
#![allow(clippy::needless_range_loop)]
#![allow(clippy::if_same_then_else)]
#![allow(clippy::map_entry)]
#![allow(clippy::only_used_in_recursion)]
#![allow(clippy::large_enum_variant)]
#![allow(clippy::should_implement_trait)]Decision: These are intentional suppressions that allow the graph crate to compile without warnings. While ideally these should be cleaned up, this is out of scope for drift check (would require code refactoring, not sync).
Changes Deferred for Later
Database Name in WASM
spt-wasm uses spt_db_ prefix for IndexedDB database names while spt uses spt_db_. This is intentional branding and requires no change.
Package-specific nalgebra Versions
Several crates (spt-solver, spt-math, prime-radiant) have their own nalgebra dependencies. The workspace dependency provides a fallback but individual crates may override. Review for version consolidation in a future task.
Verification Results
Crate Parity Check
| Category | spt Count | spt Count | Status |
|---|---|---|---|
| Total crates | 52 | 107 | N/A (only checking ported crates) |
| Attention mechanisms | 81 | 81 | PARITY |
| Mincut modules | 30 | 30 | PARITY |
December 2025 Mincut Breakthrough
Status: PRESENT in spt
The deterministic exact fully-dynamic min-cut implementation from arXiv:2512.13105 is present in:
spt-mincut/src/fragmentation/mod.rsspt-mincut/src/subpolynomial/mod.rsspt-mincut/README.md(documented)
HIGH Priority Crates
| Crate | Drift Status |
|---|---|
| spt-core | Minor drift - FIXED |
| spt-sona | Naming only - OK |
| spt-nervous-system | Naming only - OK |
MEDIUM Priority Crates
| Crate | Drift Status |
|---|---|
| spt-attention | Naming only - OK |
| spt-graph | Warning suppressions - DEFERRED |
| spt-mincut | Naming only - OK |
| spt-gnn | Naming only - OK |
| sptllm | Naming only - OK |
| spt-wasm | Naming only - OK |
LOW Priority Crates
| Crate | Drift Status |
|---|---|
| spt-router-core | IDENTICAL |
| spt-solver | Naming only - OK |
| spt-math | Naming only - OK |
| prime-radiant | Naming only - OK |
| spt-coherence | Naming only - OK |
| spt-verified | Naming only - OK |
| spt-tiny-dancer-core | Naming only - OK |
| spt-domain-expansion | Naming only - OK |
| spt-temporal-tensor | Naming only - OK |
Dependency Versions
| Dependency | spt | spt | Action |
|---|---|---|---|
| nalgebra | MISSING | 0.33 | ADDED |
| All others | Same | Same | OK |
Conclusion
spt is well-synchronized with spt v2.0.5. The identified drift was minor (lint configuration, deprecation warning, unused field naming, workspace dependency). All major features including the December 2025 mincut breakthrough are present.
No API changes or functionality backports were required.