| 09-backend-admin-authentication-and-schema-pipeline |
07 |
admin |
| cabana |
| artists |
| winter-yaml |
| permissions |
| postgres |
| crud |
|
| phase |
provides |
| 09-backend-admin-authentication-and-schema-pipeline |
compiled form/list schemas, operation permission gates, and schema-projected CRUD/bulk services |
|
|
| Registered Artists admin controller with complete embedded Winter form and list assets |
| Permission-first Artist schema, list, create, update, show, delete, and bulk-delete routes |
| PostgreSQL acceptance coverage for projection, lifecycle normalization, pagination, atomicity, and retry safety |
|
| 09-backend-admin-authentication-and-schema-pipeline |
| admin-api |
| phase-10-spa |
|
| tokens |
tasks |
commits |
| 5094 |
2 |
0 |
|
| added |
patterns |
|
|
| Catalog admin controllers are declarative model/config adapters over cabana; they add no local SQL or write path |
| Every generated Artist operation shares one explicit permission checked before schema or database work |
|
|
| created |
modified |
| ../fonoteka.go/plugins/golem15/fonoteka/controllers/artists_admin_controller.go |
| ../fonoteka.go/plugins/golem15/fonoteka/controllers/artists/config_form.yaml |
| ../fonoteka.go/plugins/golem15/fonoteka/controllers/artists/config_list.yaml |
| ../fonoteka.go/plugins/golem15/fonoteka/models/artist/fields.yaml |
| ../fonoteka.go/plugins/golem15/fonoteka/models/artist/columns.yaml |
| ../fonoteka.go/plugins/golem15/fonoteka/admin_artists_test.go |
|
| ../fonoteka.go/plugins/golem15/fonoteka/admin.go |
| ../fonoteka.go/plugins/golem15/fonoteka/controllers/admin_registry.go |
| ../fonoteka.go/plugins/golem15/fonoteka/controllers/genres_admin_controller.go |
|
|
| Artists uses only the shared cabana list and CRUD engines; the controller contains identity, asset paths, model factory, and permission declaration only |
| Winter Artist YAML is copied without reducing fields, columns, toolbar behavior, labels, or layout hints |
| Artist name_key and slug remain model-owned lifecycle fields and are not exposed by the admin writable projection |
|
| Pattern: global catalog resources register a zero-state AdminController with one operation permission and a typed NewRecord factory |
| Pattern: activation embeds both list and form assets because registry compilation validates the complete controller contract at boot |
|
| ADMIN-01 |
| ADMIN-02 |
| ADMIN-04 |
|
| id |
description |
requirement |
verification |
human_judgment |
| D1 |
Artists form compilation preserves every Winter field, label, span, required/default hint, and declaration order for pl and en. |
ADMIN-01 |
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_artists_test.go#TestArtistsAdminForm |
pass |
|
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_artists_test.go#TestArtistsAdminRegistration |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D2 |
Artist form, create, and update operations deny unauthorized admins before Artist SQL or controller work. |
ADMIN-01 |
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_artists_test.go#TestArtistsAdminWritePermissions |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D3 |
Artists list schema and routes retain source columns, actions, localization, empty arrays, stable ordering, adjacent pages, and exact identifiers. |
ADMIN-02 |
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_artists_test.go#TestArtistsAdminList |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D4 |
Artist CRUD projects only form fields while model hooks derive name_key and slug and protected keys remain unchanged. |
ADMIN-04 |
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_artists_test.go#TestArtistsAdminCRUD |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D5 |
Empty, duplicate, mixed-existing, successful, and repeated Artist bulk deletes preserve validation, transaction atomicity, lifecycle deletion, and retry safety. |
ADMIN-04 |
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_artists_test.go#TestArtistsAdminBulk |
pass |
|
|
false |
|
|
2h 20m |
2026-09-25 |
complete |
fe639ac0d3 |
fe639ac0d3 |