Skip to content

feat(adt): surface build_type + grey out non-downloadable smartbuilds in picker - #5

Merged
anggorodewanto merged 1 commit into
mainfrom
feat/adt-build-type-grey-smartbuild
May 28, 2026
Merged

anggorodewanto merged 1 commit into
mainfrom
feat/adt-build-type-grey-smartbuild

Conversation

@anggorodewanto

Copy link
Copy Markdown
Collaborator

What

ADT-eng added a build_type discriminator to the builds-list response. Only buildinfo builds can mint a download URL; smartbuild entries cannot. Surface it through the stack and grey out non-downloadable builds in the admin picker.

Confirmed live against develop.blackbox.accelbyte.io v1.35.0 (models.BuildSummary.build_type) + a real probe of ns avengers: 2 buildinfo, 1 smartbuild.

Changes

  • pkg/adt: Build.BuildType field + Build.Downloadable() helper. Empty/unknown build_type ⇒ allowed (legacy ADT drops must not wholesale-disable the picker); only an explicit non-buildinfo type is blocked. http.go parses build_type.
  • proto: ADTBuild.build_type (field 6); adtBuildToProto maps it. Stubs + swagger regenerated.
  • admin picker (adt-build-picker.tsx): per-build build_type tag (green for buildinfo) + greys out / disables selection of non-buildinfo cards with a "only buildinfo builds can be distributed" note. List stays unfiltered (both types shown); ADT's server-side ?buildType= filter deliberately not sent.
  • docs: PRD §4.8.3 + ListADTBuilds row, cli.md, STATUS_M5.md C15.

Additive response field — no migration, no new RPC.

Verification

  • go test ./... ✓
  • golangci-lint run — 0 issues ✓
  • proto-fresh stable (idempotent regen) ✓
  • admin vitest 90/90 (incl. new smartbuild grey-out case) ✓
  • admin npm run build ✓
  • make smoke PASS ✓

Out of scope (noted in STATUS C15)

Server-side CreatePlaytest/ChangeADTBuild rejection of a non-buildinfo adt_build_id — today the UI prevents selection but the API would still accept one.

🤖 Generated with Claude Code

… in picker

ADT-eng added a `build_type` discriminator to the builds-list response.
Confirmed live (develop.blackbox.accelbyte.io v1.35.0, ns avengers):
values are `buildinfo` (a real, downloadable build) and `smartbuild`
(a SmartBuild entry that cannot mint a download URL).

- pkg/adt: Build.BuildType field + Build.Downloadable() helper
  (empty/unknown => allowed; only an explicit non-buildinfo type is
  blocked, so legacy ADT drops never wholesale-disable the picker);
  http.go parses build_type.
- proto: ADTBuild.build_type (field 6); adtBuildToProto maps it.
- admin picker: per-build build_type tag (green for buildinfo) +
  greys out / disables selection of non-buildinfo builds. List stays
  unfiltered (both types shown); ADT's ?buildType= filter deliberately
  not sent.
- tests: http_test (buildinfo + smartbuild pass-through + Downloadable),
  TestListADTBuilds_MapsBuildType, federated-element picker grey-out case.
- docs: PRD 4.8.3 + ListADTBuilds row, cli.md, STATUS_M5 C15.

Additive response field — no migration, no new RPC, smoke harness green.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@anggorodewanto
anggorodewanto merged commit 58ba1a0 into main May 28, 2026
6 checks passed
@anggorodewanto
anggorodewanto deleted the feat/adt-build-type-grey-smartbuild branch May 28, 2026 00:13
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.

1 participant