Adopt the reviewed IAM contract from merged Documents
Why: Record user acceptance and use the actual merged permission contract in the integration composition. Evidence: Documents PR 98 merged as 3cf263962bd106529ee0531c8415cb16eecedfe3; independent document review and full SELF receipts retained in the task record. Impact: Advance only Documents and delivery evidence; full IAM later increments and deployment remain outside scope. Refs: Documents PR 98; IAM I1 U1-U2; policy/delivery.md stages 8-9.
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# IAM I1 阶段 8 独立文档 Review
|
||||
|
||||
日期:2026-10-13 UTC。审阅者:`/root/i1_stage8_docs_review`,native Codex 独立审阅智能体。未参与本次实现或修订;未修改任何仓库;整改由实施者完成,本人复审。此次为指定 Documents diff 的独立文档审阅,覆盖需求符合性、一致性、范围、公开契约、证据与维护性;不是完整业务源码 Review、受信 CI 或平台非作者账号批准。
|
||||
|
||||
结论:**Documents 文档 Review 通过;当前 Critical 0、Important 0、Minor 0,全部已记录问题闭合。** 此结论只适用于下列固定 diff,不声明其他仓当前源码、PR、CI、合入或部署已完成。
|
||||
|
||||
## 固定对象
|
||||
|
||||
- Documents 工作区:`/home/weichen/projects/Agent-System-Dev-wt-feature-iam-i1-permission-boundaries/modules/documents`。
|
||||
- base:`129cc3579d9c9e3edfb46c99270d65f3e1dad0a0`。
|
||||
- 初审 head:`b4a2573742d1377d432704f0114832d0af5a3c7b`。
|
||||
- 首轮整改复审 head:`30bceb748fdb01f56ef622c6bc490b2115f62725`。
|
||||
- 最终复审/本结论 head:`ba9d76426ded94b0ab760b25201c3a389541b4ee`。
|
||||
- 正式审阅 diff:`129cc3579d9c9e3edfb46c99270d65f3e1dad0a0...ba9d76426ded94b0ab760b25201c3a389541b4ee`,5 个文件:批准方案、I1 合同、阶段 6 实施记录、阶段 7 验收记录、INDEX。
|
||||
- 整改 diff:`b4a2573742d1377d432704f0114832d0af5a3c7b...30bceb748fdb01f56ef622c6bc490b2115f62725`,仅修改合同页首授权状态与 INDEX 的 IAM 状态文字。没有改动权限语义或批准方案。
|
||||
- 最后一项整改 diff:`30bceb748fdb01f56ef622c6bc490b2115f62725...ba9d76426ded94b0ab760b25201c3a389541b4ee`,仅合同第 108–109 行两句,明确 Backend 原快照与后续组合须重新固定核验。
|
||||
- 批准原文文件 SHA256:`39b8e9a6e078dc509bd80118c1807ce6ed23e4466e5902b51f4bfa255d55c0a1`;独立重放三次均核验保持此摘要。原方案的草案状态是保存的历史批准对象,不要求改写它而破坏摘要。
|
||||
|
||||
## 先重放、后阅读作者材料
|
||||
|
||||
在读取作者验收/自检材料及任务卡收据之前,已独立运行最小重放集。命令和完整脱敏输出由 Dev 的现代 evidence.py 保存,来源均为 **SELF**;独立审阅身份不把工具来源提升为 GATE 或 REPLAY。
|
||||
|
||||
初审命令:
|
||||
|
||||
```text
|
||||
RECEIPT=/tmp/iam-i1-stage8-independent-docs-review.json CMD='git -C /home/weichen/projects/Agent-System-Dev-wt-feature-iam-i1-permission-boundaries/modules/documents diff --check 129cc3579d9c9e3edfb46c99270d65f3e1dad0a0...b4a2573742d1377d432704f0114832d0af5a3c7b && python3 /tmp/iam-i1-u1-doccheck.py' python3 /home/weichen/projects/Agent-System-Dev-wt-feature-iam-i1-permission-boundaries/scripts/evidence.py
|
||||
```
|
||||
|
||||
初审收据:`/tmp/iam-i1-stage8-independent-docs-review.json`;exit=0;receipt_sha256=`3604658204d53c94e905b7f5281c7f1ebb0507c6b5ffc6fe12923f6ff54ba8e6`。
|
||||
|
||||
复审命令:
|
||||
|
||||
```text
|
||||
RECEIPT=/tmp/iam-i1-stage8-independent-docs-review-v2.json CMD='git -C /home/weichen/projects/Agent-System-Dev-wt-feature-iam-i1-permission-boundaries/modules/documents diff --check 129cc3579d9c9e3edfb46c99270d65f3e1dad0a0...30bceb748fdb01f56ef622c6bc490b2115f62725 && python3 /tmp/iam-i1-u1-doccheck.py' python3 /home/weichen/projects/Agent-System-Dev-wt-feature-iam-i1-permission-boundaries/scripts/evidence.py
|
||||
```
|
||||
|
||||
复审收据:`/tmp/iam-i1-stage8-independent-docs-review-v2.json`;exit=0;receipt_sha256=`1a77cf93f374019a86a81a62bde91b0c21c362a555f27e577de476a8e113e290`。
|
||||
|
||||
最终复审命令:
|
||||
|
||||
```text
|
||||
RECEIPT=/tmp/iam-i1-stage8-independent-docs-review-v3.json CMD='git -C /home/weichen/projects/Agent-System-Dev-wt-feature-iam-i1-permission-boundaries/modules/documents diff --check 129cc3579d9c9e3edfb46c99270d65f3e1dad0a0...ba9d76426ded94b0ab760b25201c3a389541b4ee && python3 /tmp/iam-i1-u1-doccheck.py' python3 /home/weichen/projects/Agent-System-Dev-wt-feature-iam-i1-permission-boundaries/scripts/evidence.py
|
||||
```
|
||||
|
||||
最终复审收据:`/tmp/iam-i1-stage8-independent-docs-review-v3.json`;exit=0;receipt_sha256=`6a39ff76afb42b5c9a4f91b38616db713ff6195f95a9f53f56c4801a7c36681a`。再次通过 diff 空白、批准原文摘要、87 个链接目标、R1–R20 与 17 个稳定动作及其余 doccheck 判据。
|
||||
|
||||
evidence 的执行 cwd 是 Dev;三次收据记录 Dev HEAD `4292fe3c6d9e7b2e874b137f72b8433756ecde1f` 及组合状态。被审 Documents 的完整 SHA 则明确固定在命令 diff 参数中,并在读取前后以 git rev-parse 和 clean status 核对。不能将 Dev HEAD 当成 Documents HEAD。
|
||||
|
||||
最小重放覆盖差异空白、批准原文摘要、当前本地链接目标、R1–R20 各一次追溯、17 个稳定 action/scope、公开申请四要素、I1 legacy 与后续多职边界、RDM 三份规范修订入口及固定 RDM R0 的 08 核心 R1–R5 保持。脚本读取 RDM 的冻结规范文档,不修改该仓;它不验证 Markdown anchor、平台链接身份或业务行为。
|
||||
|
||||
## 需求与范围审阅
|
||||
|
||||
- 批准方案 R2/R10、KTD4 与 U4/U5 明确一职多人、一人多职、项目明确选用 binding,并要求完整路径判定,不拼接不同角色的 grant 与资源范围。I1 合同第 15、21、24–27、77–92、174 行保持这一设计,将当前单绑定兼容与后续最终模型分开,没有以 legacy 实现取代用户的多职裁定。
|
||||
- 原方案 R7、KTD3/KTD4 与 I1 合同第 14、28–29、60–62、96–105、135 行一致:系统管理员管理系统主数据,管理员身份和 Host.IsAdmin 不隐含业务项目、正文、原件、草稿或审计访问。独立 audit.read 与当前完整 doc.read 的聚合兼容限制有明示。
|
||||
- 17 个 I1 稳定动作保持系统/项目 scope,旧入口有映射,未知 ID 不隐式变成别名。系统动作不可由 project.settings 或项目覆盖获得;创建者仍先验平台与角色 cap。
|
||||
- IAM-P/D/R/C 及补充 IAM-H/K 均标为公开申请或集成缺口,规定提供者/消费者版本、失败拒绝与兼容方式,没有把保存合同当成导出实现。完整资料/目录/恢复、多绑定、项目选用、资源职责、UI、epoch 与迁移继续归属 U3–U9。
|
||||
- RDM adoption 逐项维护 R1–R20 到既有 UR/SR 和后续单元的追溯;原 ID 与 08 核心规则保留。本 Review 不把映射完整等同于 R1–R20 行为关闭。
|
||||
|
||||
## 问题及闭合
|
||||
|
||||
### Important D1 — 授权终点的当前表述与阶段 7 已通过冲突(已闭合)
|
||||
|
||||
初审位置:`docs/proposals/2026-10-13-iam-i1-permission-contract.md:6`,在原本地实施终点的基础上裸写“未授权推送、PR、合入”,但 `2026-10-13-iam-i1-acceptance.md:3–5` 已记录用户阶段 7 确认并按 policy 进入 8–9。继续原表述会使后续执行者从两个当前入口读到相冲突的交付边界。
|
||||
|
||||
实施者在 `30bceb748fdb01f56ef622c6bc490b2115f62725` 将原终点明确为历史,并关联阶段 6/7 的通过和当前 Review/PR/CI/合入责任,同时保留迁移、部署、清理和后续增量未授权。本人检查整改 diff 与复审收据,确认闭合;无需改写批准方案原文。
|
||||
|
||||
### Minor D2 — INDEX 仍显示阶段 7 待验收(已闭合)
|
||||
|
||||
初审位置:`docs/proposals/INDEX.md:12–13`。该导航把已通过的阶段 7 显示为待用户验收,容易导致重复请求批准和错误恢复阶段。
|
||||
|
||||
实施者在同一复审提交更新为实施评审及阶段 7 已通过、当前进入 8–9;本人复审确认与 acceptance 第 3–5 行一致。闭合。
|
||||
|
||||
### Minor D3 — 公开能力表应注明其历史固定提供者(已闭合)
|
||||
|
||||
位置:`docs/proposals/2026-10-13-iam-i1-permission-contract.md:108–115,121–123`。2.11.0、owner+valid 等现有能力叙述对应 I1 原固定 Backend `0f192a481388184df39f81c28b0587a7e16ec3ca`;它与阶段 7 固定组合相符。当前同步中的 Dev 提供者已前进到 2.12,目录已有额外 Name/Search,因此“当前”一词容易被未来消费者读成所有组合的即时事实。
|
||||
|
||||
建议后续组合状态收口时在此表标明“原 I1 合同的 Backend 0f192a48 快照”,并把新的固定组合能力放在当前任务记录,继续分别核验提供者与消费者。该差异不改变 I1 规则、不要求扩大 IAM-D 或启动 U3,也不构成当前文档 Review 阻断。本人未对正在变化的 RDM 工作树作固定业务结论。
|
||||
|
||||
实施者在 `ba9d76426ded94b0ab760b25201c3a389541b4ee` 按此建议修订合同第 108–109 行,明确原 Backend 完整 SHA、2.11 为原快照且不代表后续主干能力,同步组合仍须实际固定核验。本人独立检查相对首轮复审对象的 diff,确认仅此两句;最终完整最小重放通过,原文摘要不变,D3 闭合。未参与修订。
|
||||
|
||||
## 证据和诚实边界
|
||||
|
||||
重放之后核对了阶段 7 引用的 4 个完整作者/前期审阅收据:Dev `ea7b7758…`、RDM `6e684a90…`、独立 focused `6bbb0f74…`、独立 HTTP `c7edde36…`,其命令、exit=0、before/after head 与报告列出的对应历史对象一致,均保留 SELF。报告承认编译/夹具/确认流失败和零用例不能计为业务通过。
|
||||
|
||||
阶段 6 页第 73 行把旧测试和缺项表明示为当时快照,阶段 7 页明示其固定对象、用户决定、全产品浏览器与真实模型对照缺项,以及 PostgreSQL、多实例、epoch、恢复、多职和完整三权的后续归属;没有声称部署、生产数据验收或完整 R1–R20 已关闭。
|
||||
|
||||
此审阅只重新执行文档最小检查;没有重新运行业务 make test、HTTP、浏览器或真实模型,因此不以作者历史收据替代这些路径的当前重放。另一个指定源码审阅及最终组合验证负责其对应结论。平台所需非作者账号批准、当前 HEAD 的可信 CI、最新 base/head、冲突和 PR 准入仍须由交付者独立核验;本 Review 不能替代这些条件。
|
||||
|
||||
就上述固定 Documents diff 而言,全部 Important/Minor 已闭合,权限设计/需求追溯和证据边界一致,可进入下一交付门禁。base/head 或规范语义变化时按影响复审。
|
||||
@@ -0,0 +1 @@
|
||||
{"pr": 98, "url": "https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Documents/pulls/98", "head": "ba9d76426ded94b0ab760b25201c3a389541b4ee", "merge_sha": "3cf263962bd106529ee0531c8415cb16eecedfe3", "base": "main", "merged_by": "weichen", "merged_at": "2026-10-13T15:39:54Z"}
|
||||
@@ -0,0 +1 @@
|
||||
{"pr": 98, "state": "open", "merged": false, "base": "129cc3579d9c9e3edfb46c99270d65f3e1dad0a0", "head": "ba9d76426ded94b0ab760b25201c3a389541b4ee", "mergeable": true, "draft": false, "status": {"http_status": 200, "data": {"state": "pending", "sha": "ba9d76426ded94b0ab760b25201c3a389541b4ee", "total_count": 0, "statuses": null, "repository": {"id": 19, "owner": {"id": 1, "login": "weichen", "login_name": "", "source_id": 0, "full_name": "", "email": "weichen@home.local", "avatar_url": "https://git-home.u1680832.nyat.app:30319/avatars/51e6cd4a83883a2910632d26ebc6d665", "html_url": "https://git-home.u1680832.nyat.app:30319/weichen", "language": "", "is_admin": false, "last_login": "0001-01-01T00:00:00Z", "created": "2026-09-06T14:39:07Z", "restricted": false, "active": false, "prohibit_login": false, "location": "", "website": "", "description": "", "visibility": "public", "followers_count": 0, "following_count": 0, "starred_repos_count": 0, "username": "weichen"}, "name": "Agent-System-Documents", "full_name": "weichen/Agent-System-Documents", "description": "系统文档与过程记录仓:架构决策、方案与验证记录、插件开发指南;不含产品代码。", "empty": false, "private": false, "fork": false, "template": false, "mirror": false, "size": 1447, "language": "", "languages_url": "https://git-panel.u1680832.nyat.app:30319/api/v1/repos/weichen/Agent-System-Documents/languages", "html_url": "https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Documents", "url": "https://git-panel.u1680832.nyat.app:30319/api/v1/repos/weichen/Agent-System-Documents", "link": "", "ssh_url": "ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Documents.git", "clone_url": "https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Documents.git", "original_url": "", "website": "", "stars_count": 0, "forks_count": 0, "watchers_count": 1, "branch_count": 76, "open_issues_count": 0, "open_pr_counter": 3, "release_counter": 0, "default_branch": "main", "archived": false, "created_at": "2026-09-28T07:07:06Z", "updated_at": "2026-10-13T15:39:22Z", "archived_at": "1970-01-01T00:00:00Z", "permissions": {"admin": true, "push": true, "pull": true}, "has_code": true, "has_issues": true, "internal_tracker": {"enable_time_tracker": true, "allow_only_contributors_to_track_time": true, "enable_issue_dependencies": true}, "has_wiki": true, "has_pull_requests": true, "has_projects": true, "projects_mode": "all", "has_releases": true, "has_packages": true, "has_actions": true, "ignore_whitespace_conflicts": false, "allow_merge_commits": true, "allow_rebase": true, "allow_rebase_explicit": true, "allow_squash_merge": true, "allow_fast_forward_only_merge": true, "allow_merge_update": true, "allow_rebase_update": true, "allow_manual_merge": false, "autodetect_manual_merge": false, "default_delete_branch_after_merge": false, "default_merge_style": "merge", "default_update_style": "merge", "default_allow_maintainer_edit": true, "avatar_url": "", "internal": false, "mirror_interval": "", "object_format_name": "sha1", "mirror_updated": "0001-01-01T00:00:00Z", "mirror_last_sync_at": "0001-01-01T00:00:00Z", "topics": [], "licenses": []}, "commit_url": "https://git-panel.u1680832.nyat.app:30319/api/v1/repos/weichen/Agent-System-Documents/commits/ba9d76426ded94b0ab760b25201c3a389541b4ee", "url": "https://git-panel.u1680832.nyat.app:30319/api/v1/repos/weichen/Agent-System-Documents/commits/ba9d76426ded94b0ab760b25201c3a389541b4ee/status"}}, "protection": {"http_status": 200, "data": {"branch_name": "main", "rule_name": "main", "priority": 1, "enable_push": false, "enable_push_whitelist": false, "push_whitelist_usernames": [], "push_whitelist_teams": [], "push_whitelist_deploy_keys": false, "enable_force_push": false, "enable_force_push_allowlist": false, "force_push_allowlist_usernames": [], "force_push_allowlist_teams": [], "force_push_allowlist_deploy_keys": false, "enable_merge_whitelist": false, "merge_whitelist_usernames": [], "merge_whitelist_teams": [], "enable_bypass_allowlist": false, "bypass_allowlist_usernames": [], "bypass_allowlist_teams": [], "enable_status_check": false, "status_check_contexts": null, "required_approvals": 0, "enable_approvals_whitelist": false, "approvals_whitelist_username": [], "approvals_whitelist_teams": [], "block_on_rejected_reviews": false, "block_on_official_review_requests": false, "block_on_outdated_branch": true, "dismiss_stale_approvals": false, "ignore_stale_approvals": false, "require_signed_commits": false, "protected_file_patterns": "", "unprotected_file_patterns": "", "block_admin_merge_override": false, "created_at": "2026-09-30T03:46:04Z", "updated_at": "2026-09-30T03:46:04Z"}}}
|
||||
@@ -0,0 +1 @@
|
||||
{"http_status": 200, "data": null}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
-1
Submodule modules/documents updated: 064d4b5f68...3cf263962b
Reference in New Issue
Block a user