Skip to content

Sync SDK with latest documented Fizzy API surface#35

Merged
robzolkos merged 9 commits into
basecamp:mainfrom
robzolkos:docs-aware-spec-maintenance
Apr 14, 2026
Merged

Sync SDK with latest documented Fizzy API surface#35
robzolkos merged 9 commits into
basecamp:mainfrom
robzolkos:docs-aware-spec-maintenance

Conversation

@robzolkos

@robzolkos robzolkos commented Apr 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

Sync the SDK and spec to the latest documented upstream Fizzy API so the generated clients stay aligned with the public Rails API surface and response payloads. This brings the Smithy source of truth up to date, regenerates downstream artifacts, and closes drift that had accumulated between the SDK and canonical upstream docs/routes/controllers/views/models.

Changes

  • add the newly documented upstream operations for:
    • board accesses
    • column cards
    • activities
    • user data exports
    • email address change request/confirmation
    • webhook deliveries
  • align existing Smithy models with current upstream payloads, including updates to:
    • board
    • column
    • join code
    • identity
    • webhook
  • refresh ListCards query modeling to match the current upstream filters
  • regenerate derived artifacts from the updated Smithy/OpenAPI pipeline across Go, TypeScript, Ruby, Swift, and Kotlin
  • update generators and conformance runners to support the new operations and array-style query params like board_ids[]
  • add conformance coverage for the new paths and request shapes
  • update API provenance to the synced upstream revision

Notes

  • passkey-related endpoints are intentionally excluded from this PR because they are not part of the documented public API surface we are syncing against here
  • this keeps the repo aligned with the documented upstream contract without introducing the deferred passkey flow work

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

No issues found across 6 files

Copilot AI left a comment

Copy link
Copy Markdown

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 establishes a formal framework for tracking Fizzy's API documentation as upstream inputs to the SDK spec maintenance workflow. It creates infrastructure to keep the Smithy specification aligned with changes to upstream API docs, routes, controllers, and views in the Fizzy repository.

Changes:

  • Adds a new spec/README.md that documents the spec layout, grounding model, and maintenance conventions
  • Updates spec/api-provenance.json and go/pkg/fizzy/api-provenance.json to track split API doc paths alongside existing routes, controllers, and views tracking
  • Improves the make sync-status target to display API-doc and app-surface changes from upstream instead of just commit drift, with better error handling and authentication checks
  • Adds "Syncing to Upstream Fizzy" section to CONTRIBUTING.md with recommended workflow steps
  • Updates AGENTS.md to prepend upstream source review to the development workflow and adds a detailed "Upstream Reference Sources" section

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
spec/README.md New documentation explaining the spec directory structure, grounding model against upstream sources, and maintenance conventions
spec/api-provenance.json Added api_docs_index and api_docs_sections path tracking to formally declare API docs as upstream sources
go/pkg/fizzy/api-provenance.json Mirrors the changes to spec/api-provenance.json to maintain provenance sync
Makefile Enhanced sync-status target to filter for API-doc and app-surface changes with improved error handling and authentication validation
CONTRIBUTING.md Added new section documenting the recommended workflow for syncing to upstream Fizzy changes
AGENTS.md Updated development workflow to prioritize reviewing upstream sources and added dedicated "Upstream Reference Sources" section

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread CONTRIBUTING.md Outdated
Copilot AI review requested due to automatic review settings April 6, 2026 21:38

Copilot AI left a comment

Copy link
Copy Markdown

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 6 out of 6 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.

@robzolkos robzolkos changed the title Track upstream Fizzy API docs in the SDK spec maintenance workflow Sync SDK with latest documented Fizzy API surface Apr 14, 2026
Copilot AI review requested due to automatic review settings April 14, 2026 13:02

Copilot AI left a comment

Copy link
Copy Markdown

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 43 out of 107 changed files in this pull request and generated 5 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread go/pkg/fizzy/webhooks_service.go Outdated
Comment thread go/pkg/fizzy/users_service.go Outdated
Comment thread go/pkg/fizzy/users_service.go Outdated
Comment thread swift/Sources/Fizzy/Generated/Services/CardsService.swift
Comment thread swift/Sources/Fizzy/Generated/Services/CardsService.swift

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

7 issues found across 104 files (changes from recent commits).

Note: This PR contains a large number of files. cubic only reviews up to 75 files per PR, so some files may not have been reviewed. cubic prioritises the most important files to review.

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="swift/Sources/Fizzy/Generated/Services/CardsService.swift">

<violation number="1" location="swift/Sources/Fizzy/Generated/Services/CardsService.swift:175">
P2: Array-style query filters (`...[]`) are implemented as single `String` values, so multi-value filtering cannot be represented correctly.</violation>
</file>

<file name="swift/Sources/FizzyGenerator/Utilities.swift">

<violation number="1" location="swift/Sources/FizzyGenerator/Utilities.swift:14">
P2: Strip only a trailing `[]` marker instead of removing all `[]` substrings globally.</violation>
</file>

<file name="go/pkg/fizzy/webhooks_service.go">

<violation number="1" location="go/pkg/fizzy/webhooks_service.go:48">
P3: Update the doc comment to describe the correct resource; this method returns webhook deliveries, not webhooks.

(Based on your team's feedback about deriving generated Go service doc comments from the actual service resource/action.) [FEEDBACK_USED]</violation>
</file>

<file name="go/pkg/fizzy/boards_service.go">

<violation number="1" location="go/pkg/fizzy/boards_service.go:42">
P3: Update the method comment to describe `ListBoardAccesses` correctly; it currently says it returns boards, which is misleading for this exported API.</violation>
</file>

<file name="spec/fizzy.smithy">

<violation number="1" location="spec/fizzy.smithy:1392">
P2: The `ListActivities` operation is tagged `@tags(["Cards"])` but should be `@tags(["Activities"])` to match its section and the inventory in AGENTS.md. This will cause the operation to be mis-grouped in generated OpenAPI output and downstream SDK docs.</violation>
</file>

<file name="go/pkg/fizzy/users_service.go">

<violation number="1" location="go/pkg/fizzy/users_service.go:23">
P3: Update the doc comment to describe creating a user data export; it currently states this method creates a user.</violation>

<violation number="2" location="go/pkg/fizzy/users_service.go:64">
P3: Fix the doc comment to indicate this method returns a user data export, not a user.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread swift/Sources/Fizzy/Generated/Services/CardsService.swift Outdated
Comment thread swift/Sources/FizzyGenerator/Utilities.swift Outdated
Comment thread spec/fizzy.smithy
Comment thread go/pkg/fizzy/webhooks_service.go Outdated
Comment thread go/pkg/fizzy/boards_service.go Outdated
Comment thread go/pkg/fizzy/users_service.go Outdated
Comment thread go/pkg/fizzy/users_service.go Outdated
@robzolkos

Copy link
Copy Markdown
Collaborator Author

Fixed — addressed the cubic-identified generator/docs issues: corrected Go service doc comments, fixed Swift repeated [] query filters and trailing [] name normalization, and retagged ListActivities under Activities.

Copilot AI review requested due to automatic review settings April 14, 2026 13:41

Copilot AI left a comment

Copy link
Copy Markdown

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 44 out of 108 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread kotlin/conformance/src/main/kotlin/com/basecamp/fizzy/conformance/Main.kt Outdated

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

1 issue found across 5 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="kotlin/generator/build.gradle.kts">

<violation number="1" location="kotlin/generator/build.gradle.kts:12">
P1: This module now targets Java 25, but repository CI runs Kotlin jobs on Java 17, causing generator/conformance builds to fail.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread kotlin/generator/build.gradle.kts Outdated
@robzolkos

Copy link
Copy Markdown
Collaborator Author

Fixed — set the Kotlin generator and conformance JVM targets back to Java 17 so they match repository CI, and make check now passes.

Copilot AI review requested due to automatic review settings April 14, 2026 14:34

Copilot AI left a comment

Copy link
Copy Markdown

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 46 out of 110 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.

@robzolkos robzolkos merged commit 7248245 into basecamp:main Apr 14, 2026
32 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants