When josh-proxy rejects a reverse sync push due to unmappable merge commits, fall back to linearizing: cherry-pick regular commits individually, squash only the merge commits via cherry-pick -m 1. Also adds a recommended Git workflow section to the guide explaining where cross-branch merges should happen (monorepo) vs feature work (subrepo), and expands troubleshooting for the "josh rejected push" error with root cause analysis and prevention advice. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
20 lines
1.3 KiB
Markdown
20 lines
1.3 KiB
Markdown
# Architecture Decision Records
|
|
|
|
This directory contains Architecture Decision Records (ADRs) for josh-sync. Each ADR documents a significant design decision, its context, the alternatives considered, and the rationale for the chosen approach.
|
|
|
|
## Index
|
|
|
|
| ADR | Title | Status |
|
|
|-----|-------|--------|
|
|
| [001](001-josh-proxy-for-sync.md) | Josh-proxy for bidirectional sync | Accepted |
|
|
| [002](002-state-on-orphan-branch.md) | State storage on orphan git branch | Accepted |
|
|
| [003](003-force-with-lease-forward.md) | Force-with-lease for forward sync | Accepted |
|
|
| [004](004-always-pr-reverse.md) | Always-PR policy for reverse sync | Accepted |
|
|
| [005](005-git-trailer-loop-prevention.md) | Git trailer for loop prevention | Accepted |
|
|
| [006](006-inline-exclude-filter.md) | Inline exclude in josh-proxy URL | Accepted |
|
|
| [007](007-reconciliation-merge.md) | Reconciliation merge for filter changes | Accepted |
|
|
| [008](008-first-parent-ordering.md) | First-parent ordering in reconciliation merges | Accepted |
|
|
| [009](009-tree-comparison-guard.md) | Tree comparison as sync skip guard | Accepted |
|
|
| [010](010-onboard-checkpoint-resume.md) | Onboard workflow with checkpoint/resume | Accepted |
|
|
| [011](011-linearize-fallback-reverse.md) | Linearize fallback for reverse sync | Accepted |
|