Some checks failed
CI / verify (push) Has been cancelled
- lock profile task tracking scope to user - add analytics date dimension module support and tests - regenerate SpacetimeDB Rust bindings with private APIs
1.1 KiB
1.1 KiB
个人任务 scope 限制说明(2026-05-04)
背景
个人任务配置首版只支持按用户维度统计进度,即 RuntimeTrackingScopeKind::User / API scopeKind: "user"。site、module、work 未来可作为全站、模块或作品维度任务扩展,但当前不应被个人任务配置接受。
后端约束
- HTTP 管理接口
admin_upsert_profile_task_config在解析scopeKind后立即校验:非user返回 400,并提示“个人任务 scopeKind 首版仅支持 user”。 - 领域构造函数
build_runtime_profile_task_config_admin_upsert_input兜底校验:非RuntimeTrackingScopeKind::User返回RuntimeProfileFieldError::UnsupportedProfileTaskScopeKind。 - SpacetimeDB 模块内
profile_task_tracking_scope_id不再把Work静默映射到user_id;非 User scope 返回None,个人任务进度读取按 0 处理,避免错误串桶。
测试覆盖
module-runtime 单元测试覆盖:
Userscope 可成功构造个人任务配置输入。Site/Module/Workscope 均被拒绝,错误为UnsupportedProfileTaskScopeKind。