Align Recovery verification-policy regression coverage

Keep the seven remaining settings shells under framing proof, and assert transfer-specific membership for Recovery, its dialogs and its flow. Confirm dedicated proofs match and generic settings architecture cannot satisfy transfer safety. This repairs PR 3249's reproducible governance-test failure without changing the guard or weakening the registry.

Change-source: pulse-maintainer
This commit is contained in:
pulse-triage[bot]
2026-10-25 10:02:45 +00:00
parent 8030d2f0b5
commit bc27f34b70
@@ -2997,6 +2997,46 @@ None yet.
self.assertEqual(requirements[0]["exact_files"], [proof])
self.assertFalse(requirements[0]["allow_same_subsystem_tests"])
def test_configuration_transfer_surfaces_use_their_own_behavioral_proofs(self):
rule = next(rule for rule in load_subsystem_rules() if rule["id"] == "frontend-primitives")
proofs = [
"frontend-modern/src/components/Settings/__tests__/BackupTransferDialogs.test.tsx",
"frontend-modern/src/components/Settings/__tests__/RecoverySettingsPanel.test.tsx",
"frontend-modern/src/components/Settings/__tests__/useBackupTransferFlow.test.ts",
]
for runtime in [
"frontend-modern/src/components/Settings/BackupTransferDialogs.tsx",
"frontend-modern/src/components/Settings/RecoverySettingsPanel.tsx",
"frontend-modern/src/components/Settings/useBackupTransferFlow.ts",
]:
with self.subTest(runtime=runtime):
requirements = build_verification_requirements(rule, [runtime])
self.assertEqual(
requirements,
[{
"id": "settings-configuration-transfer",
"label": "configuration transfer target and dispatch proof",
"touched_runtime_files": [runtime],
"allow_same_subsystem_tests": False,
"test_prefixes": [],
"exact_files": proofs,
}],
)
for proof in proofs:
self.assertEqual(
staged_verification_files_for_requirement(rule, requirements[0], [proof]),
[proof],
)
# Generic settings framing must not stand in for transfer safety.
self.assertEqual(
staged_verification_files_for_requirement(
rule,
requirements[0],
["frontend-modern/src/components/Settings/__tests__/settingsArchitecture.test.ts"],
),
[],
)
def test_frontend_primitive_remaining_settings_shells_use_specific_guardrails(self):
rule = next(rule for rule in load_subsystem_rules() if rule["id"] == "frontend-primitives")
runtime_files = [
@@ -3005,7 +3045,6 @@ None yet.
"frontend-modern/src/components/Settings/AuditLogPanel.tsx",
"frontend-modern/src/components/Settings/AuditWebhookPanel.tsx",
"frontend-modern/src/components/Settings/GeneralSettingsPanel.tsx",
"frontend-modern/src/components/Settings/RecoverySettingsPanel.tsx",
"frontend-modern/src/components/Settings/SecurityOverviewPanel.tsx",
"frontend-modern/src/components/Settings/SSOProvidersPanel.tsx",
]