feat(auth): M0A.5c password-only 切换 - #90
Conversation
9766f16 to
677bbdd
Compare
移除 API/Web/Metadata 与测试中的开发身份旁路,原生部署默认 loopback, 升级路径剥离旧 AUTH_MODE,并加入 password-only 扫描门禁与文档对齐。 补充升级失败排障、TUI 正式态入口与 auth/status 接口说明。
677bbdd to
89941a8
Compare
faa94ed to
89941a8
Compare
MySQL 要求 SET TRANSACTION READ ONLY 在事务开始之前执行; 先前 beginTransaction 在前会导致只读查询失败。
删除 docs/superpowers、docs/plans、docs/engineering 等未纳入 mkdocs nav 的设计草稿与工程备忘,减少公开文档噪音。
iancaoo
left a comment
There was a problem hiding this comment.
两处真实运行时缺陷:scripts/smoke-task-state.mjs:16 与 scripts/verify-tools/task-collab-tools.mjs:23 把 const userId = "dev-user" 换成了 const resourceId = userId,但这两个文件都没有 import createVerifiedTestIdentity、也没定义 userId。我在 PR 分支的临时 worktree 里实跑确认:两者在模块加载阶段就抛 ReferenceError: userId is not defined,脚本完全跑不起来。
这两条不在 CI core-smoke-tests 里(smoke:task-state / verify-tools 都没进 CI step),password-only-cutover.test.mjs 的门禁只做源码子串/正则检查不做运行,node --check 又只查语法不查绑定,所以 CI 仍是绿的——但脚本对任何手动跑的人是坏的。这和 #83/#88 加 node --check 门禁想挡的“看起来迁移完、实际跑不了”是同一类回归。建议合并前补一个 userId 来源(最省事是复用 createVerifiedTestIdentity,和其它 smoke 一致),或直接把 resourceId 改成一个 randomUUID()。
iancaoo
left a comment
There was a problem hiding this comment.
两处真实运行时缺陷:scripts/smoke-task-state.mjs:16 与 scripts/verify-tools/task-collab-tools.mjs:23 把 const userId = "dev-user" 换成了 const resourceId = userId,但这两个文件都没有 import createVerifiedTestIdentity、也没定义 userId。我在 PR 分支的临时 worktree 里实跑确认:两者在模块加载阶段就抛 ReferenceError: userId is not defined,脚本完全跑不起来。
这两条不在 CI core-smoke-tests 里(smoke:task-state / verify-tools 都没进 CI step),password-only-cutover.test.mjs 的门禁只做源码子串/正则检查不做运行,node --check 又只查语法不查绑定,所以 CI 仍是绿的——但脚本对任何手动跑的人是坏的。这和 #83/#88 加 node --check 门禁想挡的“看起来迁移完、实际跑不了”是同一类回归。建议合并前补一个 userId 来源(最省事是复用 createVerifiedTestIdentity,和其它 smoke 一致),或直接把 resourceId 改成一个 randomUUID()。
iancaoo
left a comment
There was a problem hiding this comment.
两处真实运行时缺陷:scripts/smoke-task-state.mjs:16 与 scripts/verify-tools/task-collab-tools.mjs:23 把 const userId = "dev-user" 换成了 const resourceId = userId,但这两个文件都没有 import createVerifiedTestIdentity、也没定义 userId。我在 PR 分支的临时 worktree 里实跑确认:两者在模块加载阶段就抛 ReferenceError: userId is not defined,脚本完全跑不起来。
这两条不在 CI core-smoke-tests 里(smoke:task-state / verify-tools 都没进 CI step),password-only-cutover.test.mjs 的门禁只做源码子串/正则检查不做运行,node --check 又只查语法不查绑定,所以 CI 仍是绿的——但脚本对任何手动跑的人是坏的。这和 #83/#88 加 node --check 门禁想挡的“看起来迁移完、实际跑不了”是同一类回归。建议合并前补一个 userId 来源(最省事是复用 createVerifiedTestIdentity,和其它 smoke 一致),或直接把 resourceId 改成一个 randomUUID()。
iancaoo
left a comment
There was a problem hiding this comment.
两处真实运行时缺陷:scripts/smoke-task-state.mjs:16 与 scripts/verify-tools/task-collab-tools.mjs:23 把 const userId = "dev-user" 换成了 const resourceId = userId,但这两个文件都没有 import createVerifiedTestIdentity、也没定义 userId。我在 PR 分支的临时 worktree 里实跑确认:两者在模块加载阶段就抛 ReferenceError: userId is not defined,脚本完全跑不起来。
这两条不在 CI core-smoke-tests 里(smoke:task-state / verify-tools 都没进 CI step),password-only-cutover.test.mjs 的门禁只做源码子串/正则检查不做运行,node --check 又只查语法不查绑定,所以 CI 仍是绿的——但脚本对任何手动跑的人是坏的。这和 #83/#88 加 node --check 门禁想挡的“看起来迁移完、实际跑不了”是同一类回归。建议合并前补一个 userId 来源(最省事是复用 createVerifiedTestIdentity,和其它 smoke 一致),或直接把 resourceId 改成一个 randomUUID()。
duplicate submission (network retry); keeping first copy
smoke-task-state 与 task-collab-tools 在去掉 dev-user 后误引用未定义的 userId, 模块加载即 ReferenceError。这两处脚本只需 Mastra resourceId,改为 randomUUID()。
评审意见处理(
|
| 意见 | 判定 | 处理 |
|---|---|---|
scripts/smoke-task-state.mjs:userId 未定义导致 ReferenceError |
成立 | 改为 randomUUID();commit bc62660 |
scripts/verify-tools/task-collab-tools.mjs:同上 |
成立 | 同上 |
说明:评审中同一问题因重复提交出现多条 inline/review,实质仅上述两处。无其他独立评审意见。
验证:smoke:task-state / task-collab-tools / test:auth-foundation / test:password-only / @datafoundry/tui test 均通过。
Summary
DATAFOUNDRY_AUTH_MODEswitch,X-Dev-Token,/api/v1/dev/*, default/dev user).ensureDeploymentEnvironmentstrips legacyDATAFOUNDRY_AUTH_MODE/NEXT_PUBLIC_DATAFOUNDRY_AUTH_MODEfrom upgraded.env.DATAFOUNDRY_AUTH_MODE=password(compat) and rejects removed modes such asdev.test:password-onlygate; public docs drop removed development-token / auth-mode switch wording (architecture overview aligned).createVerifiedTestIdentity(FK failure after removingupsertDevUser).