Use bc3 as the sole API provenance source#240
Use bc3 as the sole API provenance source#240robzolkos wants to merge 2 commits intobasecamp:mainfrom
Conversation
Spec Change Impact
This change modifies the API provenance source but does not directly affect the operations, types, or resources in the API definition.
Checklist of SDKs Needing Updates:
|
766a8ff to
e599aa8
Compare
There was a problem hiding this comment.
Pull request overview
This PR consolidates the API provenance model to use only basecamp/bc3 as the canonical source of truth, removing basecamp/bc3-api as an independent tracked upstream. The changes include updating the provenance JSON schema (removing the bc3_api field), updating the Go provenance API surface (removing the BC3API field), simplifying the sync workflow to check both API docs and implementation within a single repository, and updating all documentation to reflect this change.
Changes:
- Removes
bc3_apifrom the provenance tracking model inspec/api-provenance.jsonandgo/pkg/basecamp/api-provenance.json - Removes the
BC3APIfield from the GoAPIProvenancestruct and its test - Simplifies
make sync-statusto check onlybasecamp/bc3for changes in bothdoc/api/(docs) andapp/controllers/(implementation) - Updates all documentation (AGENTS.md, spec/README.md, skill documentation, fixture comments) to point to
bc3/doc/api/as the canonical docs source
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| spec/api-provenance.json | Removes bc3_api entry, keeps only bc3 |
| go/pkg/basecamp/api-provenance.json | Removes bc3_api entry to match spec |
| go/pkg/basecamp/provenance.go | Removes BC3API field, updates doc comments |
| go/pkg/basecamp/provenance_test.go | Removes TestProvenanceBC3API test |
| Makefile | Removes BC3_API_REPO variable and updates sync-status to use single repo |
| spec/README.md | Updates documentation to point to bc3/doc/api/ |
| spec/fixtures/projects/README.md | Updates fixture source documentation |
| AGENTS.md | Updates reference sources and sync instructions |
| .claude/skills/api-sync/SKILL.md | Updates skill to reflect single upstream model |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Fixed — updated |
Review carefully before merging. Consider a major version bump. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 10 out of 10 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
This PR removes
bc3-apifrom the SDK repo’s provenance model and sync workflow so we track onlybasecamp/bc3, which is now the canonical source of truth for both API docs and implementation behavior.bc3-apiremains a public mirrored docs destination, but it should no longer be treated as an independent upstream input when determining what the SDK is conformant to.What changed
spec/api-provenance.jsonto a single tracked upstream:bc3BC3make sync-statusto compare one repo (basecamp/bc3) across two watched areas:doc/api/app/controllers/bc3/doc/api/as the canonical docs sourcebc3Notes
bc3-apiare intentionally unchanged, since that repo still serves as the public mirrored documentation surface.basecamp.Provenance().BC3APIfrom the Go API surface. Any external caller using that field will need to readbasecamp.Provenance().BC3instead.Summary by cubic
Make
basecamp/bc3the only upstream for API provenance and sync. Dropsbc3-apias an input and updates tooling and docs.Refactors
BC3only inspec/api-provenance.jsonand embedded Go model; removeBC3APIand its test.make sync-statusto show diffs fordoc/api/andapp/controllers/inbasecamp/bc3.scripts/sync-spec-version.shandsync-spec-version-checknow usebc3.dateonly.api-syncskill tobc3/doc/api/; clarifybc3-apiis a mirror only and fix lingering references.Migration
basecamp.Provenance().BC3APIwithbasecamp.Provenance().BC3.Written for commit d4b1fc5. Summary will update on new commits.