Skip to content

Commit 87ee91d

Browse files
committed
be more strict about otel v2
1 parent 589aa6b commit 87ee91d

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

.cursor/rules/sdk_dependency_upgrades.mdc

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,18 @@ Avoid upgrading top-level dependencies (defined in `package.json`), especially i
4242

4343
#### CRITICAL: OpenTelemetry Dependency Constraint
4444

45-
**STOP UPGRADE IMMEDIATELY** if upgrading any dependency with `opentelemetry` in the name and the new version depends on OpenTelemetry SDK/API v2.x or higher.
45+
**STOP UPGRADE IMMEDIATELY** if upgrading any dependency with `opentelemetry` in the name and the new version or any of its dependencies uses forbidden OpenTelemetry versions.
46+
47+
**FORBIDDEN VERSION PATTERNS:**
48+
- `2.x.x` versions (e.g., `2.0.0`, `2.1.0`)
49+
- `0.2xx.x` versions (e.g., `0.200.0`, `0.201.0`)
4650

4751
When upgrading OpenTelemetry dependencies:
4852
1. Check the dependency's `package.json` after upgrade
49-
2. Verify none of its dependencies use `@opentelemetry/*` packages at v2.0.0 or higher
50-
3. If v2+ OpenTelemetry dependencies are detected, **ABORT the upgrade** and notify the user that this upgrade cannot proceed due to OpenTelemetry v2 compatibility constraints
53+
2. Verify the package itself doesn't use forbidden version patterns
54+
3. Verify none of its dependencies use `@opentelemetry/*` packages with forbidden version patterns
55+
4. **Example**: `@opentelemetry/[email protected]` is forbidden because it bumped to core `2.0.0` and instrumentation `0.200.0`
56+
5. If forbidden OpenTelemetry versions are detected, **ABORT the upgrade** and notify the user that this upgrade cannot proceed due to OpenTelemetry v2+ compatibility constraints
5157

5258
#### CRITICAL: E2E Test Dependencies
5359

@@ -66,7 +72,7 @@ When upgrading OpenTelemetry dependencies:
6672
1. **Backup**: Ensure clean git state or create backup branch
6773
2. **CI Status**: Verify all tests are passing
6874
3. **Lockfile works**: Confirm `yarn.lock` is in a good state (no merge conflicts)
69-
4. **OpenTelemetry Check**: For OpenTelemetry dependencies, verify no v2+ dependencies will be introduced
75+
4. **OpenTelemetry Check**: For OpenTelemetry dependencies, verify no forbidden version patterns (`2.x.x` or `0.2xx.x`) will be introduced
7076

7177
### Post-Upgrade Verification
7278

@@ -147,7 +153,7 @@ yarn info <package-name> versions
147153
```
148154

149155
The `yarn info` command provides detailed dependency information without requiring installation, making it particularly useful for:
150-
- Verifying OpenTelemetry packages don't introduce v2+ dependencies
156+
- Verifying OpenTelemetry packages don't introduce forbidden version patterns (`2.x.x` or `0.2xx.x`)
151157
- Checking what dependencies a package will bring in before upgrading
152158
- Understanding package version history and compatibility
153159

0 commit comments

Comments
 (0)