diff --git a/CHANGELOG.md b/CHANGELOG.md index ecd31f9..a3bea2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.6.2 - 2026-09-22 + +- Retain the PSL normalization fact in compact catalogs and exercise the review + queue against the compact runtime rather than only the full writer projection. + ## 0.6.1 - 2026-09-22 - Accept complete Common Crawl domain-rank releases containing provider rows diff --git a/Cargo.lock b/Cargo.lock index 1ec3b30..506a25f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -78,14 +78,14 @@ checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" [[package]] name = "argand-atomic" -version = "0.6.1" +version = "0.6.2" dependencies = [ "tempfile", ] [[package]] name = "argand-site-registry" -version = "0.6.1" +version = "0.6.2" dependencies = [ "anyhow", "argand-atomic", diff --git a/Cargo.toml b/Cargo.toml index a4f7ba4..6f02cbe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ resolver = "3" members = ["crates/argand-atomic", "crates/argand-site-registry"] [workspace.package] -version = "0.6.1" +version = "0.6.2" authors = ["Nic Weyand"] edition = "2024" license = "AGPL-3.0-or-later" diff --git a/crates/argand-site-registry/src/audit.rs b/crates/argand-site-registry/src/audit.rs index a9d270f..392b308 100644 --- a/crates/argand-site-registry/src/audit.rs +++ b/crates/argand-site-registry/src/audit.rs @@ -616,7 +616,8 @@ pub(crate) fn compact_runtime(db: &Connection) -> anyhow::Result<()> { INSERT OR IGNORE INTO runtime_facts SELECT fact FROM names; INSERT OR IGNORE INTO runtime_facts SELECT fact FROM popularity; INSERT OR IGNORE INTO runtime_facts SELECT fact FROM rejected; - INSERT OR IGNORE INTO runtime_facts SELECT item.value FROM edges,json_each(edges.facts) item;", + INSERT OR IGNORE INTO runtime_facts SELECT item.value FROM edges,json_each(edges.facts) item; + INSERT OR IGNORE INTO runtime_facts SELECT id FROM facts WHERE predicate='psl';", )?; db.execute( "DELETE FROM facts WHERE NOT EXISTS(SELECT 1 FROM runtime_facts r WHERE r.id=facts.id)", diff --git a/crates/argand-site-registry/tests/v05.rs b/crates/argand-site-registry/tests/v05.rs index 793e231..023abee 100644 --- a/crates/argand-site-registry/tests/v05.rs +++ b/crates/argand-site-registry/tests/v05.rs @@ -267,6 +267,9 @@ fn compact_generation_keeps_runtime_results_and_authenticates_cold_history() -> serde_json::to_value(full.lookup("Facebook", 20)?.candidates)?, serde_json::to_value(compact.lookup("Facebook", 20)?.candidates)? ); + let compact_queue = + argand_site_registry::queue::review_queue(&compact, common::timestamp()?, 100, 1_000)?; + assert!(!compact_queue.items.is_empty()); assert!( std::fs::metadata(compact_path.join("registry.sqlite"))?.len() < std::fs::metadata(root.path().join("full/registry.sqlite"))?.len() diff --git a/docs/CONSUMERS.md b/docs/CONSUMERS.md index 1433fdb..b17c1f4 100644 --- a/docs/CONSUMERS.md +++ b/docs/CONSUMERS.md @@ -34,7 +34,7 @@ source attribution and application-specific malware/content policy. ## Current contracts -Code version 0.6.1 uses writer schema 5 and `argand.site-rules/v4`. +Code version 0.6.2 uses writer schema 5 and `argand.site-rules/v4`. New compact `COMPLETE.json` files use `argand.site-registry/v3` and bind: - authenticated `registry.sqlite` bytes; diff --git a/docs/VALIDATION.md b/docs/VALIDATION.md index 65e9b7b..309ad3f 100644 --- a/docs/VALIDATION.md +++ b/docs/VALIDATION.md @@ -7,6 +7,8 @@ Patch release 0.6.1 additionally replays the real provider-shaped accounting but is not retained as a DNS target. The following valid `com.facebook` row is retained at its original `row:2` coordinate. Schema and numeric corruption continue to fail closed. +The compact-generation lifecycle now also executes the review queue, proving its +PSL normalization input remains in the runtime catalog. The evaluation contract was written before implementation. The new Common Crawl domain-rank integration passed five default integration tests; its sixth test is