Complete report-form safety contract without rewriting reviewed history

Record the self-contained feedback precautions and a connected docs-link regression so the accepted intermediate form repair has an additive canonical completion. Preserve all final form text, reviewed identities and release gates.

Change-source: pulse-maintainer
This commit is contained in:
pulse-triage[bot]
2026-10-04 18:10:25 +01:00
parent 8003a4037b
commit 745ddc982a
2 changed files with 28 additions and 0 deletions
@@ -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.
@@ -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')