Repository navigation
docs: ask agents to consider public API maintenance - #3638
Conversation
kevinjqliu
left a comment
There was a problem hiding this comment.
LGTM
seems like an overall improvement. im curious if you have seem agents already behaving in ways that needs this kind of steering
| `make generate-public-api` to update each crate's `public-api.txt`, and | ||
| check its diff for API growth. | ||
|
|
||
| ## Public API |
There was a problem hiding this comment.
should we also mention https://github.com/apache/iceberg-rust/blob/main/crates/iceberg/public-api.txt ? which is used to show diffs on prs regarding public api changes
There was a problem hiding this comment.
i see we already mention this in the lines above
- Use the narrowest visibility that works. Make items
pubonly when they
are part of the API the change intends to expose. Run
make generate-public-apito update each crate'spublic-api.txt, and
check its diff for API growth.
There was a problem hiding this comment.
should we be prescriptive here? or just mention something like "evaluate if the api needs to be public and whether it matches existing abstractions. must justify its existence to add a public api"
idk if this helps, this is just the way I talk to my agent 🤷
There was a problem hiding this comment.
should we be prescriptive here? or just mention something like "evaluate if the api needs to be public and whether it matches existing abstractions. must justify its existence to add a public api"
I opened the section with your wording. I kept the specific rules as examples, because they come from review feedback that keeps repeating (derives as API, constructors that need table context, growing parameter lists). I'm happy to drop any of them if they read as too narrow.
I've definitely found myself pushing back in reviews asking why things are made |
blackmwk
left a comment
There was a problem hiding this comment.
Thanks @mbutrovich for this pr!
+1, I'm always cautious about pub api changes, and I'm also quite careful in review to make an api public. |
Which issue does this PR close?
What changes are included in this PR?
Are these changes tested?
AI Disclosure
Claude Sonnet helped draft this, but I stand by the content.