| 09-backend-admin-authentication-and-schema-pipeline |
09 |
admin |
| cabana |
| styles |
| winter-yaml |
| typed-scalars |
| permissions |
| postgres |
| crud |
|
| phase |
provides |
| 09-backend-admin-authentication-and-schema-pipeline |
Compiled form/list schemas, permission gates, and shared CRUD/bulk services |
|
|
| Complete Style form/list assets and registered permission-gated controller |
| Exact YAML-to-JSON scalar preservation and activation-time missing-provider rejection proof |
| PostgreSQL list, projected CRUD, lifecycle, atomic bulk, and retry-safety coverage |
|
| 09-backend-admin-authentication-and-schema-pipeline |
| admin-api |
| phase-10-spa |
|
| tokens |
tasks |
commits |
| 10144 |
2 |
0 |
|
| added |
patterns |
|
|
| Tracked Winter assets remain authoritative when a planning assumption mentions providers or filters absent from source |
| Typed scalar behavior is proved with an isolated schema fixture while the production Style schema stays source-exact |
|
|
| created |
modified |
| ../fonoteka.go/plugins/golem15/fonoteka/controllers/styles_admin_controller.go |
| ../fonoteka.go/plugins/golem15/fonoteka/controllers/styles/config_form.yaml |
| ../fonoteka.go/plugins/golem15/fonoteka/controllers/styles/config_list.yaml |
| ../fonoteka.go/plugins/golem15/fonoteka/models/style/fields.yaml |
| ../fonoteka.go/plugins/golem15/fonoteka/models/style/columns.yaml |
| ../fonoteka.go/plugins/golem15/fonoteka/admin_styles_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 |
|
|
| The tracked Style source declares no dropdown provider and no filters; production assets stay exact while isolated compiler fixtures prove typed scalars and missing-provider rejection |
| Style slug retains its Winter update-only readonly schema and is generated on create by the existing model lifecycle |
| Style list equal-value ordering is explicitly checked by the primary-key tie-breaker before adjacent-page coverage |
|
| Pattern: source-absent generic capabilities are tested through a minimal fstest schema rather than invented in production plugin YAML |
|
| ADMIN-01 |
| ADMIN-02 |
| ADMIN-04 |
|
| id |
description |
requirement |
verification |
human_judgment |
| D1 |
Style form fields, layout hints, context, readonly metadata, and locale keys compile in source order under the registered controller. |
ADMIN-01 |
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_styles_test.go#TestStylesAdminForm |
pass |
|
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_styles_test.go#TestStylesAdminTracerIdentity |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D2 |
Numeric, boolean, and string YAML scalars retain JSON type, and a method-backed option without the finite provider capability fails activation. |
ADMIN-01 |
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_styles_test.go#TestStylesAdminTypedOptions |
pass |
|
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_styles_test.go#TestStylesAdminProviderFailure |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D3 |
Unauthorized form/create/update requests fail before Style SQL and duplicate controller sets fail activation. |
ADMIN-01 |
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_styles_test.go#TestStylesAdminWritePermissions |
pass |
|
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_styles_test.go#TestStylesAdminDuplicateRegistration |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D4 |
Style list routes preserve source columns/actions, empty and single results, stable equal ordering, adjacent pages, exact identifiers, and reject undeclared filters. |
ADMIN-02 |
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_styles_test.go#TestStylesAdminList |
pass |
|
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_styles_test.go#TestStylesAdminTypedFilters |
pass |
|
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_styles_test.go#TestStylesAdminEdges |
pass |
|
|
false |
|
| id |
description |
requirement |
verification |
human_judgment |
| D5 |
Style CRUD uses compiled projection and lifecycle slug generation; bulk deletion validates empty input, rolls back mixed selections, runs pivot cleanup, normalizes duplicates, and is retry-safe. |
ADMIN-04 |
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_styles_test.go#TestStylesAdminCRUD |
pass |
|
| kind |
ref |
status |
| integration |
plugins/golem15/fonoteka/admin_styles_test.go#TestStylesAdminBulk |
pass |
|
|
false |
|
|
11h 48m |
2026-09-26 |
complete |
e9c0722 |
e9c0722 |