fix(simulation): address PR #142 review — 11 issues resolved

Rust fixes: D-218 Backwater complexity (moved to Full arm), priority
queue dispatch gated on thread saturation, panic→soft-fail in
name_index, duplicated LCG unified into atlas::rng module, misleading
Safety comment removed, D-210 SubBiomeVariant deferred to #948.

Schema/data fixes: atlas_city_positions table (D-211 persistence),
settlement_class column on atlas_city_names, per-body transaction
boundaries in import_province_boundaries, import_city_names.py added
to GENERATOR_SOURCES, Python perf documented.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-03 15:30:50 +02:00
co-authored by Claude Opus 4.6
parent 1a2bc58e27
commit 332b9404be
13 changed files with 239 additions and 101 deletions
+8 -2
View File
@@ -76,11 +76,17 @@ impl SystemNameIndex {
let (patterns, ids): (Vec<String>, Vec<String>) = entries.into_iter().unzip();
let automaton = AhoCorasickBuilder::new()
let automaton = match AhoCorasickBuilder::new()
.ascii_case_insensitive(true)
.match_kind(MatchKind::LeftmostFirst)
.build(&patterns)
.unwrap_or_else(|e| panic!("SystemNameIndex: automaton build failed: {e}"));
{
Ok(a) => a,
Err(e) => {
tracing::error!(error = %e, "SystemNameIndex: automaton build failed — index unavailable");
return None;
}
};
tracing::info!(pattern_count = ids.len(), "SystemNameIndex built");
Some(Self { automaton, ids })