-
Notifications
You must be signed in to change notification settings - Fork 1
hygiene(#268+): pr-preservation _patterns.md — synthesis index #448
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,372 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # PR-preservation drain patterns — recurring findings across the corpus | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| **Status:** synthesis index, growing as new drain-logs land. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| **Audience:** future drain-runners, reviewers calibrating severity, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| authors avoiding common findings at write-time. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| **Source corpus:** all `docs/pr-preservation/*-drain-log.md` files | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| (currently 27+ logs across 2026-04-22 through 2026-04-25). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This file indexes the recurring patterns across the per-PR drain | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| logs so the training signal Otto-250 identified is queryable rather | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| than scattered. Per-PR logs preserve verbatim reviewer text + outcome | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| class + resolution path; this file abstracts over them to surface | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| the patterns that compound across PRs. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Outcome-class taxonomy (4 stable + 1 mixed) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The drain corpus has converged on four stable outcome classes plus | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| combinations: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1. **FIX** — apply the suggested change; reviewer's finding is correct | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| and the fix improves the artifact. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2. **STALE-RESOLVED-BY-REALITY** — the doc claim was inaccurate when | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| the review was filed but is accurate now (forward-mirror landed, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| adjacent PR fixed it, current main has the cited file). Reply | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pattern: verify-with-evidence + resolve, not re-fix. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3. **OTTO-279 SURFACE-CLASS** — the finding applies a rule that has a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| carve-out for the relevant surface (research / decisions / | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| round-history / aurora-archive / pr-preservation are history-class | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| surfaces; first-name attribution allowed there). Reply is a one- | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| paragraph stamp citing Otto-279 + surface class + provenance-vs- | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| policy distinction. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4. **DEFERRED-TO-MAINTAINER** — the finding is correct against the | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| stated rule but applying it would lose meaning (e.g., bootstrap/ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| docs documenting the maintainer's personal framework where by-name | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| attribution is faithful representation, not arbitrary labeling). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Reply acknowledges + surfaces tension + escalates without blocking | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| the merge gate. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5. **VERBATIM-PRESERVATION DECLINED (Otto-227)** — the finding sits | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| inside verbatim-preserved ferry content (Amara absorb / external | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import). Editing would violate Otto-227 signal-in-signal-out | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| discipline. Brittleness valid as future-implementation work, not | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| absorb-edit work. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mixed outcomes (FIX + STALE-RESOLVED-BY-REALITY for combined | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| findings, etc.) are also common. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| --- | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ## Recurring findings classes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ### Inline-code-span line-wrap rendering bug | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Observed on: #191, #195, #219 (4 threads alone), #423. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This index presents Useful? React with 👍 / 👎.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Observed on: #191, #195, #219 (4 threads alone), #423. | |
| Observed across multiple drain-log threads in this corpus. |
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: The "Observed on" citations here reference #219, but there is no corresponding docs/pr-preservation/219-drain-log.md in the current corpus. Please update to existing drain-log IDs (or add the missing log) so this pattern remains traceable.
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: This pattern cites #219/#231 as sources, but there are no corresponding 219-drain-log.md or 231-drain-log.md files in docs/pr-preservation/. Please update the citations to existing drain logs so readers can verify the verifiability-gap examples.
| Observed on: #219 (OpenAI help-center / DBSP paper / provenance- | |
| semiring paper without resolvable identifiers), #231 (parity-matrix | |
| claims without release-notes citations). | |
| Observed on: corpus examples where OpenAI help-center / DBSP paper / | |
| provenance-semiring paper citations lacked resolvable identifiers, | |
| and parity-matrix claims lacked release-notes citations. |
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: This section cites #85, but there is no docs/pr-preservation/85-drain-log.md in the repository. Please replace with a citation to an existing drain log (or add the missing file), otherwise readers can't verify the claim.
| Observed on: #85 (5 of 7 fixes were self-reference inconsistencies: | |
| tier-scheme-vs-tree, id-vs-filename, contradiction, claimed-as- | |
| existing, PR-description-vs-ADR). | |
| Observed on: recurring draft-ADR review findings where self- | |
| references drift during authoring (tier-scheme-vs-tree, id-vs- | |
| filename, contradiction, claimed-as-existing, PR-description-vs- | |
| ADR). |
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: This section cites #231, but docs/pr-preservation/231-drain-log.md is not present in the current corpus. Please update the citation to an existing drain log (or add the missing log) so the index stays self-verifying.
| Observed on: #231 (AGENTS.md-read test relying on values repeated in | |
| same doc — false-positive readiness path). | |
| Observed in corpus: AGENTS.md-read test relying on values repeated in | |
| same doc — false-positive readiness path. |
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: This section cites #377/#135 as evidence, but neither 377-drain-log.md nor 135-drain-log.md exists under docs/pr-preservation/ in the current repo. Please update to in-repo drain-log IDs (or add the missing logs) so the stale-resolved density claims are auditable.
| Observed on: #377 (38% stale-resolved density), #135 (66% stale- | |
| resolved-by-reality on memory citations). | |
| Observed on: multiple research-document drain logs in the current | |
| corpus where review comments went stale as adjacent PRs changed main | |
| during the review window. |
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: This section cites #435, but there is no docs/pr-preservation/435-drain-log.md in the current corpus. Please update to an existing drain log (or add the missing file) so the "self-induced cascade" example remains traceable.
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: The cascade examples cite #135/#231/#432/#435, but those drain-log files aren't present in docs/pr-preservation/ in this repo. Please update these citations to existing drain logs so the wave-count arithmetic can be verified from the corpus.
| Observed on: #135 (10 + 4 = 14 across 2 waves), #231 (2 + 1 + 3 + 2 = | |
| 9 across 4 waves), #432 (7 first-wave only, no cascade), #435 (2 + | |
| 1 = 3 across 2 waves). | |
| Pattern: every commit on a PR triggers a fresh Codex/Copilot review | |
| wave. Wave-by-wave the findings shift class: structural → rendering | |
| → internal-consistency → version-currency. The cascade is a property | |
| of the merge-trigger surface, not per-PR oddity. | |
| 4 of 7 cascade-PRs in the 2026-04-25 session followed wave-1 + | |
| wave-2 cascade pattern. | |
| ## Post-merge cascade triggering version-currency on the doc | |
| Observed on: #231 (Wave 4 reclassifications — TodoWrite Sept 15 2025; | |
| Hooks `rust-v0.117.0` March 26 2026). | |
| Observed in the checked-in drain-log corpus as a recurring multi-wave | |
| review pattern rather than a single-PR oddity. | |
| Pattern: every commit on a PR triggers a fresh Codex/Copilot review | |
| wave. Wave-by-wave the findings shift class: structural → rendering | |
| → internal-consistency → version-currency. The cascade is a property | |
| of the merge-trigger surface, not per-PR oddity. | |
| The repeated shape matters more than any one example: later waves | |
| often convert “new finding” volume into narrower follow-up passes on | |
| consistency, rendering, and version currency. | |
| ## Post-merge cascade triggering version-currency on the doc | |
| Observed in later review waves within the checked-in corpus, where | |
| earlier structural edits expose stale dates, version strings, and | |
| other currency-sensitive doc details. |
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: This section cites #231 as the concrete source, but there is no docs/pr-preservation/231-drain-log.md in the current directory listing. Please either add the referenced drain log or update the example to one that exists, otherwise the version-currency pattern can't be checked.
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: The taxonomy classifies docs/pr-preservation/** as a history-class surface (first-name attribution permitted). Later in this file you describe _patterns.md as "current-state operational substrate"; those two statements imply different policy. Please reconcile the classification for this file (or clarify the exception explicitly).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Resolve surface-class contradiction for this file
The taxonomy classifies docs/pr-preservation/** as history-class, but this line reclassifies _patterns.md as current-state operational substrate; those classes carry different review rules (e.g., attribution/role-ref handling), so leaving both claims creates contradictory guidance and inconsistent review outcomes for future edits. Please pick one class or explicitly mark this file as a tension-surface exception.
Useful? React with 👍 / 👎.
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: Calling _patterns.md "current-state operational substrate" conflicts with the earlier statement that docs/pr-preservation/** is a history-class surface. If this file is meant to be operational/current-state, consider moving it to an appropriate current-state doc location or explicitly carving it out from the history-surface list.
| This file is itself current-state operational substrate: it should | |
| reflect the corpus state, not the historical sequence in which | |
| patterns were discovered. | |
| This file is a maintained synthesis over the preserved corpus: it | |
| should stay aligned with the current set of drain logs, not narrate | |
| the historical sequence in which patterns were discovered. |
Copilot
AI
Apr 25, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2: The reference memory/feedback_pr_reviews_are_training_signals_*.md is a glob and isn't directly navigable. Since there appears to be a single canonical Otto-250 memory file in-tree, consider linking the exact filename (or enumerating the concrete set) so this index stays click-through verifiable.
| - `memory/feedback_pr_reviews_are_training_signals_*.md` — Otto-250 | |
| - `memory/feedback_pr_reviews_are_training_signals.md` — Otto-250 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P1: The stated corpus size/date range looks inconsistent with the actual
docs/pr-preservation/*-drain-log.mdinventory. In-tree there are 26*-drain-log.mdfiles (plus a141-ci-fix-log.mdthat doesn't match the glob), and the drain-log IDs span beyond the 2026-04-22..2026-04-25 window. Please update the count/date claim (or define what exactly is being counted).