docs: document API deprecation process (closes #75)#86
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughAdds documentation: ChangesAPI Deprecation and Versioning Policy
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/API_DEPRECATION.md`:
- Line 16: Update the example in the "Removal" rule to match the stated "one
minor version" minimum notice: replace the current example pairing `1.2.0` →
`1.4.0` with `1.2.0` → `1.3.0` (or alternatively change the rule text if you
meant two minors); the change should be applied to the sentence beginning
"Removal — Remove no earlier than one minor version after the deprecation was
announced" so the example and rule are consistent.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: ccc3f32d-4ccd-4377-b86a-8221ac2e86a4
📒 Files selected for processing (3)
README.mddocs/API_DEPRECATION.mdpyproject.toml
|
Actionable comments posted: 0 |
Should fixREADME.md:263 — Soften or defer the CHANGELOG claim until CHANGELOG.md exists on this branch Nice to haveREADME.md:243 — Note merge coordination with the changelog/versioning PR docs/API_DEPRECATION.md:15 — Add a one-line pointer to a future shared helper for Deprecation headers |
|
@CodeRabbit. pleease review this PR in more depth except my 3 comments |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
echo "=== docs/API_DEPRECATION.md ==="
cat docs/API_DEPRECATION.md
echo ""
echo "=== README.md (lines 230-280) ==="
sed -n '230,280p' README.md
echo ""
echo "=== pyproject.toml ==="
cat pyproject.toml
echo ""
echo "=== Git diff for this PR (stat) ==="
git diff origin/master...HEAD --stat
echo ""
echo "=== Full diff ==="
git diff origin/master...HEADLength of output: 12864
|
| # | File | Severity | Topic |
|---|---|---|---|
| 1 | docs/API_DEPRECATION.md L23 |
🔴 Should Fix | Non-standard Deprecation header format |
| 2 | docs/API_DEPRECATION.md L27 |
🔴 Should Fix | link= placement ambiguous |
| 3 | docs/API_DEPRECATION.md step list |
🟡 Should Fix | CLI --help annotation not in numbered steps |
| 4 | docs/API_DEPRECATION.md L7 |
🟡 Should Fix | Pre-1.0 ambiguity for steps 2 & 3 |
| 5 | docs/API_DEPRECATION.md table |
🟡 Nice to Have | JSON field: no in-band deprecation signal |
| 6 | README.md L261 |
🟡 Should Fix | "Python package" surface may not apply |
| 7 | README.md pre-1.0 section |
🟡 Nice to Have | Security-fix carve-out missing |
| 8 | pyproject.toml |
✅ No issue | docs/ in sdist only — correct |
( ˘ ⌣ ˘ )੭ु⁾⁾ 🐇
|
Actionable comments posted: 0 |
Summary
docs/API_DEPRECATION.mddefining how HTTP API endpoints, CLI flags, and JSON response fields are deprecated and removeddocs/inpyproject.tomlsdist so the policy ships with source distributionsCloses #75
Motivation
The project had no documented API deprecation process. Combined with the versioning policy (#74), HTTP API and CLI consumers had no defined warning mechanism when endpoints, parameters, or response shapes change. This addresses the "Invisible Contract" finding from the baseline eval (Test 34 — API Stability Discipline).
What the policy covers
docs/API_DEPRECATION.mdDeprecationheader patternDeprecation: true; sunset=<ISO-8601-date>with optionallink=### Removedsection inCHANGELOG.mdDocumentation only — no runtime
Deprecationheaders are emitted yet; the policy establishes the process before it is needed.Test plan
docs/API_DEPRECATION.mdrenders correctly on GitHubdocs/API_DEPRECATION.mdpyproject.tomlsdist include list containsdocs/CHANGELOG.mdand README Versioning consistentlySummary by CodeRabbit
Documentation
Chores