test(migration): expect explicit empty schema eight definition catalog

This commit is contained in:
2026-09-24 20:51:56 -07:00
parent 0c07f53ab5
commit 7b06b8ea1b
2 changed files with 21 additions and 1 deletions
+3
View File
@@ -25,7 +25,10 @@ fn frozen_v4_json_and_source_preserve_the_old_review_without_fabricating_semanti
assert_eq!(baseline.sa.name, "Approved SA name"); assert_eq!(baseline.sa.name, "Approved SA name");
assert_ne!(baseline.oa.name, decoded.project.named(trace.oa)); assert_ne!(baseline.oa.name, decoded.project.named(trace.oa));
let mut expected: Value = serde_json::from_slice(JSON4).unwrap(); let mut expected: Value = serde_json::from_slice(JSON4).unwrap();
assert!(expected.as_object().unwrap().get("definitions").is_none());
assert!(decoded.project.definitions.is_empty());
expected["schema_version"] = oa_core::SCHEMA_VERSION.into(); expected["schema_version"] = oa_core::SCHEMA_VERSION.into();
expected["definitions"] = serde_json::json!({});
assert_eq!(serde_json::to_value(&decoded.project).unwrap(), expected); assert_eq!(serde_json::to_value(&decoded.project).unwrap(), expected);
let reopened = let reopened =
persistence::decode_with_report(&serde_json::to_vec(&decoded.project).unwrap()) persistence::decode_with_report(&serde_json::to_vec(&decoded.project).unwrap())
@@ -82,4 +82,21 @@ Only these evaluator names change:
public_ordinary_source8_preserves_typed_refusal_and_numeric_controls public_ordinary_source8_preserves_typed_refusal_and_numeric_controls
Production is unchanged. The initial 294-pass/four-failure evidence remains; Production is unchanged. The initial 294-pass/four-failure evidence remains;
repaired outcomes require the parent's next runtime gate. repaired outcomes require the parent's next runtime gate.
## Historical schema4 JSON oracle reconciliation
Parent's r3_migration integration run at 0c07f53a completed four passes and one
failure. Its whole-JSON expected value updated only schema_version, omitting the
current definitions catalog. Project4::into_current already creates an empty
catalog; Project serialization requires that schema8 field. The test now asserts
that the original fixture has no definitions field and the decoded catalog is
empty, then adds exactly definitions:{} to expected JSON. Complete JSON equality,
historical baseline/prose checks, migration and reopen checks remain unchanged.
No production behavior or frozen historical fixture changes.
The parent reports completed core, six other selected integration gates and both
actual CLI operations at 0c07f53a; that evidence remains reusable because this
repair changes only the affected integration evaluator and this note. The initial
r3 four-pass/one-failure record remains preserved. Parent owns the affected r3
inventory/rerun and all-target Clippy/format checks on the repaired pin; this note
does not claim their outcome or repeat unrelated runtime acceptance.