Files
jarca-ledger-mcp/docs/verification/issue-12-review-66/contract-preservation-inventory.json
T

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."
]
}