| 1 |
{ |
| 2 |
"$schema": "~/.claude/templates/quality-gates/shared/storage-contracts.schema.json", |
| 3 |
"contracts": [ |
| 4 |
{ |
| 5 |
"id": "abj404-settings", |
| 6 |
"description": "Primary wp_options settings blob for plugin behavior and admin preferences.", |
| 7 |
"schema": "storage-schemas/abj404-settings.schema.json", |
| 8 |
"storageKey": "abj404_settings", |
| 9 |
"currentVersion": 2, |
| 10 |
"writer": { |
| 11 |
"file": "includes/PluginLogic.php", |
| 12 |
"test": "tests/WpOptionsStorageContractTest.php" |
| 13 |
}, |
| 14 |
"reader": { |
| 15 |
"file": "includes/PluginLogic.php", |
| 16 |
"test": "tests/WpOptionsStorageContractTest.php" |
| 17 |
}, |
| 18 |
"migrations": { |
| 19 |
"1-to-2": "../includes/storage-migrations/abj404-settings-v1-to-v2.php" |
| 20 |
}, |
| 21 |
"fixtures": { |
| 22 |
"valid": [ |
| 23 |
"storage-fixtures/abj404-settings.valid-current.json" |
| 24 |
], |
| 25 |
"invalid": [ |
| 26 |
"storage-fixtures/abj404-settings.invalid-bad-default-redirect.json" |
| 27 |
], |
| 28 |
"legacy": [ |
| 29 |
"storage-fixtures/abj404-settings.legacy-v1.json", |
| 30 |
"storage-fixtures/abj404-settings.legacy-unversioned.json" |
| 31 |
] |
| 32 |
} |
| 33 |
}, |
| 34 |
{ |
| 35 |
"id": "abj404-uninstall-preferences", |
| 36 |
"description": "Deactivation/uninstall preferences saved before WordPress deletes the plugin.", |
| 37 |
"schema": "storage-schemas/abj404-uninstall-preferences.schema.json", |
| 38 |
"storageKey": "abj404_uninstall_preferences", |
| 39 |
"currentVersion": 2, |
| 40 |
"writer": { |
| 41 |
"file": "includes/UninstallModal.php", |
| 42 |
"test": "tests/WpOptionsStorageContractTest.php" |
| 43 |
}, |
| 44 |
"reader": { |
| 45 |
"file": "uninstall.php", |
| 46 |
"test": "tests/WpOptionsStorageContractTest.php" |
| 47 |
}, |
| 48 |
"migrations": { |
| 49 |
"1-to-2": "../includes/storage-migrations/abj404-uninstall-preferences-v1-to-v2.php" |
| 50 |
}, |
| 51 |
"fixtures": { |
| 52 |
"valid": [ |
| 53 |
"storage-fixtures/abj404-uninstall-preferences.valid-current.json" |
| 54 |
], |
| 55 |
"invalid": [ |
| 56 |
"storage-fixtures/abj404-uninstall-preferences.invalid-bad-feedback-email.json" |
| 57 |
], |
| 58 |
"legacy": [ |
| 59 |
"storage-fixtures/abj404-uninstall-preferences.legacy-v1.json", |
| 60 |
"storage-fixtures/abj404-uninstall-preferences.legacy-unversioned.json" |
| 61 |
] |
| 62 |
} |
| 63 |
} |
| 64 |
] |
| 65 |
} |
| 66 |
|