Skip to content

hygiene(#268): pr-preservation drain-log for #85 (per-row-file ADR)#446

Merged
AceHack merged 1 commit intomainfrom
drain/85-pr-preservation-log
Apr 25, 2026
Merged

hygiene(#268): pr-preservation drain-log for #85 (per-row-file ADR)#446
AceHack merged 1 commit intomainfrom
drain/85-pr-preservation-log

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 25, 2026

Summary

Otto-268 backfill: drain-log for PR #85 (Round 44 batch 5: BACKLOG-per-row-file restructure ADR draft), covering 11 threads.

Per Otto-250 (PR review comments + responses + resolutions are high-quality training signals).

Coverage — high internal-consistency-fix density

  • FIX (10 IDs across 7 distinct fixes): PR-description vs ADR directory name (docs/backlog-rows/ vs docs/backlog/), id-vs-filename ambiguity (<id><slug>-<YYYY-MM-DD> stem), tier-scheme vs directory-tree gap (added declined/ folder), "never edit / hand-append" contradiction, tools/migrations/ claimed-as-existing (now "Proposed convention"), line-count drift (5,957 → ~6k with drift-tolerance note), trailing + continuation reformatted.
  • OTTO-279 SURFACE-CLASS: Aaron / Kenji / Iris / Bodhi names in ADR — docs/DECISIONS/ is history-class; ADRs preserve decision-maker provenance.

Pattern observations

  1. Internal-consistency-finding density on draft ADRs: 5 of 7 fixes were self-reference inconsistencies. Draft ADRs evolve their own internal references during authoring; reviewers catch accumulated drift.
  2. Otto-279 for ADRs as history-class: stripping decision-maker names would break the audit chain. Same pattern as aurora-archive and research surfaces — history-class carve-out is now mature-uniform across surfaces.
  3. Live-count vs frozen-count drift is its own findings class; fix template is order-of-magnitude approximation + explicit drift-tolerance note.
  4. Stale-merge-commit-on-PR-head: my rebase + force-push appeared to "lose content" against a stale merge-commit head (eae7a37); actually brought current main PLUS the fixes into linear history at d38e109. PR view sync took a few seconds.

Test plan

  • All 11 thread IDs preserved verbatim with severity + outcome class.
  • Drain-log shape matches existing docs/pr-preservation/*-drain-log.md template.

🤖 Generated with Claude Code

…cture ADR)

Otto-268 backfill: drain-log for PR #85 covering 11 threads (10 IDs +
1 dup) across 7 distinct fixes + 1 surface-class. High density of
internal-consistency findings (5 of 7) — tier-scheme vs directory-tree
gap, id-vs-filename inconsistency, "never edit / hand-append"
contradiction, `tools/migrations/` claimed-vs-actual, PR-description
vs ADR directory name.

Per Otto-250 training-signal discipline. Pattern observations capture
four load-bearing patterns:
1. Internal-consistency-finding density on draft ADRs (5 of 7) —
   draft ADRs evolve their own self-references during authoring;
   reviewers catch the accumulated inconsistencies.
2. Otto-279 surface-class for ADRs as history-class preserved
   provenance — stripping decision-maker names would break audit
   chain.
3. Live-count vs frozen-count drift as findings class; fix template
   is order-of-magnitude approximation + drift-tolerance note.
4. Stale-merge-commit-on-PR-head needed force-push reconciliation;
   rebase + force-push sometimes appears to "lose content" against
   a stale merge-commit head, actually fixes content equivalence.
@AceHack AceHack enabled auto-merge (squash) April 25, 2026 07:04
Copilot AI review requested due to automatic review settings April 25, 2026 07:04
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a PR-preservation drain log for PR #85 to archive review threads, responses, and resolutions per the Otto-250 training-signal/audit-trail discipline.

Changes:

  • Added docs/pr-preservation/85-drain-log.md documenting outcomes for 11 review threads on PR #85.
  • Captured summary “pattern observations” and final resolution metadata for the drained PR.

Comment thread docs/pr-preservation/85-drain-log.md
Comment thread docs/pr-preservation/85-drain-log.md
AceHack added a commit that referenced this pull request Apr 25, 2026
…iated shape divergence (#467)

* hygiene(_patterns.md): document Otto-250-canonical vs Otto-268-abbreviated drain-log shape divergence

Multiple post-merge reviewer threads on the Otto-268-wave drain-logs
(#437-#465) flagged that the abbreviated inline shape doesn't match
the canonical Otto-250 multi-section format used in older drain-logs
(#108, #247, etc.). The findings are correct: the shapes ARE
different, and the abbreviated shape compresses verbatim
reviewer/reply text into short prose.

Documenting both shapes here in `_patterns.md` as a known
divergence + three maintainer-decision options:

(a) Rewrite — high churn, highest faithfulness.
(b) Accept divergence — document both as valid.
(c) Hybrid — canonical for substantive logs (math / crypto /
    algorithms / ADRs); abbreviated for low-substance.

Until maintainer decides, drain-runners writing future logs default
to canonical; existing Otto-268-wave logs stay abbreviated with
this known-divergence pointer.

This is the right place for the documentation per the synthesis-
over-history surface-class declaration: `_patterns.md` reflects
current corpus state including known shape divergences, separate
from the per-log records.

Composes with the per-PR drain-log threads currently flagging the
shape-conformance gap on #437/#441/#442/#444/#445/#446/#447/#449/
#460/#461/#464/#466 — those threads can now reply with a one-line
pointer to this section instead of repeating the maintainer-
decision-pending framing.

* hygiene(#467): fix 4 Copilot findings on shape-divergence section

Four Copilot catches converging on the same root cause: the
shape-divergence section was citing drain-log PR-numbers
(#437-#465) when readers will look for #437-drain-log.md etc.
and not find them — drain-log FILE numbers reference the
PRESERVED PR (e.g., #421/#422/#423), not the drain-log PR
itself. The current file corpus ends at #434.

Fixes:

- :374 + :394 — drop the misleading "#437-#465" PR-range citation;
  cite the actual in-repo abbreviated-shape examples
  (#421/#422/#423) by file path; drop the unsupported "22+"
  numeric estimate in favour of "the 2026-04-25 backfill wave".
- :380 — abbreviated template snippet now matches what the
  in-repo abbreviated logs actually use: `Finding:` bullet
  included, `Thread ID:` and `:LINE` placeholders dropped
  (those are canonical-shape fields, not abbreviated-shape).
  Reader can now copy/paste the template accurately.
- :388 — soften the "Substance is preserved" overstatement to
  the objective claim: key metadata (reviewer/severity/outcome/
  commit) is preserved; verbatim original-comment + verbatim
  reply text are NOT preserved; multi-section structure +
  file:line locator + Thread ID are also typically omitted.

The fixes are themselves Class A (count-vs-list cardinality on
"#437-#465" range) + truth-drift on a freshly-landed doc —
appropriate self-application of the discipline this section
documents.
@AceHack AceHack merged commit a5f938e into main Apr 25, 2026
25 of 26 checks passed
@AceHack AceHack deleted the drain/85-pr-preservation-log branch April 25, 2026 08:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants