60 lines
2.4 KiB
JSON
60 lines
2.4 KiB
JSON
{
|
|
"schema": "contract-preservation-inventory/v1",
|
|
"issue": 12,
|
|
"pull_request": 13,
|
|
"review_id": 66,
|
|
"reviewed_head": "3bf9b77c6cc167a4e2a8706271bdf8e848d2c4fe",
|
|
"source_revision": "31d1c11dcf397ddf6a23e98d6d9062f96bab0194",
|
|
"contracts": [
|
|
{
|
|
"contract": "last_balance is an exact integer or NULL-compatible unknown value; boolean and floating-point coercion are invalid while zero and signed integer text remain valid",
|
|
"status": "preserved",
|
|
"preserved_by": [
|
|
"test_update_rejects_bool_or_float_dated_balance_without_mutation",
|
|
"test_update_rejects_empty_undated_balance_without_mutation",
|
|
"test_update_preserves_zero_and_signed_integer_balance_semantics"
|
|
]
|
|
},
|
|
{
|
|
"contract": "invalid account updates return validation_error before changing account cache or valuation history",
|
|
"status": "preserved",
|
|
"preserved_by": [
|
|
"test_update_rejects_bool_or_float_dated_balance_without_mutation",
|
|
"test_update_rejects_empty_undated_balance_without_mutation"
|
|
]
|
|
},
|
|
{
|
|
"contract": "a historical dated candidate is append-only and cannot roll back a newer current cache",
|
|
"status": "preserved",
|
|
"preserved_by": [
|
|
"test_historical_account_update_preserves_current_and_adds_one_candidate",
|
|
"test_late_import_current_balance_is_authoritative_by_evidence_basis_date"
|
|
]
|
|
},
|
|
{
|
|
"contract": "unknown basis remains distinct from last_synced_at and an undated valid balance write creates no dated candidate",
|
|
"status": "preserved",
|
|
"preserved_by": [
|
|
"test_account_write_sync_timestamp_does_not_infer_balance_basis_or_candidate",
|
|
"test_unknown_legacy_balance_basis_is_not_reported_as_valuation_date"
|
|
]
|
|
},
|
|
{
|
|
"contract": "Review 65 create validation, actual zero, valid import recovery, public consumer, valuation selection, snapshot replay, read-only, migration, privacy, authentication, and menu semantics remain intact",
|
|
"status": "preserved",
|
|
"preserved_by": [
|
|
"review66-focused-regressions",
|
|
"review66-full-suite",
|
|
"review66-ruff",
|
|
"review66-compileall",
|
|
"review66-diff-check"
|
|
]
|
|
}
|
|
],
|
|
"missing": 0,
|
|
"ambiguous": 0,
|
|
"limitations": [
|
|
"Four fixture-dependent PDF tests remain skipped because private KB Bank and Toss Securities fixtures are unavailable."
|
|
]
|
|
}
|