-
Notifications
You must be signed in to change notification settings - Fork 82
docs: exempt maintainers from the public API issue-first rule #976
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,7 +7,7 @@ Guidance for coding agents working in `posthog-python`. | |
| - This repository contains the PostHog Python SDK, published as `posthog`. | ||
| - The main runtime package is `posthog/`; tests live under `posthog/test/`. | ||
| - The project uses `uv` for local development. See `CONTRIBUTING.md` for setup. | ||
| - Before adding or changing public API, follow "Public API changes" in [CONTRIBUTING.md](./CONTRIBUTING.md): the API shape must be agreed on the issue first. For SDK design guidance, read https://posthog.com/handbook/engineering/sdks/guidelines.md. | ||
| - Public API changes (a diff in `references/public_api_snapshot.txt`): if the author is a PostHog maintainer (git email ends in `@posthog.com`), the PR is the discussion, so don't open or suggest an issue. Otherwise, follow "Public API changes" in [CONTRIBUTING.md](./CONTRIBUTING.md): if there's no agreed issue, stop and tell the user. If a PR already exists, add a public-API note to its description and draft an issue body for the user to post. Never open an issue yourself. For SDK design guidance, read https://posthog.com/handbook/engineering/sdks/guidelines.md. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Defining a public API change as a diff in the snapshot misses source changes until that file is explicitly regenerated. An agent can add or change an exported option, method, or type, see no snapshot diff, and skip this policy until CI reports the stale snapshot. Define the trigger as changing public API in source and describe the snapshot diff only as a detection signal. Prompt To Fix With AIThis is a comment left during a code review.
Path: AGENTS.md
Line: 10
Comment:
**Snapshot trigger misses changes**
Defining a public API change as a diff in the snapshot misses source changes until that file is explicitly regenerated. An agent can add or change an exported option, method, or type, see no snapshot diff, and skip this policy until CI reports the stale snapshot. Define the trigger as changing public API in source and describe the snapshot diff only as a detection signal.
---
For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Minor (non-blocking): Could we treat |
||
| - Keep edits targeted and follow existing patterns. Prefer adding or updating tests near the behavior you change. | ||
|
|
||
| ## Capture protocol (`capture_mode`) | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The exemption treats an author as a maintainer when their git email ends in
@posthog.com, but Client Libraries maintainers commonly use GitHub noreply or personal addresses, while git email is locally configurable. This can send maintainers through the external-contributor workflow and let non-maintainers bypass it. Use authenticated GitHub team membership or explicit PR metadata instead.Prompt To Fix With AI