Bind report-intake verification to the actual attachment fields

The first exact-source suite reached an erroneous common evidence-field assumption: the bug form uses logs while the prerelease form uses evidence. Verify both real identities and their shared label without changing either form, requiring new diagnostics or weakening the optional-evidence assertion. Retain the original failed proof.

Change-source: pulse-maintainer
This commit is contained in:
pulse-triage[bot]
2026-10-04 17:59:41 +01:00
parent 37b271f4fc
commit f8c5e98819
2 changed files with 6 additions and 3 deletions
@@ -29,7 +29,9 @@ Both forms require local privacy review even for exports labelled sanitized,
and warn against attaching credentials, session cookies, secret URLs, private
host/network or personal details, configuration files and raw request exports.
Removing or pinning a documentation link must not remove those precautions or
turn evidence fields into mandatory live checks. The form parsing controls in
turn evidence fields into mandatory live checks. The existing optional
attachment fields are `logs` in the bug form and `evidence` in the prerelease
form; their common label is "Logs, screenshots, or diagnostics". The form parsing controls in
`scripts/release_control/release_promotion_policy_test.py` and the existing
community intake tests preserve this installed-version-safe behaviour; they
are source checks, not native diagnostic, guest-thaw or release acceptance.
@@ -1757,7 +1757,7 @@ class ReleasePromotionPolicyTest(unittest.TestCase):
self.assertNotIn("v6.0.0-rc.1", template)
def test_report_intake_safety_is_self_contained_for_installed_releases(self) -> None:
for name in ("bug_report.yml", "v6_rc_feedback.yml"):
for name, evidence_id in (("bug_report.yml", "logs"), ("v6_rc_feedback.yml", "evidence")):
with self.subTest(form=name):
template = read(f".github/ISSUE_TEMPLATE/{name}")
form = yaml.safe_load(template)
@@ -1787,7 +1787,8 @@ class ReleasePromotionPolicyTest(unittest.TestCase):
"full network exports",
):
self.assertIn(precaution, standalone)
evidence = next(field for field in form["body"] if field.get("id") == "evidence")
evidence = next(field for field in form["body"] if field.get("id") == evidence_id)
self.assertEqual(evidence["attributes"]["label"], "Logs, screenshots, or diagnostics")
self.assertFalse(evidence.get("validations", {}).get("required", False))
def test_demo_site_copy_points_at_current_release_packet_index(self) -> None: