Skip to main content

Crate packset_core

Crate packset_core 

Source
Expand description

Store-agnostic packset algorithms.

Host merge is a named fuse then diversify then decay panel. Default fuse is Borda (k - position). Reciprocal Rank Fusion, CombSUM / CombMNZ, Dowdall, Kemeny-Young, Schulze, Copeland, and Tideman are named fuse voters. Default diversify is MMR. A Determinantal Point Process is a named diversify voter. Default decay is off. The host reads PACKSET_FUSE, PACKSET_DIVERSIFY, and PACKSET_DECAY. Clients do not choose this.

Re-exports§

pub use atom::entity_jaccard;
pub use atom::is_due;
pub use atom::is_live;
pub use atom::is_live_at;
pub use atom::SCHEMA as ATOM_SCHEMA;
pub use borda::borda_merge;
pub use borda::Ballot;
pub use cheap::allowed as cheap_allowed;
pub use cheap::CheapJob;
pub use cheap::CheapWhen;
pub use clock::utcnow;
pub use comb::combmnz_merge;
pub use comb::combsum_merge;
pub use comb::ScoredBallot;
pub use copeland::copeland_merge;
pub use decay::temporal_decay;
pub use dowdall::dowdall_merge;
pub use dpp::dpp_rerank;
pub use extract::admit_seat_write;
pub use extract::claim_from_user;
pub use extract::is_tool_dump;
pub use extract::SeatWrite;
pub use identity::normalize_remote;
pub use identity::workspace_slug;
pub use kemeny::kemeny_merge;
pub use mab::ProtocolReport;
pub use mab::COMPETENCIES as MAB_COMPETENCIES;
pub use mmr::mmr_rerank;
pub use panel::Decay;
pub use panel::Diversify;
pub use panel::Fuse;
pub use panel::Panel;
pub use panel::UnknownVoter;
pub use paper_a::PaperATable;
pub use paper_a::BENCHES as PAPER_A_BENCHES;
pub use prose::refuse as prose_refuse;
pub use prose::ProseError;
pub use prose::Role as ProseRole;
pub use record::validate;
pub use record::AtomError;
pub use rrf::rrf_merge;
pub use schulze::schulze_merge;
pub use tideman::ranked_pairs_merge;

Modules§

atom
inside.atom/v1 predicates. No I/O.
bm25
BM25, BM25+ and Dirichlet query likelihood over the pack, with postings. A document carrying no query term scores nothing, so the index answers from the postings rather than a scan.
borda
Host Borda: score = k - position. First place is k-1.
cheap
Cheap-model schedule. Extract runs on compaction only.
clock
UTC timestamps in the one format the store round-trips.
comb
CombSUM / CombMNZ score fusion.
copeland
Copeland: pairwise wins minus losses.
decay
Temporal decay. Evergreen sources are exempt.
dowdall
Dowdall (Nauru) Borda: score = 1, 1/2, 1/3, …, 1/k.
dpp
Determinantal Point Process after fuse.
extract
Explicit keep-lines and hard filters. Deterministic; no model on write.
identity
Workspace naming: same human, same repository, every client.
island
Memory islands: the natural clusters of the link graph, and the set a cue activates. A persona is a view over everything; an island is what one task touches.
kemeny
Kemeny-Young: ranking of minimum total Kendall-tau to the ballots.
mab
MemoryAgentBench write protocol: Remember / Prefer / Accept only.
mmr
Maximal marginal relevance after fuse.
panel
Named fuse then diversify then decay. Host picks the sequence.
paper_a
Paper A fixture benches: LongMemEval_S, MemoryAgentBench, MemConflict.
prose
Hemingway-style complexity for the seat pack.
recall
Include-first recall over live atoms.
record
One atom as it sits in the store: a JSON object. Fields this module does not model round-trip untouched.
rrf
Reciprocal Rank Fusion: score(i) = sum_b 1 / (k0 + rank_b(i)).
schulze
Schulze beatpath: pairwise counts, then strongest paths.
search
Scoring over a pack: the prefix-and-edit scan, BM25 over the index, the learned ballots, and the fuse that merges them.
set_name
Set names: a scope on the seat store.
tideman
Tideman ranked pairs: lock pairwise victories by margin.