Skip to content

M1 补充 · 契约结构性对齐:TenantView/注册体 ↔ control-plane-v1(需 webui 协同) #9

Description

@JIAQIA

M1 补充项(follow-up)· 父 epic #3「入口级交付」已完成,本项为入口级之外的结构性对齐。

背景

WP3/#7 已对齐路由键名tenantKeytenantId,请求/响应双侧)与 status 小写@JsonValue)。但 TenantView/注册体与契约 control-plane-v1 仍存结构性漂移,需与 webui 消费方协同后按「先改契约」对齐(已登记于本仓 CLAUDE.md known-drift)。

待对齐项(impl → 契约 openapi/control-plane-v1

  1. 嵌套结构:契约 Tenant 嵌套 organization{orgId,orgAlias} / dataPlane{namespace,dbSchema,dorisCatalog,helmRelease};impl 为扁平 keycloakOrgId/namespace/dbSchema
  2. quota 字段名:impl maxDataBytes/maxJobs vs 契约 maxStorageGi/maxConcurrentJobs(+compute)。
  3. impl 专有字段id/deliveryMode/adminEmail/statusReason 不在契约 Tenant
  4. 注册体:impl deliveryMode/quota vs 契约 requestedQuota(且无 deliveryMode)。
  5. 另两条 known-drift:审批端点形态(impl /approve+/reject vs 契约单 POST /{id}/approvalaction: approve|reject);/api 前缀约定未写进契约/网关(推定网关 strip /api,需补一条约定)。

铁律 / 范围

  • 先改契约(主仓 HashMatrixData/hashmatrix contracts/openapi/control-plane-v1)→ 再改实现;消费方一律 tolerant reader。
  • 跨仓:control-plane(impl)+ 主仓 contracts + webui(consumer,需协同)。本 issue 为 control-plane 侧追踪锚点,契约/ webui 侧各自建对应 issue、文本回链。

验收

  • 契约先行更新(或确认现契约即目标态)。
  • TenantView/RegisterTenantRequest 结构与契约 Tenant/注册体一致(嵌套 + quota 字段名 + 专有字段处置)。
  • webui 对接无字段错配。
  • 审批端点形态 + /api 前缀两条 known-drift 有结论并落档;CLAUDE.md known-drift 清账。

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions