chore: license AGPL-3.0, zero clippy warnings, CHANGELOG through v1.6.0

License:
- Replace MIT/Apache-2.0 with AGPL-3.0-only across all crates and npm packages
- Replace LICENSE file with official GNU AGPL-3.0 text
- Remove LICENSE-MIT and LICENSE-APACHE

Code quality:
- Fix all 44 clippy warnings (zero remaining)
- Collapsible if statements, redundant closures, manual Option::map
- Remove duplicate #[allow(dead_code)] attributes in deprecated tool modules
- Add Default impl for CognitiveEngine
- Replace manual sort_by with sort_by_key

Documentation:
- Update CHANGELOG with v1.2.0, v1.3.0, v1.5.0, v1.6.0 entries
- Update README with v1.6.0 highlights and accurate stats (52K lines, 1100+ tests)
- Add fastembed-rs/ to .gitignore
- Add fastembed-rs to workspace exclude

1115 tests passing, zero warnings, RUSTFLAGS="-Dwarnings" clean.
This commit is contained in:
Sam Valladares 2026-02-19 03:00:39 -06:00
parent 495a88331f
commit ce520bb246
40 changed files with 953 additions and 424 deletions

View file

@ -11,6 +11,7 @@ use std::path::PathBuf;
use tempfile::TempDir;
/// Helper to create IngestInput (works around non_exhaustive)
#[allow(clippy::too_many_arguments)]
fn make_ingest_input(
content: String,
node_type: String,
@ -21,16 +22,16 @@ fn make_ingest_input(
valid_from: Option<chrono::DateTime<chrono::Utc>>,
valid_until: Option<chrono::DateTime<chrono::Utc>>,
) -> vestige_core::IngestInput {
let mut input = vestige_core::IngestInput::default();
input.content = content;
input.node_type = node_type;
input.tags = tags;
input.sentiment_score = sentiment_score;
input.sentiment_magnitude = sentiment_magnitude;
input.source = source;
input.valid_from = valid_from;
input.valid_until = valid_until;
input
vestige_core::IngestInput {
content,
node_type,
tags,
sentiment_score,
sentiment_magnitude,
source,
valid_from,
valid_until,
}
}
/// Manager for test databases

View file

@ -9,6 +9,7 @@ use chrono::{DateTime, Duration, Utc};
use vestige_core::{KnowledgeNode, Rating, Storage};
/// Helper to create IngestInput (works around non_exhaustive)
#[allow(clippy::too_many_arguments)]
fn make_ingest_input(
content: String,
node_type: String,
@ -19,16 +20,16 @@ fn make_ingest_input(
valid_from: Option<DateTime<Utc>>,
valid_until: Option<DateTime<Utc>>,
) -> vestige_core::IngestInput {
let mut input = vestige_core::IngestInput::default();
input.content = content;
input.node_type = node_type;
input.tags = tags;
input.sentiment_score = sentiment_score;
input.sentiment_magnitude = sentiment_magnitude;
input.source = source;
input.valid_from = valid_from;
input.valid_until = valid_until;
input
vestige_core::IngestInput {
content,
node_type,
tags,
sentiment_score,
sentiment_magnitude,
source,
valid_from,
valid_until,
}
}
/// Factory for creating test data