Skip to content

Record the linear history as ADR-0070 and align the documentation - #415

Merged
Reefact merged 2 commits into
mainfrom
claude/linear-repo-history-8776pd
Aug 10, 2026
Merged

Record the linear history as ADR-0070 and align the documentation#415
Reefact merged 2 commits into
mainfrom
claude/linear-repo-history-8776pd

Conversation

@Reefact

@Reefact Reefact commented Aug 10, 2026

Copy link
Copy Markdown
Owner

Summary

main's history was rewritten linear and the repository now lands pull requests by rebase. This records that decision as ADR-0070 — including why it is done now, before 1.0.0, and why it is not a precedent — and updates the four places whose text still justified history hygiene by the merge commit that no longer exists.

Type of change

  • Documentation

Changes

  • Add ADR-0070 (English canonical + French translation), Status: Proposed, and index it. It records:
    • both halves of the decision — pull requests land by rebase, and the existing 401 merge commits were removed once;
    • why now — the library has not reached 1.0.0, its only tag is lib-v0.1.0-preview.1, nothing published pins a commit identifier. That is the entire window in which rewriting main is cheap, and it closes at 1.0.0: once a stable version ships, SourceLink, release notes and consumers' pinned references make main's identifiers part of what the project promises;
    • that the rewrite is a one-time exception and not a precedent — from here main is append-only, and a later rewrite would need its own ADR;
    • the pinning method that kept content identical, and the verification that was run.
  • Restate the merge strategy where the repository describes it:
    • AGENTS.md — "Tidying history before a pull request";
    • CLAUDE.md — the same rule, inlined;
    • CONTRIBUTING.md — "A branch is disposable", and "Pull request titles", which claimed the title is read in the Merge pull request #NN commit GitHub no longer writes;
    • .claude/commands/tidy-history.md — the /tidy-history preamble.

The reasoning in those passages is unchanged and, if anything, stronger under rebase: every commit a branch carries still lands in main, with no merge commit to mark the boundary.

Testing

Documentation-only change; no code is touched, so the build and test commands were not run for this branch. What was verified instead:

  • no occurrence of the old wording survives outside the ADR base;
  • both commit headers pass tools/commit-lint/lint-commit-message.sh --ci;
  • the English and French records are structurally symmetric (4 top-level sections and 9 subsections each).

The verification behind the ADR's table — final tree identical, 362/362 first-parent trees identical, 965/965 commits and messages preserved, 974 tests passing — was run against the rewritten history before it was pushed, not on this branch.

Documentation

  • README / doc/ updated
  • French translation updated — ADR-0070 ships as .md (canonical) and .fr.md

Architecture decisions

  • New decision recorded — ADR drafted as Proposed: ADR-0070

Drafted as Proposed and left there: the rewrite was carried out on your instruction, but accepting an ADR is yours alone.

One point is deliberately not settled by this ADR and is called out in its Consequences: CONTRIBUTING.md ("Branches") still offers merging origin/main into a branch others may have based work on, which produces exactly the Merge branch 'main' into … commits the decision removes. That rule protects a collaborator's pulled work — a different concern from history shape — so it is flagged rather than rewritten.

Related issues

None.


🤖 Generated with Claude Code

https://claude.ai/code/session_01JLxWJd3puHgDCdQoSiCgZC

claude added 2 commits August 10, 2026 19:14
Records the switch to GitHub's rebase-merge strategy and the one-time
rewrite that removes the 401 merge commits from main, together with the
pinning method and the verification that content is preserved.
AGENTS.md, CLAUDE.md, CONTRIBUTING.md and the /tidy-history command all
justified pre-merge history hygiene by the merge commit that preserved a
branch. Name the mechanism that actually lands the commits, as proposed
by ADR-0070.
@Reefact
Reefact force-pushed the claude/linear-repo-history-8776pd branch from c463ebc to 6d5fb06 Compare August 10, 2026 19:15
@Reefact
Reefact merged commit 8dce605 into main Aug 10, 2026
24 checks passed
@Reefact
Reefact deleted the claude/linear-repo-history-8776pd branch August 10, 2026 19:31
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