diff --git a/docs/release-control/v6/internal/subsystems/deployment-installability.md b/docs/release-control/v6/internal/subsystems/deployment-installability.md index 4fca768883..83d2641569 100644 --- a/docs/release-control/v6/internal/subsystems/deployment-installability.md +++ b/docs/release-control/v6/internal/subsystems/deployment-installability.md @@ -6614,3 +6614,21 @@ unbound to filesystem-observation code that it actually executes. The closure test enumerates all repository-local dependencies of the install-test binary, collector and helper and reports every missing package together. No qualification gate, source exclusion or production permission is relaxed by this correction. + +## Self-contained release feedback precautions (4 October 2026) + +Bug and RC feedback forms carry their collection and attachment precautions +inline. A reporter must not need an unpublished branch-tip or candidate-commit +documentation link to learn that Run Diagnostics makes live API/guest-agent +requests, that an already displayed result can be exported without another +run, or that attachments require local privacy review. Collection during +backups, freeze/thaw or an unresponsive-host incident is not an intake +requirement. Removing a documentation link must retain these precautions and +all existing report fields; it does not change release readiness or installed +recovery acceptance. + +Verification: the report-form regression in +`frontend-modern/src/utils/__tests__/docsLinks.test.ts` checks both forms for +self-contained safety/privacy text and rejects candidate or branch-tip docs +links. The issue-triage tests and repository documentation drift guard retain +their independent intake and runtime-link checks. diff --git a/frontend-modern/src/utils/__tests__/docsLinks.test.ts b/frontend-modern/src/utils/__tests__/docsLinks.test.ts index 3532d0b933..475b33c37d 100644 --- a/frontend-modern/src/utils/__tests__/docsLinks.test.ts +++ b/frontend-modern/src/utils/__tests__/docsLinks.test.ts @@ -62,6 +62,16 @@ function getRuntimeSourceFiles(dir: string): string[] { } describe('docsLinks', () => { + it('keeps report collection precautions usable without unpublished documentation links', () => { + for (const form of ['bug_report.yml', 'v6_rc_feedback.yml']) { + const source = readFileSync(path.join(repoRoot, '.github', 'ISSUE_TEMPLATE', form), 'utf8'); + expect(source).toContain('do not run it during backups, freeze/thaw or an unresponsive-host incident'); + expect(source).toContain('downloads that result without running checks again'); + expect(source).toContain('Review files and screenshots locally before posting'); + expect(source).not.toMatch(/https:\/\/github\.com\/rcourtman\/Pulse\/blob\/[^\s)]+\/docs\//); + } + }); + const probeGuides = () => [ readFileSync(path.join(repoRoot, 'docs', 'CONFIGURATION.md'), 'utf8')