Skip to content

Commit 0dba5fd

Browse files
rashmigottipatici-robot
authored andcommitted
UPSTREAM: <carry>: addressing some more review comments
Signed-off-by: Rashmi Gottipati <rgottipa@redhat.com>
1 parent 5ef1f5b commit 0dba5fd

File tree

1 file changed

+17
-7
lines changed

1 file changed

+17
-7
lines changed

openshift/AGENTS.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ This repository (`openshift/operator-framework-operator-controller`) is OpenShif
1111
**Upstream Repository:** https://github.com/operator-framework/operator-controller
1212

1313
**Key Constraints for AI Agents:**
14-
- This fork is **rebased regularly** against upstream (with each upstream release)
14+
- This fork is **synced daily** against upstream by automated tooling
1515
- Changes must use **strict commit message conventions** enforced by CI
1616
- **Minimize divergence** from upstream - every downstream change creates maintenance burden
1717
- **DO NOT create `UPSTREAM: <PR>:` backport commits** - automated tooling handles upstream sync
@@ -28,42 +28,52 @@ This repository (`openshift/operator-framework-operator-controller`) is OpenShif
2828

2929
**Use for:** OpenShift-specific changes to non-generated content that must persist across rebases.
3030

31+
**Important:** 99% of carry changes should be in the `openshift/` directory. Code outside `openshift/` should generally be modified upstream and synced downstream.
32+
3133
**Examples:**
3234
```
3335
UPSTREAM: <carry>: Add OpenShift-specific test for disconnected environments
3436
UPSTREAM: <carry>: Update OCP catalogs to v4.21
3537
UPSTREAM: <carry>: Use busybox/httpd to simulate probes
3638
```
3739

38-
**Important:** Creates ongoing maintenance burden. Only use when change cannot go upstream.
40+
**Note:** Creates ongoing maintenance burden. Only use when change cannot go upstream.
3941

4042
### `UPSTREAM: <drop>:`
4143

42-
**Use for:** Temporary changes needed ONLY to resolve current failures. Dropped during rebases.
44+
**Use for:** Temporary commits that will be dropped on the next upstream sync.
4345

44-
**When to use:** ONLY when absolutely necessary (e.g., merge conflicts that cannot be resolved by local regeneration).
46+
**When to use:**
47+
- Pulling down an upstream fix early before the next scheduled sync
48+
- Resolving merge conflicts that cannot be fixed by local regeneration
49+
- Changes that are easier to recreate than rebase/cherry-pick (e.g., removing upstream configuration)
4550

4651
**Examples:**
4752
```
4853
UPSTREAM: <drop>: make manifests
4954
UPSTREAM: <drop>: go mod tidy
55+
UPSTREAM: <drop>: Remove upstream GitHub configuration
5056
```
5157

52-
**DO NOT use routinely.** Only use to unblock critical failures.
58+
**Note:** These commits are dropped during the next sync, so they're temporary by design.
5359

5460
### `UPSTREAM: <PR>:`
5561

5662
**AI AGENTS: DO NOT CREATE THESE COMMITS.**
5763

58-
Automated tooling handles upstream sync. Manual backports are for exceptional maintainer-only cases.
64+
This prefix is **ALMOST NEVER USED** on the main branch because it creates conflicts on the next upstream sync. The bumper tool automatically synchronizes upstream changes during scheduled rebases.
65+
66+
**For urgent fixes:** Use `UPSTREAM: <drop>:` instead to pull the fix early - it will be dropped on the next sync when the real upstream commit comes down.
67+
68+
**Note:** Cherry-picking with this prefix may be done on release branches, but since most work is on main, this is extremely uncommon.
5969

6070
---
6171

6272
## Decision Tree for Changes
6373

6474
| Change Type | Action | Commit Prefix | AI Agent Action |
6575
|------------|--------|--------------|----------------|
66-
| General bug fix | Fix upstream first | None (tooling syncs) | **DO NOT create PR** - direct user to upstream |
76+
| General bug fix | Fix upstream, then let tooling synchronize | None | **DO NOT create PR** - direct user to upstream |
6777
| OpenShift-specific test | Downstream only | `UPSTREAM: <carry>:` | Create in `openshift/tests-extension/` |
6878
| OpenShift-specific config | Downstream only | `UPSTREAM: <carry>:` | Create in `openshift/` |
6979
| Generated files (to fix failures) | Only when necessary | `UPSTREAM: <drop>:` | **Only if absolutely necessary** |

0 commit comments

Comments
 (0)