summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.agent/preferences.md7
1 files changed, 6 insertions, 1 deletions
diff --git a/.agent/preferences.md b/.agent/preferences.md
index c0c76da..f703998 100644
--- a/.agent/preferences.md
+++ b/.agent/preferences.md
@@ -12,7 +12,12 @@ Living record of user preferences for the Nav project.
- **Pragmatic about implementation quality.** One-off solutions and temporary hacks are acceptable — just flag them clearly and ensure they get cleaned up in a follow-up.
- **Debug logging:** The in-app debug log (`NavLogger`) is the primary debugging tool. ADB (`adb logcat`) is occasionally available but should not be assumed. Log anything useful to `NavLogger`, not just to Android's `Log`.
-## 2. Repository Conventions — NON-NEGOTIABLE
+## 2. Merge Policy — NON-NEGOTIABLE
+- **Merge to `main` after every complete unit of work.** Nothing counts until it lands on `main` — that's when the user can test it. Don't batch up multiple tasks across a session and merge at the end. Each self-contained piece (a feature, a bug fix, a redesign) merges to `main` as soon as it's working and tested.
+- Feature branches are short-lived and merge-forward aggressively. Push the branch, then immediately merge it to `main` and push `main`.
+- **Never leave a session with completed work sitting on a feature branch.**
+
+## 3. Repository Conventions — NON-NEGOTIABLE
- **Default branch is `main`.** Always has been, always will be.
- When the user says "main", "master", or "the default branch" they all mean `main`.
- **CI/CD (`.github/workflows/android.yml`) triggers on `main`.** Firebase App Distribution only fires on pushes to `main`. Never change the trigger branch without explicit instruction.