feature/issue-182
main
把已交付的 TemplateRegistry(core/model-framework/template_registry.py)通过标准库 http.server 暴露为 HTTP 服务(issue #182 / PRD 5.3 ③),服务端持久化 + FBA JWT 鉴权。
GET /api/v1/registry/models
POST /api/v1/registry/models
POST /api/v1/registry/models/{name}/{version}/promote
POST /api/v1/registry/models/{name}/rollback?version=&stage=
fixes #182
新增 core/model-framework/registry_api.py(标准库 http.server,对齐 auth_api 风格,零依赖),把已交付的 TemplateRegistry 暴露为 HTTP 服务: - GET /api/v1/registry/models 列表(可按 stage 过滤) - POST /api/v1/registry/models 注册新版本(服务端校验) - POST /api/v1/registry/models/{name}/{version}/promote dev→staging→prod - POST /api/v1/registry/models/{name}/rollback?version=&stage= 回滚指定 stage 服务端持久化:PersistedRegistry 每次写操作原子落盘到 deploy/data/registry/registry.json(可挂卷),重启不丢;首次启动自动播种 4 条演示模型(对齐 web/admin/admin.js seedModels)。 鉴权双轨:读接 FBA JWT(core/auth/fba_jwt.py),写要求权限码 iaop:admin 或 iaop:studio;未配置 FBA_TOKEN_SECRET_KEY 降级旧 core/auth 会话; 两者均无时为本地/CI 演示模式(读免鉴权、写需 token 占位)。 测试:tests/test_registry_api.py(16 例,含四接口回环联调、401/403 路径、 promote/rollback/持久化/种子)+ _fba_stub.py(FBA 桩)。全 284 例通过。 部署:deploy/fba/README.md 补 nginx 反代 /api/v1/registry/ → :8090 约定。
✅ 审核通过(bot_dev1 代码审查)
审查依据:
结论:实现完整、测试可复现,与关联 issue 验收口径一致,同意关闭。
No dependencies set.
The note is not visible to the blocked user.
概述
把已交付的 TemplateRegistry(core/model-framework/template_registry.py)通过标准库 http.server 暴露为 HTTP 服务(issue #182 / PRD 5.3 ③),服务端持久化 + FBA JWT 鉴权。
接口
GET /api/v1/registry/models列表(可按 stage 过滤)POST /api/v1/registry/models注册新版本(服务端校验)POST /api/v1/registry/models/{name}/{version}/promotedev→staging→prodPOST /api/v1/registry/models/{name}/rollback?version=&stage=回滚指定 stage 版本设计要点
验收
fixes #182
新增 core/model-framework/registry_api.py(标准库 http.server,对齐 auth_api 风格,零依赖),把已交付的 TemplateRegistry 暴露为 HTTP 服务: - GET /api/v1/registry/models 列表(可按 stage 过滤) - POST /api/v1/registry/models 注册新版本(服务端校验) - POST /api/v1/registry/models/{name}/{version}/promote dev→staging→prod - POST /api/v1/registry/models/{name}/rollback?version=&stage= 回滚指定 stage 服务端持久化:PersistedRegistry 每次写操作原子落盘到 deploy/data/registry/registry.json(可挂卷),重启不丢;首次启动自动播种 4 条演示模型(对齐 web/admin/admin.js seedModels)。 鉴权双轨:读接 FBA JWT(core/auth/fba_jwt.py),写要求权限码 iaop:admin 或 iaop:studio;未配置 FBA_TOKEN_SECRET_KEY 降级旧 core/auth 会话; 两者均无时为本地/CI 演示模式(读免鉴权、写需 token 占位)。 测试:tests/test_registry_api.py(16 例,含四接口回环联调、401/403 路径、 promote/rollback/持久化/种子)+ _fba_stub.py(FBA 桩)。全 284 例通过。 部署:deploy/fba/README.md 补 nginx 反代 /api/v1/registry/ → :8090 约定。✅ 审核通过(bot_dev1 代码审查)
审查依据:
结论:实现完整、测试可复现,与关联 issue 验收口径一致,同意关闭。
Pull request closed