Skip to content

refactor(api): split buzz/api into typed domain packages - #307

Merged
harshtandiya merged 1 commit into
mainfrom
backport/api-refactor-to-main
Jul 29, 2026
Merged

refactor(api): split buzz/api into typed domain packages#307
harshtandiya merged 1 commit into
mainfrom
backport/api-refactor-to-main

Conversation

@harshtandiya

@harshtandiyaharshtandiya commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

The per-PR backport flow stalled after #294, so main is missing the whole buzz/api refactor
series plus the CI work that went with it. The individual backport PRs (#304, #306) were closed
rather than merged, and cherry-picking the rest one at a time doesn't work — everything from #296
onward edits the package layout that #295 created, so each one conflicts without its base.

Batching them into a single PR instead. git log --cherry-pick --left-only main...develop is
empty — every commit on main already has a patch-equivalent on develop — so this is a content
superset, not a merge exercise.

Pointing the branch at develop HEAD directly still conflicted, though: the merge base is
c6cb341, and because past backports landed on main as fresh cherry-picks, a three-way merge
sees both sides adding the same changes (buzz/api/forms.py reads as "deleted in develop, modified
in main"). None of it is real divergence. So this branch is one commit parented on main whose
tree is byte-identical to develop at a4f52b2git diff <branch> develop is empty. Since it
squash-merges anyway, main ends up with exactly the same commit either way.

What lands (109 files, +5751 / −2524), folding in:

CommitPR
a08b6c7#273ci: add label-driven backport workflow
7094813#291ci: keep backport PR titles conventional
66396ad#295refactor: split buzz/api into domain packages
11e7d6f#296refactor(api): add response schemas to the thin domains
30c6698#297refactor(api): check-in service class + typed responses
14cecdc#298refactor(api): sponsorships service class, payments cleanup
8f7653d#300refactor(api): split forms into fields/services
e218c1e#301refactor(api): split tickets into windows/services
36eb7bf#305ci: shared bench setup action, stop evicting browser cache
6de3cd0#302refactor(api): split booking into services/guests
a4f52b2#303refactor(api): enforce type annotations on whitelisted methods

Worth knowing before merging:

  • buzz/hooks.py has two live changes: require_type_annotated_api_methods = True, and the app
    screen's has_permission moves to buzz.api.account.has_app_permission. Deployments tracking
    main need a bench migrate + restart to pick up the new path.
  • buzz.api.* import paths change shape. In-repo callers are all carried here; anything outside
    this repo importing buzz.api.<name> directly will break.
  • ci.yml and ui-tests.yml are rewritten around the new .github/actions/setup-bench composite
    action, so this PR is validating its own CI changes.

No schema patches, no version bumps, no dependency changes — patches.txt, pyproject.toml and
both package.json files are untouched. Squash-merging to keep main's one-commit-per-backport
history.

@harshtandiyaharshtandiya added the backport This PR / Issue is a backport for a branch other than develop label Jul 29, 2026
@greptile-apps

greptile-appsBot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Too many files changed for review. (109 files found, 100 file limit)

Bypass the limit by tagging @greptile-apps to review.

Brings main to parity with develop at a4f52b2: the buzz/api domain package
split (#295-#303), the shared bench setup action (#305), and the backport
workflow (#273, #291). Tree is identical to develop at a4f52b2.
@harshtandiya
harshtandiyaforce-pushed the backport/api-refactor-to-main branch from a4f52b2 to 9ae0e7fCompareJuly 29, 2026 18:35
@harshtandiya
harshtandiya merged commit 063bb37 into mainJul 29, 2026
8 checks passed
@harshtandiya
harshtandiya deleted the backport/api-refactor-to-main branch July 29, 2026 18:41
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backportThis PR / Issue is a backport for a branch other than develop

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@harshtandiya