Skip to content

Use bc3 as the sole API provenance source#240

Open
robzolkos wants to merge 2 commits intobasecamp:mainfrom
robzolkos:chore/bc3-only-provenance
Open

Use bc3 as the sole API provenance source#240
robzolkos wants to merge 2 commits intobasecamp:mainfrom
robzolkos:chore/bc3-only-provenance

Conversation

@robzolkos
Copy link
Copy Markdown
Collaborator

@robzolkos robzolkos commented Mar 30, 2026

Summary

This PR removes bc3-api from the SDK repo’s provenance model and sync workflow so we track only basecamp/bc3, which is now the canonical source of truth for both API docs and implementation behavior. bc3-api remains 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

  • reduces spec/api-provenance.json to a single tracked upstream: bc3
  • updates the embedded Go provenance model to expose only BC3
  • simplifies make sync-status to compare one repo (basecamp/bc3) across two watched areas:
    • doc/api/
    • app/controllers/
  • updates contributor guidance and sync instructions to point at bc3/doc/api/ as the canonical docs source
  • updates the API sync skill to use the bc3-only workflow
  • adjusts fixture/source wording so it reflects canonical docs coming from bc3

Notes

  • Public README links to bc3-api are intentionally unchanged, since that repo still serves as the public mirrored documentation surface.
  • This removes basecamp.Provenance().BC3API from the Go API surface. Any external caller using that field will need to read basecamp.Provenance().BC3 instead.

Summary by cubic

Make basecamp/bc3 the only upstream for API provenance and sync. Drops bc3-api as an input and updates tooling and docs.

  • Refactors

    • Collapse provenance to BC3 only in spec/api-provenance.json and embedded Go model; remove BC3API and its test.
    • Update make sync-status to show diffs for doc/api/ and app/controllers/ in basecamp/bc3.
    • Simplify version syncing: scripts/sync-spec-version.sh and sync-spec-version-check now use bc3.date only.
    • Refresh docs/tools: point AGENTS, spec README, fixtures, and api-sync skill to bc3/doc/api/; clarify bc3-api is a mirror only and fix lingering references.
  • Migration

    • Replace basecamp.Provenance().BC3API with basecamp.Provenance().BC3.

Written for commit d4b1fc5. Summary will update on new commits.

@github-actions github-actions bot added documentation Improvements or additions to documentation go spec Changes to the Smithy spec or OpenAPI labels Mar 30, 2026
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 30, 2026

Spec Change Impact

  • Operations Added: None
  • Operations Modified: None
  • Operations Removed: None
  • Types/Resources Added: None
  • Types/Resources Modified: None
  • Types/Resources Removed: None

This change modifies the API provenance source but does not directly affect the operations, types, or resources in the API definition.

  • SDKs Needing Regeneration: All SDKs require regeneration as any spec change impacts SDK generation.

  • Breaking Change: No breaking changes detected (no removal of operations or fields).

Checklist of SDKs Needing Updates:

  • Go
  • TypeScript
  • Ruby
  • Kotlin
  • Swift

@github-actions github-actions bot added enhancement New feature or request and removed documentation Improvements or additions to documentation labels Mar 30, 2026
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 9 files

@robzolkos robzolkos force-pushed the chore/bc3-only-provenance branch from 766a8ff to e599aa8 Compare March 30, 2026 20:09
@github-actions github-actions bot added documentation Improvements or additions to documentation and removed documentation Improvements or additions to documentation labels Mar 30, 2026
@robzolkos robzolkos marked this pull request as ready for review March 30, 2026 20:43
Copilot AI review requested due to automatic review settings March 30, 2026 20:43
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_api from the provenance tracking model in spec/api-provenance.json and go/pkg/basecamp/api-provenance.json
  • Removes the BC3API field from the Go APIProvenance struct and its test
  • Simplifies make sync-status to check only basecamp/bc3 for changes in both doc/api/ (docs) and app/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.

@robzolkos
Copy link
Copy Markdown
Collaborator Author

Fixed — updated sync-spec-version-check and scripts/sync-spec-version.sh to read only .bc3.date now that bc3 is the sole provenance source.

@github-actions github-actions bot added documentation Improvements or additions to documentation breaking Breaking change to public API labels Mar 30, 2026
@github-actions
Copy link
Copy Markdown

⚠️ Potential breaking changes detected:

  • Removed the 'BC3API' field from the 'APIProvenance' struct, which is a change to the API surface as it removes an exported struct field.
  • Removed the 'TestProvenanceBC3API' test function, which indirectly indicates the 'BC3API' functionality is no longer supported.

Review carefully before merging. Consider a major version bump.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking change to public API documentation Improvements or additions to documentation enhancement New feature or request go spec Changes to the Smithy spec or OpenAPI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants