From 05dca5e7b1f266125bcdf2c3e144a22e7af0b28c Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 13 May 2026 10:04:38 +0000 Subject: [PATCH 1/2] Tighten prose-PR envelope to forbid root-level housekeeping changes PR #41 hit prose-guard because the routine bundled a useful .gitignore addition (ignore transient sweep_report*.json files) into a prose PR. PR #37 hit the same shape of issue with a misnamed sweep summary file. Both cases were the routine doing legitimate infrastructure tidying during the audit and silently bundling it into the prose envelope, where prose-guard correctly rejects it. Add an explicit "stay strictly within the prose envelope" bullet to step 5.2's Prose PR section that names the categories of root-level housekeeping the routine has slipped on (.gitignore, scripts/, .github/, repo-registry.yml, component-registry.yml) and points to "Suggested follow-ups" in the PR body as the place to surface infrastructure cleanups the audit noticed. A human can then open a separate PR for those. No rule duplication; this just makes the existing prose-guard envelope explicit at the moment the routine is assembling the PR. https://claude.ai/code/session_019cz1M7pXuXFQykMZxfdXHm --- planning/routines/upstream-sweep-prompt.md | 1 + 1 file changed, 1 insertion(+) diff --git a/planning/routines/upstream-sweep-prompt.md b/planning/routines/upstream-sweep-prompt.md index 2956a3c..1d9ef58 100644 --- a/planning/routines/upstream-sweep-prompt.md +++ b/planning/routines/upstream-sweep-prompt.md @@ -243,6 +243,7 @@ Do **not** include a PR backlink in any issue body at this stage — the PR URL - For case 5, every deferred record's `` block is byte-identical to base (deferred-record self-check from step 4.9). - If the audit found skill impact, include the `SKILL.md` body edit and the linked patch release set per step 4.8. - The two PRs never touch the same page. +- **Stay strictly within the prose envelope**: no `.gitignore`, no `scripts/`, no `.github/`, no `repo-registry.yml`, no `component-registry.yml`, no other root-level housekeeping files. If the audit observes a useful infrastructure cleanup (a missing gitignore entry, a stale workflow, a registry tidy-up), do **not** include it in the prose PR. Mention it in a "Suggested follow-ups" section of the PR body so a human can open a separate PR for it. `prose-guard` rejects any change outside the envelope. - PR body: see `## PR body format` below; include a "Why prose changed" section, and (for case 5) a "Deferred ambiguous records" section with the issue numbers captured in 5.1. **5.3 Post backlinks last**. For each manual-review issue captured in 5.1 (newly-created **and** reused), comment with the matching prose-PR URL: From 997a3ca9998b6c9f650a82263ca665de8dfda066 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 13 May 2026 10:04:38 +0000 Subject: [PATCH 2/2] Ignore transient sweep_report*.json scanner output scripts/sweep_poll.py writes sweep_report.json on every routine run and on local validation invocations. The file is never part of the docs assembly, and committing it would just create noise in PR diffs. This addition was first attempted as part of prose PR #41 (commit 73114b6), which the prose-guard correctly rejected because the prose envelope does not cover root-level housekeeping. Landing it as a standalone change here. https://claude.ai/code/session_019cz1M7pXuXFQykMZxfdXHm --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index 01ecee4..769556b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,8 @@ # docs assembly. __pycache__/ *.pyc + +# Transient sweep scanner output. Written by the daily routine and by +# local invocations of scripts/sweep_poll.py; never part of the docs +# assembly. +sweep_report*.json