api(title): rename to Sensitive Data Detector API - #26
Conversation
…r API"
Title-only rename across the user-facing surfaces of the published docs:
the FastAPI title in main.py (source of truth), the regenerated
docs/api/openapi.{json,yaml}, the Pages overview heading, and the
Scalar/Pages browser <title>. No code, schema, or behavior changes.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
@claude review please? |
|
Claude finished @jstjoe's task in 1m 19s —— View job PR Review
Overall: LGTM — clean, well-scoped rename. All 5 changed lines are consistent and correct. A few observations below. Consistency checkAll user-facing surfaces have been updated and are in sync:
No stale references remain in user-facing files. The three intentional carve-outs ( Minor observations (non-blocking)
Manual verification stepThe PR's test plan includes one unchecked item for the reviewer: pull, run |
|
@claude I think we already have a CI job for ensuring "spec freshness" - is there a gap? |
|
Claude finished @jstjoe's task in 18s —— View job
You're right — the gap I flagged in my review is already closed. # .github/workflows/openapi.yml
- name: Regenerate spec to a temp dir
run: uv run --package opf-api opf-api-export-openapi --out /tmp/fresh
- name: Diff against committed spec
run: |
for f in openapi.json openapi.yaml; do
if ! diff -u "docs/api/$f" "/tmp/fresh/$f"; then
echo "::error file=docs/api/$f::$f is stale — regenerate with: ..."
fail=1
fi
doneIt triggers on any PR that touches My earlier observation was incorrect. The CI guard exists and covers this PR. No gap. |
Summary
Rename the API title from "Privacy-detection API" to "Sensitive Data Detector API" across every user-facing surface of the published docs.
Files
api/src/opf_api/main.py— FastAPItitle=(source of truth)docs/api/openapi.json+docs/api/openapi.yaml— regenerated viauv run --package opf-api opf-api-export-openapi --out docs/apidocs/index.html— browser<title>for the Scalar/Pages sitedocs/guides/overview.md— H1 of the overview guideOut of scope
README.md,plans/06-unified-api.md, andplans/README.mdreference "privacy-detection API" as historical/planning context — left as-is since they're not user-facing docs.Test plan
api/tests— 22/22 pass (withpytest-asyncio)main.pyand confirm both json + yaml carry the new titleuvicorn opf_api.main:app, visit/scalarand confirm the rendered title🤖 Generated with Claude Code