Skip to main content

Crate axmg

Crate axmg 

Source
Expand description

§axmg-kernel (shelf)

Детерминированный движок ассоциативной памяти на базе Merkle DAG.

Библиотека предоставляет высокоуровневый фасад Axmg для встраивания локальной памяти в агентные системы, микросервисы и приложения без использования векторных баз данных и эмбеддингов.

§Быстрый старт

use axmg::Axmg;

let mut memory = Axmg::in_memory();
let report = memory.ingest("Rust and Merkle DAG memory").unwrap();
assert_eq!(report.revolution, 1);

let recall = memory.recall("Merkle", Some(3));
println!("Ассоциации: {}", recall.context_string);

Для глубокого руководства по интеграции см. docs/GUIDE.md.

Re-exports§

pub use death::DeathLog;
pub use death::FocusConcept;
pub use death::FocusEvent;
pub use death::FocusSet;
pub use death::MarkOutcome;
pub use death::WeightCutOutcome;
pub use engine::Axmg;
pub use engine::AxmgBuilder;
pub use engine::AxmgConfig;
pub use engine::AxmgError;
pub use engine::EngineStats;
pub use engine::IngestReport;
pub use engine::RecallResponse;
pub use engine::TimelineEntry;
pub use merge::Sequence;
pub use persist::load;
pub use persist::load_all;
pub use persist::save;
pub use persist::save_all;
pub use persist::LoadError;
pub use recall::recall;
pub use recall::recall_from_csr;
pub use recall::RecallCandidate;
pub use recall::RecallConfig;
pub use recall::RecallResult;
pub use recognizer::StreamingRecognizer;
pub use store::Store;
pub use store::TokenId;
pub use surprise::classify_surprise;
pub use surprise::compute_surprise_score;
pub use surprise::s_growth;
pub use surprise::s_static;
pub use surprise::s_static_focused;
pub use surprise::surprise;
pub use surprise::SurpriseReport;
pub use surprise::SurpriseVerdict;
pub use wheel::TurnReport;
pub use wheel::WheelState;
pub use wheel::REVOLUTION_CHUNK_BYTES;

Modules§

context
Шаг 8 (A1, план 3): экстракторы контекста для перевёрнутой библиотеки.
cooc
Шаг 9 (A2, план 3): накопление со-встречаемости (COO) и запекание в CSR.
death
Шаг 12 (план 3): смерть как generational GC — mark без sweep.
engine
Axmg — Высокоуровневый фасад и универсальный движок памяти
inverted
Шаг 8 (A1, план 3): стор связей перевёрнутой библиотеки.
merge
Шаг 2: SoA рабочей последовательности (Vec<u32> id + параллельный Vec<u32> levels — не лезть в Store за уровнем на каждом шаге горячего цикла).
persist
Шаг 6: персистентность полки на redb.
port
Шаг 14 — Порт и Умеренность (XIV / Moderation)
ppmi
Шаг 11 (A3, план 3): PPMI — фильтр значимости связи.
recall
recall — Ассоциативное вспоминание по Merkle DAG и PPMI-графу
recognizer
StreamingRecognizer — Потоковое распознавание на базе Merkle DAG
rng
Детерминированный PRNG (Р2, план 3): фиксированный seed → стабильный, воспроизводимый вывод. SplitMix64 — минимальный, хорошо изученный генератор (используется как seed-источник внутри самого rand). Не тянем крейт rand ради шаффл-контроля (A4) и будущих блужданий (шаг 10): rand’s StdRng явно не гарантирует стабильность вывода между релизами крейта — золотой fixture (Р2) не может стоять на generator’е, которому позволено тихо поменяться под ногами.
second_shelf
Шаг 8 (план 3, Правка 1, Р-А4-1/Р-А4-4): по-поколенная аккумуляция контекста для перевёрнутой библиотеки — реальная и нуль-контрольная (переставленная) со-встречаемость за один прогон каскада.
store
Шаг 1: интернирование id через u32-таблицу.
surprise
Шаг 15 (план 3): surprise через MDL — две метрики рядом, вход произвольный текст, полка не растёт по-настоящему ни от одной.
walks
Шаг 10 (A5, план 3, Правка 4 — ОКОНЧАТЕЛЬНАЯ конструкция, Р-А5-4): offline random-walk mining через walk-PPMI с эмпирическим вычитанием структурного фона.
wheel
Шаг 12 (план 3): Колесо — оборот как единица времени системы.

Constants§

BIRTH_THRESHOLD
Порог рождения пары (T в python-эталоне). Значение унаследовано из принятой спеки этапа 1 (arch/этап 1/axmv2.py) — не варьировать тихо.

Functions§

read_and_touch
Шаг 1 первого прохода: прочитать корпус, интернировать байты уровня 0, потрогать счётчик каждого вхождения. Прямой порт step1_read_and_touch из python-эталона.