ainl-semantic-tagger 0.1.9

Deterministic semantic tagging and normalization for AINL / ArmaraOS agents
Documentation

ainl-semantic-tagger

⚠️ Alpha — API subject to change

Deterministic, heuristic-only semantic tagging and normalization for AINL / ArmaraOS agents.

What it does

Converts raw text and turn metadata into canonical SemanticTag values covering topics, user preferences, tone, correction phrases, and tool names. No ML, no embeddings, no graph-store dependency.

Crate relationships

  • Sits below ainl-graph-extractor — provides tagging primitives
  • Used by ainl-graph-extractor to normalize episode signals
  • Independent of ainl-memory — no storage dependency

Usage

use ainl_semantic_tagger::tag_turn;

let tags = tag_turn(
    "Please keep it short; we're debugging Rust async.",
    Some("Here is a concise reply."),
    &["file_read".into(), "shell_exec".into()],
);

for tag in tags {
    println!("{} ({})", tag.to_canonical_string(), tag.confidence);
}

License

MIT OR Apache-2.0