Skip to content

feat(BA-6618): app_config_fragment bulk CRUD service layer#12401

Draft
jopemachine wants to merge 1 commit into
feat/BA-6626-app-config-fragment-bulk-repositoryfrom
feat/BA-6618-app-config-fragment-bulk-service
Draft

feat(BA-6618): app_config_fragment bulk CRUD service layer#12401
jopemachine wants to merge 1 commit into
feat/BA-6626-app-config-fragment-bulk-repositoryfrom
feat/BA-6618-app-config-fragment-bulk-service

Conversation

@jopemachine

@jopemachine jopemachine commented Jun 25, 2026

Copy link
Copy Markdown
Member

Summary

Bulk create / update / purge for app_config_fragment at the service layer, on top of the repository primitives in #12426. Partial success: each item is independently authorized by its allow-list write-gate, and rejected/failed items are reported per-item rather than failing the whole batch.

  • Bulk actions carrying BulkConditional{Creator,Updater,Purger} payloads; service methods; BulkActionProcessor wiring (per-entity RBAC extension point — no validator wired yet).
  • Action results carry succeeded + failed[index, message].

📚 Stacked PRs

Part of the AppConfigFragment / AppConfig stack under BEP-1052 (epic BA-5781). Merge in order:

  1. feat(BA-6552): add app_config_fragments DB model and Alembic migration #12306feat(BA-6552): app_config_fragments DB model and Alembic migration
  2. feat(BA-6553): add app_config_fragments repository layer #12307feat(BA-6553): repository layer
  3. refactor(BA-6619): consolidate AppConfigScopeType into common.data (single definition) #12403refactor(BA-6619): consolidate AppConfigScopeType into common.data
  4. refactor(BA-6620): ExistsQuerier ops primitive + AppConfigAllowList.exists #12405refactor(BA-6620): ExistsQuerier + AppConfigAllowList.exists
  5. feat(BA-6554): add app_config_fragment service layer #12358feat(BA-6554): AppConfigFragment service layer
  6. feat(BA-6628): conditional-bulk repository primitives #12429feat(BA-6628): conditional-bulk repository primitives
  7. feat(BA-6626): app_config_fragment bulk repository layer #12426feat(BA-6626): app_config_fragment bulk repository layer
  8. 👉 feat(BA-6618): app_config_fragment bulk CRUD service layer #12401feat(BA-6618): AppConfigFragment bulk CRUD service layer ← you are here
  9. feat(BA-6555): add app_config service layer #12359feat(BA-6555): app_config service layer
  10. feat(BA-6556): AppConfig REST v2 API (raw fragments and merged read/update) #12377feat(BA-6556): AppConfig REST v2 API

@github-actions github-actions Bot added size:XL 500~ LoC comp:manager Related to Manager component labels Jun 25, 2026
@jopemachine jopemachine force-pushed the feat/BA-6554-app-config-fragments-service branch from b596dd2 to 17ee41a Compare June 25, 2026 03:41
@jopemachine jopemachine force-pushed the feat/BA-6618-app-config-fragment-bulk-service branch from 274b602 to 2d822bb Compare June 25, 2026 03:41
@jopemachine jopemachine force-pushed the feat/BA-6554-app-config-fragments-service branch from 17ee41a to 380a8d0 Compare June 25, 2026 04:06
@jopemachine jopemachine force-pushed the feat/BA-6618-app-config-fragment-bulk-service branch from 2d822bb to 408d923 Compare June 25, 2026 04:06
@jopemachine jopemachine force-pushed the feat/BA-6554-app-config-fragments-service branch 2 times, most recently from 008639e to 89c2848 Compare June 25, 2026 07:24
@jopemachine jopemachine force-pushed the feat/BA-6618-app-config-fragment-bulk-service branch 3 times, most recently from f3e9bed to cc90dc1 Compare June 25, 2026 10:26
Base automatically changed from feat/BA-6554-app-config-fragments-service to main June 25, 2026 11:39
@jopemachine jopemachine force-pushed the feat/BA-6618-app-config-fragment-bulk-service branch from cc90dc1 to f9eb9a0 Compare June 25, 2026 11:49
Comment thread src/ai/backend/manager/services/app_config_fragment/actions/base.py Outdated
Comment thread src/ai/backend/manager/services/app_config_fragment/actions/bulk_create.py Outdated
Comment thread src/ai/backend/manager/services/app_config_fragment/actions/bulk_create.py Outdated
@jopemachine jopemachine force-pushed the feat/BA-6618-app-config-fragment-bulk-service branch from f67bb21 to 25fc7ff Compare June 26, 2026 05:01
@jopemachine jopemachine changed the base branch from main to feat/BA-6626-app-config-fragment-bulk-repository June 26, 2026 05:01
@github-actions github-actions Bot added size:L 100~500 LoC and removed size:XL 500~ LoC labels Jun 26, 2026
@jopemachine jopemachine force-pushed the feat/BA-6626-app-config-fragment-bulk-repository branch from ffa35db to bcc97bb Compare June 26, 2026 07:12
@jopemachine jopemachine force-pushed the feat/BA-6618-app-config-fragment-bulk-service branch from 25fc7ff to 2a8bd46 Compare June 26, 2026 07:15
@jopemachine jopemachine force-pushed the feat/BA-6626-app-config-fragment-bulk-repository branch from bcc97bb to 846bc64 Compare June 26, 2026 07:26
@jopemachine jopemachine force-pushed the feat/BA-6618-app-config-fragment-bulk-service branch from 2a8bd46 to 933610d Compare June 26, 2026 07:28
@jopemachine jopemachine force-pushed the feat/BA-6626-app-config-fragment-bulk-repository branch from 846bc64 to ef67230 Compare June 26, 2026 07:37
@jopemachine jopemachine force-pushed the feat/BA-6618-app-config-fragment-bulk-service branch from 933610d to 60bf490 Compare June 26, 2026 07:37
@jopemachine jopemachine force-pushed the feat/BA-6626-app-config-fragment-bulk-repository branch from ef67230 to f2316f2 Compare June 26, 2026 08:03
@jopemachine jopemachine force-pushed the feat/BA-6618-app-config-fragment-bulk-service branch from 60bf490 to c86a0c7 Compare June 26, 2026 08:03
@jopemachine jopemachine force-pushed the feat/BA-6626-app-config-fragment-bulk-repository branch from f2316f2 to 3462f91 Compare June 26, 2026 08:12
@jopemachine jopemachine force-pushed the feat/BA-6618-app-config-fragment-bulk-service branch from c86a0c7 to ab11cd9 Compare June 26, 2026 08:12
@jopemachine jopemachine force-pushed the feat/BA-6626-app-config-fragment-bulk-repository branch from 3462f91 to 14f10a1 Compare June 26, 2026 09:10
@jopemachine jopemachine force-pushed the feat/BA-6618-app-config-fragment-bulk-service branch from ab11cd9 to 5e78703 Compare June 26, 2026 09:10
@jopemachine jopemachine force-pushed the feat/BA-6626-app-config-fragment-bulk-repository branch from 14f10a1 to 542e10e Compare June 26, 2026 09:28
@jopemachine jopemachine force-pushed the feat/BA-6618-app-config-fragment-bulk-service branch from 5e78703 to ce8e7a0 Compare June 26, 2026 09:29
Bulk create/update/purge for app_config_fragment at the service layer, on top of the
repository primitives in #12426 (BA-6626):

- Bulk actions carrying BulkConditional{Creator,Updater,Purger} payloads, service methods,
  and BulkActionProcessor wiring (per-entity RBAC extension point; no validator yet).
- Partial-success results (succeeded + failed[index, message]).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@jopemachine jopemachine force-pushed the feat/BA-6626-app-config-fragment-bulk-repository branch from 542e10e to 1166463 Compare June 26, 2026 09:52
@jopemachine jopemachine force-pushed the feat/BA-6618-app-config-fragment-bulk-service branch from ce8e7a0 to c253fb2 Compare June 26, 2026 09:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp:manager Related to Manager component size:L 100~500 LoC

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant