1
2026-06-08 6a3005dcd03089561de45c9742d816c023f65309
修改了一些体系
12 files modified
1 files deleted
4 files added
381 ■■■■■ changed files
common/ai-workplace/AI工作空间创建指南.md 14 ●●●●● patch | view | raw | blame | history
common/ana-doc/案例审核规范.md 4 ●●●● patch | view | raw | blame | history
common/codex-bridge/Codex桥接说明.md 82 ●●●●● patch | view | raw | blame | history
common/codex-bridge/agents.example.json 11 ●●●●● patch | view | raw | blame | history
common/codex-bridge/send-codex-message.ps1 223 ●●●●● patch | view | raw | blame | history
common/dev-doc/开发审计规范.md 2 ●●●●● patch | view | raw | blame | history
common/exp-doc/实验审核规范.md 2 ●●●●● patch | view | raw | blame | history
common/manage-doc/管理体系规范.md 4 ●●● patch | view | raw | blame | history
common/pro-doc/需求审核规范.md 2 ●●●●● patch | view | raw | blame | history
common/project-doc/项目审计规范.md 2 ●●●●● patch | view | raw | blame | history
common/project-doc/项目配置清单模版.md 2 ●●● patch | view | raw | blame | history
data/codex-bridge/agents.json 11 ●●●●● patch | view | raw | blame | history
~$$管理体系说明.~vsdx patch | view | raw | blame | history
体系创建流程.md 6 ●●●●● patch | view | raw | blame | history
全局规范.md 8 ●●●● patch | view | raw | blame | history
目录导读.md 1 ●●●● patch | view | raw | blame | history
管理系统说明.md 7 ●●●●● patch | view | raw | blame | history
common/ai-workplace/AI工作空间创建指南.md
@@ -84,6 +84,8 @@
| 数据负责人 | 管理数据字典、数据存储说明和正式数据入口 | `data-doc/`;项目约定数据目录;该 AI 工作空间 |
| 审核员(指定体系审核) | 审核指定体系的设计、计划、执行、证据链和结果边界 | 对应体系审计报告;必要时在问题记录写跨轮索引;该 AI 工作空间 |
审核员可维护自己审核职责对应的本地审核 / 审计规范,例如 `exp-doc/实验审计规范.md`、`ana-doc/案例审核规范.md`、`dev-doc/开发审计规范.md`、`pro-doc/需求审核规范.md`;该权限只用于审核流程和审计口径维护,不代表可以修改被审体系的执行规范、事项计划、执行日志、结果包或主产物。若需要修改执行规范,必须另授体系维护 / 规范维护角色,或创建独立规范维护事项。
组合角色示例:
| 组合角色 | 解释 |
@@ -102,7 +104,7 @@
| 开发角色 | 必读文档 |
|---|---|
| 需求-开发 | 项目本地 `pro-doc/需求规范.md`、相关需求总纲 / 需求文档 / 需求方案 / 三大需求文档;项目本地 `dev-doc/编码规范.md`、`dev-doc/开发审计规范.md` |
| 实验-开发 | 项目本地 `exp-doc/实验规范.md`、`exp-doc/实验审核规范.md`、相关实验总纲 / 实验设计;项目本地 `dev-doc/编码规范.md`、`dev-doc/开发审计规范.md` |
| 实验-开发 | 项目本地 `exp-doc/实验规范.md`、`exp-doc/实验审计规范.md`、相关实验总纲 / 实验设计;项目本地 `dev-doc/编码规范.md`、`dev-doc/开发审计规范.md` |
| 案例分析-开发 | 项目本地 `ana-doc/案例分析规范.md`、`ana-doc/案例分析审核规范.md`、相关案例总纲 / 案例设计或案例流程;项目本地 `dev-doc/编码规范.md`、`dev-doc/开发审计规范.md` |
| 项目工具开发 | 项目本地 `项目规范.md`、`项目配置清单.md`、相关项目事项总纲 / 项目事项计划;项目本地 `dev-doc/编码规范.md`、`dev-doc/开发审计规范.md` |
@@ -112,7 +114,7 @@
|---|---|
| 需求审核员 | 项目本地 `pro-doc/需求规范.md`、`pro-doc/需求审核规范.md`、被审需求事项账本和上游聊天 / 文档证据 |
| 开发审核员 | 项目本地 `dev-doc/编码规范.md`、`dev-doc/开发审计规范.md`、被审开发事项账本、目标体系规范和开发产物证据;审计报告入口按目标体系查看项目配置清单 |
| 实验审核员 | 项目本地 `exp-doc/实验规范.md`、`exp-doc/实验审核规范.md`、被审实验总纲 / 实验设计 / 执行日志 / 结果包 |
| 实验审核员 | 项目本地 `exp-doc/实验规范.md`、`exp-doc/实验审计规范.md`、被审实验总纲 / 实验设计 / 执行日志 / 结果包 |
| 案例分析审核员 | 项目本地 `ana-doc/案例分析规范.md`、`ana-doc/案例分析审核规范.md`、被审案例账本 / 执行记录 / 图片或数据证据 |
| 项目事项审核员 | 项目本地 `项目规范.md`、`项目配置清单.md`、项目事项总纲 / 项目事项计划 / 项目执行日志 / 项目变更记录 |
@@ -219,7 +221,8 @@
7. 正式产物目录、草稿目录、临时目录和审计入口。
8. 任务入口路由:接到任务后应该先查哪个配置、再读哪个体系规范。
9. 审核边界:如果该 AI 是审核员,要写清审核体系、审计报告入口和不能直接改被审计产物。
10. 禁止事项和越权边界。
10. 审核规范维护边界:如果该 AI 是审核员,要写清可维护的本地审核 / 审计规范入口,以及不得默认修改的被审体系执行规范入口。
11. 禁止事项和越权边界。
`工作说明.md` 不能替代 `实验规范.md`、`编码规范.md`、`开发审计规范.md`、`项目规范.md` 等体系文档。体系流程变化时,以对应体系文档为准,工作说明只做入口索引。
审核员角色的“必读文档入口”必须同时列出被审体系规范、审计规范 / 审计报告入口、被审对象账本入口。
@@ -274,6 +277,7 @@
4. 私有项目问题反馈:`ai-<AI_NAME>/项目问题反馈.md`
5. 正式产物:<按角色列出正式目录;注明路径是否相对项目根目录>
6. 审计入口:<如有审核角色,列出对应审计报告;注明路径是否相对项目根目录>
7. 审核规范维护入口:<如有审核角色,列出可维护的本地审核 / 审计规范;同时列出不得默认修改的被审体系执行规范>
## 5. 任务入口路由
@@ -371,10 +375,10 @@
组合角色还必须按角色类型做专项校验:
1. 需求-开发角色:`工作说明.md` 必须同时列出 `pro-doc/需求规范.md`、相关需求事项账本或需求文档入口、`dev-doc/编码规范.md`、`dev-doc/开发审计规范.md`、`dev/pro-dev/`、`dev-doc/pro-doc/`。
2. 实验-开发角色:`工作说明.md` 必须同时列出 `exp-doc/实验规范.md`、`exp-doc/实验审核规范.md`、相关实验总纲 / 实验设计入口、`dev-doc/编码规范.md`、`dev-doc/开发审计规范.md`、目标实验开发工作区。
2. 实验-开发角色:`工作说明.md` 必须同时列出 `exp-doc/实验规范.md`、`exp-doc/实验审计规范.md`、相关实验总纲 / 实验设计入口、`dev-doc/编码规范.md`、`dev-doc/开发审计规范.md`、目标实验开发工作区。
3. 案例分析-开发角色:`工作说明.md` 必须同时列出案例分析规范、案例审核规范、相关案例账本入口、`dev-doc/编码规范.md`、`dev-doc/开发审计规范.md`、目标案例开发工作区。
4. 需求-开发-审核员:`工作说明.md` 必须同时列出需求规范、需求审核规范、编码规范、开发审计规范、需求审计报告、`dev-doc/开发审计报告.md`、需求事项账本入口、开发事项账本入口;不得只列审计报告或只列审核规范。
5. 实验-开发-审核员:`工作说明.md` 必须同时列出实验规范、实验审核规范、编码规范、开发审计规范、`exp-doc/实验审计报告.md`、实验事项账本入口、开发事项账本入口和实验开发工作区;不得把审计入口写成 `dev-doc/开发审计报告.md`。
5. 实验-开发-审核员:`工作说明.md` 必须同时列出实验规范、实验审计规范、编码规范、开发审计规范、`exp-doc/实验审计报告.md`、实验事项账本入口、开发事项账本入口和实验开发工作区;不得把审计入口写成 `dev-doc/开发审计报告.md`。
6. 案例分析-开发-审核员:`工作说明.md` 必须同时列出案例分析规范、案例审核规范、编码规范、开发审计规范、`ana-doc/案例审计报告.md`、案例事项账本入口、开发事项账本入口和案例分析开发工作区;不得把审计入口写成 `dev-doc/开发审计报告.md`。
7. 任一组合审核员:必须列出它要审核的每个体系的“怎么做”文档和“怎么审”文档。如果漏任一体系规范,校验不通过。
common/ana-doc/案例审核规范.md
@@ -128,6 +128,10 @@
审核员可以运行只读检查脚本、打开图片、读取表格、人工计算关键触发点。
审核员可以维护项目本地 `案例审核规范.md`,仅限修正案例审核流程、审计口径和阻断标准;不得借此修改被审的案例分析规范、案例设计、执行日志、结果包或主产物。
审核员不得直接改被审计主产物来掩盖问题。
如确需修改案例分析执行规范,应创建规范维护事项,或额外授予案例体系维护 / 规范维护角色,并记录原因、影响范围和复审入口。
审核员应抓真问题,不把边角料升级成阻断。
common/codex-bridge/Codex桥接说明.md
New file
@@ -0,0 +1,82 @@
# Codex 常驻会话桥接说明
创建人员:Codex
文件职责:说明如何把管理系统消息发送到常驻 Codex 会话。
管理规范/模板:../../全局规范.md;../ai-workplace/AI工作空间创建指南.md。
引用文件:agents.example.json;send-codex-message.ps1。
记录方式:工具说明文档;桥接协议或使用方式变化时追加更新。
## 1. 目标
本目录用于验证和沉淀一种桥接方式:
```text
管理系统 / 脚本
-> Codex app-server WebSocket / JSON-RPC
-> 指定 thread
-> 常驻 Codex TUI 或后台会话
```
目标不是每次调用 `codex exec` 新起一个会话,而是向已经登记的 `thread_id` 发消息。
## 2. 当前前置条件
必须先有一个可连接的 Codex app-server:
```powershell
codex.cmd app-server --listen ws://127.0.0.1:4567
```
并且目标观察员窗口应连接到同一个 app-server,或至少目标 `thread_id` 已经在该 app-server 可恢复。
如果 app-server 没有监听,`send-codex-message.ps1` 会 fail-fast,不会假装发送成功。
## 3. Agent 注册表
参考 `agents.example.json` 创建项目自己的注册表,建议放在:
```text
D:/manage_system/data/codex-bridge/agents.json
```
关键字段:
| 字段 | 说明 |
|---|---|
| `server_url` | Codex app-server WebSocket 地址 |
| `thread_id` | 目标 Codex thread id;为空时脚本可创建新 thread |
| `cwd` | 该 agent 默认工作目录 |
| `model` | 可选;发 turn 时覆盖模型 |
| `approval_policy` | 可选;默认建议 `never` |
| `sandbox` | 可选;默认按 thread 原设置 |
## 4. 发送消息
```powershell
.\send-codex-message.ps1 `
  -Agent observer `
  -Message "你按 ag 检查最近实验,有问题全部报给我"
```
指定注册表:
```powershell
.\send-codex-message.ps1 `
  -RegistryPath D:/manage_system/data/codex-bridge/agents.json `
  -Agent observer `
  -Message "桥接测试:回复 OK"
```
如果没有 `thread_id`,允许创建新 thread:
```powershell
.\send-codex-message.ps1 -Agent observer -Message "初始化观察员" -CreateThreadIfMissing
```
## 5. 已知限制
1. 本工具依赖 Codex app-server 的实验协议,协议可能随 Codex CLI 版本变化。
2. 当前脚本只实现 WebSocket JSON-RPC 路径,不使用键盘模拟。
3. `codex.cmd app-server --listen ws://...` 在部分环境下可能进程存在但端口未监听,遇到这种情况应先解决 app-server 启动问题。
4. 不建议把消息发到没有队列锁的同一个 thread;同一时间同一 thread 最好只跑一个 turn。
common/codex-bridge/agents.example.json
New file
@@ -0,0 +1,11 @@
{
  "observer": {
    "server_url": "ws://127.0.0.1:4567",
    "thread_id": "",
    "cwd": "D:/strategy_project/s-system-doc/tianxia-mirror",
    "model": null,
    "approval_policy": "never",
    "sandbox": "danger-full-access"
  }
}
common/codex-bridge/send-codex-message.ps1
New file
@@ -0,0 +1,223 @@
param(
  [Parameter(Mandatory = $true)]
  [string]$Agent,
  [Parameter(Mandatory = $true)]
  [string]$Message,
  [string]$RegistryPath = "D:/manage_system/data/codex-bridge/agents.json",
  [string]$ServerUrl,
  [string]$ThreadId,
  [string]$Cwd,
  [switch]$CreateThreadIfMissing,
  [switch]$NoWait,
  [int]$TimeoutSeconds = 180
)
Set-StrictMode -Version Latest
$ErrorActionPreference = "Stop"
function Read-AgentConfig {
  param([string]$Path, [string]$Name)
  if (!(Test-Path -LiteralPath $Path)) {
    throw "Agent registry not found: $Path. Copy agents.example.json to this path and fill observer config."
  }
  $registry = Get-Content -LiteralPath $Path -Encoding UTF8 -Raw | ConvertFrom-Json
  if (-not ($registry.PSObject.Properties.Name -contains $Name)) {
    throw "Agent '$Name' not found in registry: $Path"
  }
  return $registry.$Name
}
function New-ClientWebSocket {
  param([string]$Url)
  $ws = [System.Net.WebSockets.ClientWebSocket]::new()
  $ct = [Threading.CancellationToken]::None
  try {
    $ws.ConnectAsync([Uri]$Url, $ct).GetAwaiter().GetResult()
  } catch {
    throw "Failed to connect Codex app-server at $Url. Ensure 'codex.cmd app-server --listen $Url' is running and actually listening. Detail: $($_.Exception.Message)"
  }
  return $ws
}
function Send-JsonRpc {
  param(
    [System.Net.WebSockets.ClientWebSocket]$WebSocket,
    [object]$Payload
  )
  $json = $Payload | ConvertTo-Json -Depth 100 -Compress
  $bytes = [Text.Encoding]::UTF8.GetBytes($json)
  $segment = [ArraySegment[byte]]::new($bytes)
  $ct = [Threading.CancellationToken]::None
  $WebSocket.SendAsync($segment, [System.Net.WebSockets.WebSocketMessageType]::Text, $true, $ct).GetAwaiter().GetResult()
}
function Receive-JsonRpc {
  param(
    [System.Net.WebSockets.ClientWebSocket]$WebSocket,
    [int]$TimeoutSeconds
  )
  $deadline = [DateTime]::UtcNow.AddSeconds($TimeoutSeconds)
  $buffer = New-Object byte[] 65536
  $ms = New-Object System.IO.MemoryStream
  $ct = [Threading.CancellationToken]::None
  do {
    if ([DateTime]::UtcNow -gt $deadline) {
      throw "Timed out waiting for Codex app-server message after $TimeoutSeconds seconds."
    }
    $segment = [ArraySegment[byte]]::new($buffer)
    $task = $WebSocket.ReceiveAsync($segment, $ct)
    if (-not $task.Wait(1000)) {
      continue
    }
    $result = $task.GetAwaiter().GetResult()
    if ($result.MessageType -eq [System.Net.WebSockets.WebSocketMessageType]::Close) {
      throw "Codex app-server closed the WebSocket."
    }
    if ($result.Count -gt 0) {
      $ms.Write($buffer, 0, $result.Count)
    }
  } until ($result.EndOfMessage)
  $text = [Text.Encoding]::UTF8.GetString($ms.ToArray())
  return $text | ConvertFrom-Json
}
function Wait-Response {
  param(
    [System.Net.WebSockets.ClientWebSocket]$WebSocket,
    [int]$Id,
    [int]$TimeoutSeconds
  )
  while ($true) {
    $msg = Receive-JsonRpc -WebSocket $WebSocket -TimeoutSeconds $TimeoutSeconds
    if (($msg.PSObject.Properties.Name -contains "id") -and [int]$msg.id -eq $Id) {
      if ($msg.PSObject.Properties.Name -contains "error") {
        throw "Codex app-server returned error for request $Id`: $($msg.error | ConvertTo-Json -Depth 20 -Compress)"
      }
      return $msg.result
    }
    Write-Host ($msg | ConvertTo-Json -Depth 20 -Compress)
  }
}
function Wait-TurnCompleted {
  param(
    [System.Net.WebSockets.ClientWebSocket]$WebSocket,
    [string]$TurnId,
    [int]$TimeoutSeconds
  )
  while ($true) {
    $msg = Receive-JsonRpc -WebSocket $WebSocket -TimeoutSeconds $TimeoutSeconds
    Write-Host ($msg | ConvertTo-Json -Depth 30 -Compress)
    if (($msg.PSObject.Properties.Name -contains "method") -and $msg.method -eq "turn/completed") {
      if (-not $TurnId) { return $msg.params }
      if (($msg.params.PSObject.Properties.Name -contains "turn") -and $msg.params.turn.id -eq $TurnId) {
        return $msg.params
      }
    }
  }
}
$agentConfig = Read-AgentConfig -Path $RegistryPath -Name $Agent
if (-not $ServerUrl) { $ServerUrl = [string]$agentConfig.server_url }
if (-not $ThreadId) { $ThreadId = [string]$agentConfig.thread_id }
if (-not $Cwd) { $Cwd = [string]$agentConfig.cwd }
if (-not $ServerUrl) {
  throw "server_url is required for agent '$Agent'."
}
$ws = New-ClientWebSocket -Url $ServerUrl
try {
  $nextId = 1
  Send-JsonRpc -WebSocket $ws -Payload @{
    id = $nextId
    method = "initialize"
    params = @{
      clientInfo = @{
        name = "codex-bridge"
        version = "0.1.0"
      }
      capabilities = @{
        experimentalApi = $true
      }
    }
  }
  [void](Wait-Response -WebSocket $ws -Id $nextId -TimeoutSeconds $TimeoutSeconds)
  $nextId++
  if (-not $ThreadId) {
    if (-not $CreateThreadIfMissing) {
      throw "thread_id is empty for agent '$Agent'. Use -CreateThreadIfMissing to create a new thread, then write the returned thread_id back to $RegistryPath."
    }
    $threadParams = @{
      cwd = $Cwd
      approvalPolicy = $agentConfig.approval_policy
      sandbox = $agentConfig.sandbox
      model = $agentConfig.model
      persistExtendedHistory = $true
    }
    Send-JsonRpc -WebSocket $ws -Payload @{ id = $nextId; method = "thread/start"; params = $threadParams }
    $threadResult = Wait-Response -WebSocket $ws -Id $nextId -TimeoutSeconds $TimeoutSeconds
    $ThreadId = [string]$threadResult.thread.id
    Write-Host "CREATED_THREAD_ID=$ThreadId"
    $nextId++
  } else {
    $resumeParams = @{
      threadId = $ThreadId
      cwd = $Cwd
      approvalPolicy = $agentConfig.approval_policy
      sandbox = $agentConfig.sandbox
      model = $agentConfig.model
      excludeTurns = $true
    }
    Send-JsonRpc -WebSocket $ws -Payload @{ id = $nextId; method = "thread/resume"; params = $resumeParams }
    [void](Wait-Response -WebSocket $ws -Id $nextId -TimeoutSeconds $TimeoutSeconds)
    $nextId++
  }
  $turnParams = @{
    threadId = $ThreadId
    cwd = $Cwd
    approvalPolicy = $agentConfig.approval_policy
    sandboxPolicy = $null
    model = $agentConfig.model
    input = @(
      @{
        type = "text"
        text = $Message
      }
    )
  }
  Send-JsonRpc -WebSocket $ws -Payload @{ id = $nextId; method = "turn/start"; params = $turnParams }
  $turnResult = Wait-Response -WebSocket $ws -Id $nextId -TimeoutSeconds $TimeoutSeconds
  $turnId = [string]$turnResult.turn.id
  Write-Host "TURN_ID=$turnId"
  if (-not $NoWait) {
    [void](Wait-TurnCompleted -WebSocket $ws -TurnId $turnId -TimeoutSeconds $TimeoutSeconds)
  }
} finally {
  if ($ws) { $ws.Dispose() }
}
common/dev-doc/开发审计规范.md
@@ -29,6 +29,7 @@
2. 执行证据链上的脚本、测试或检查命令。
3. 写 `开发审计报告.md`。
4. 在需要跨轮跟踪时,在 `开发问题记录.md` 建立索引。
5. 维护项目本地 `开发审计规范.md`,仅限修正开发审核流程、审计口径和阻断标准;不得借此修改被审代码、编码规范或开发事项产物。
开发审核员不得:
@@ -36,6 +37,7 @@
2. 直接改测试代码。
3. 改写正式产物。
4. 替开发者修复问题后直接判自己通过。
5. 以审核员身份直接改 `编码规范.md`、开发事项计划、开发执行日志或被审开发产物;如确需修改,必须另走规范维护事项或授予规范维护角色。
如审核员同时拥有开发角色,应在记录中明确本次是“开发动作”还是“审计动作”。
common/exp-doc/实验审核规范.md
@@ -29,6 +29,8 @@
所有项目的审核员都必须遵守本文件。每个项目创建实验环境时都必须创建项目本地 `exp-doc/实验审计规范.md`。项目本地审计规范默认可以很短,只引用本文件并声明必须遵守;如果补充项目特化规则,不能违反本文件的硬约束。具体审核流程可以按 1A.1 设计本地版本。
实验审核员可以维护项目本地 `exp-doc/实验审计规范.md`,仅限修正实验审核流程、审计口径和阻断标准;不得借此修改被审的 `实验规范.md`、实验总纲、实验设计、执行日志、结果包或主产物。如确需修改实验执行规范,应创建规范维护事项,或额外授予实验体系维护 / 规范维护角色。
项目本地审核规范允许补充:
1. 项目专用审核样本口径。
common/manage-doc/管理体系规范.md
@@ -68,7 +68,8 @@
1. `manage-doc/管理审计报告.md`。
2. `manage-doc/管理问题记录.md` 中的审计问题索引或观察员反馈。
3. 自己的 `ai-<name>/` 工作空间。
3. `manage-doc/管理体系规范.md` 中的审计章节或等价本地管理审核规范,仅限修正管理审核流程、审计口径和阻断标准。
4. 自己的 `ai-<name>/` 工作空间。
禁止:
@@ -76,6 +77,7 @@
2. 直接改写管理管理员已经记录的执行日志或变更记录来掩盖问题。
3. 无条件批准管理管理员自己的高风险动作。
4. 用边角料问题阻断不影响证据链、权限、配置或结果的管理动作。
5. 以管理观察员身份直接修改被审的管理执行规范、配置、计划、日志或主产物;如确需修改,应创建规范维护事项或由管理管理员授予明确维护角色。
## 4. 高风险管理动作
common/pro-doc/需求审核规范.md
@@ -8,6 +8,8 @@
统一依赖:本规范必须同时遵守 `../../全局规范.md` 和 `../project-doc/项目规范.md`;项目本地需求审核规范可补充流程,但不得违反全局规范、全局项目规范和本体系硬约束。
需求审核员可以维护项目本地 `需求审核规范.md`,仅限修正需求审核流程、审计口径和阻断标准;不得借此修改被审的 `需求规范.md`、需求设计、需求执行日志、需求文档或主产物。如确需修改需求执行规范,应创建规范维护事项,或额外授予需求体系维护 / 规范维护角色。
## 1. 审核目标
需求审核的目标是判断需求事项是否目标清楚、设计合理、证据链完整、产物可交接。
common/project-doc/项目审计规范.md
@@ -113,6 +113,7 @@
3. 写入项目事项审计报告。
4. 在需要跨轮跟踪时写入项目问题记录索引或关联。
5. 要求项目管理员或执行者补证据、修复或复审。
6. 维护项目本地 `项目审计规范.md`,仅限修正项目审核流程、审计口径和阻断标准;不得借此修改被审的项目执行规范或项目事项产物。
项目审核员不得:
@@ -120,6 +121,7 @@
2. 用审计辅助脚本冒充项目正式执行产物。
3. 把与项目目标、计划、证据链无关的措辞或格式问题升级成阻断。
4. 为了“更完整”无边界增加项目管理流程。
5. 以审核员身份直接改被审的项目执行规范、配置、计划、日志或主产物;如确需修改,必须另走规范维护事项或由项目管理员授权维护角色。
发现边角料问题时,默认记录为建议;只有会影响项目目标、计划合理性、权限边界、目录结构、证据链或审计结论的问题,才应阻断。
common/project-doc/项目配置清单模版.md
@@ -46,7 +46,7 @@
| 实验员 | exp-doc/;exp-data/ | 实验文档、实验数据、结果包 |
| 案例分析员 | ana-doc/;ana-data/ | 案例分析文档、案例数据、图片 |
| 数据负责人 | data-doc/;<数据目录> | 数据字典、数据存储说明、正式数据入口 |
| 审核员 | 对应审计报告;问题记录仅写跨轮索引 | 不直接改被审计主产物 |
| 审核员 | 对应审计报告;对应本地审核 / 审计规范仅限审核流程维护;问题记录仅写跨轮索引 | 不直接改被审计主产物;不默认改被审体系执行规范 |
开发审核的审计报告入口按目标体系填写:需求开发、项目工具开发、独立开发事项写 `dev-doc/开发审计报告.md`;实验开发写 `exp-doc/实验审计报告.md`;案例分析开发写 `ana-doc/案例审计报告.md`。
data/codex-bridge/agents.json
New file
@@ -0,0 +1,11 @@
{
  "observer": {
    "server_url": "ws://127.0.0.1:4567",
    "thread_id": "",
    "cwd": "D:/strategy_project/s-system-doc/tianxia-mirror",
    "model": null,
    "approval_policy": "never",
    "sandbox": "danger-full-access"
  }
}
~$$管理体系说明.~vsdx
Binary files differ
体系创建流程.md
@@ -156,6 +156,12 @@
5. 审计报告写到哪里。
6. 问题如何闭环。
审核员权限边界必须区分“审核规范维护”和“被审对象修改”:
1. 审核员可以维护自己审核职责对应的本地审核 / 审计规范,用于修正审核流程、审计口径和阻断标准。
2. 审核员不默认修改被审体系执行规范、事项计划 / 设计、执行日志、结果包或主产物。
3. 如确需修改执行规范,应创建规范维护事项,或额外授予体系维护员 / 规范维护员角色,并记录原因、影响范围和复审入口。
### 5.6 写模板
模板开头必须包含:
全局规范.md
@@ -256,7 +256,7 @@
3. 开发 AI:按目标体系绑定 `dev/<target>-dev/`、`dev/<target>-dev/test/`、`dev-doc/<target>-doc/` 写权限;不默认拥有所有开发子目录写权限。
4. 实验员:`exp-doc/`、`exp-data/` 写权限。
5. 案例分析员:`ana-doc/`、`ana-data/` 写权限。
6. 审核员:主写对应审计报告;如审计问题需要跨轮跟踪,只在问题记录中写索引或关联,不直接改被审计产物。
6. 审核员:主写对应审计报告;如审计问题需要跨轮跟踪,只在问题记录中写索引或关联;可维护自己审核职责对应的本地审核 / 审计规范,但不默认改被审计产物或被审体系执行规范。
所有 AI 默认拥有项目内所有文件的读权限。
@@ -293,6 +293,7 @@
3. 写审计报告。
4. 在需要跨轮跟踪时写问题记录索引或关联。
5. 要求执行者补证据、修复或重跑。
6. 维护自己审核职责对应的本地审核 / 审计规范文档,例如 `实验审计规范.md`、`案例审核规范.md`、`开发审计规范.md`、`需求审核规范.md`。该权限只用于审核流程、审计口径和阻断标准维护,不得削弱全局规范、全局项目规范或 common 体系硬约束。
审核员默认不得:
@@ -300,8 +301,11 @@
2. 直接替执行者修改业务主表。
3. 用自己的补丁掩盖执行问题。
4. 把边角料问题升级成阻断问题。
5. 以审核员身份直接修改被审体系执行规范、事项设计 / 计划、执行日志、结果包或正式主产物;例如实验审核员不默认修改 `实验规范.md`,案例审核员不默认修改 `案例分析规范.md`。
如果审核员必须临时修复工具脚本,应明确标记为“审计辅助脚本”,不能冒充执行方正式产物。
如果确实需要修改被审体系执行规范,应创建独立的规范维护事项,或在 `项目配置清单.md` 中额外授予体系维护员 / 规范维护员角色;修改必须记录原因、影响范围、证据路径和复审入口,重大改动应由项目管理员或另一个审核员确认。
## 7. 项目根目录 `项目规范.md` 规范
@@ -599,7 +603,7 @@
2. 项目体系和开发体系默认随项目创建;其他体系由项目管理员按需启用。
3. 启用体系后,项目必须遵守 common 规范和本地规范;开发体系在未创建具体目标开发工作区前,先遵守 common/dev-doc 全局开发规范。
4. 正式文档必须有职责、引用、记录方式和目录入口;非文档产物必须能通过 manifest、索引或日志追溯。
5. 权限跟角色走,审核员不直接改被审计产物。
5. 权限跟角色走,审核员可维护对应本地审核 / 审计规范,但不直接改被审计产物或被审体系执行规范。
6. 开发体系绑定目标体系,代码放 `dev/<target>-dev/`,目标代码文档和方案附件放 `dev-doc/<target>-doc/`;正式开发账本统一放 `dev-doc/` 根目录。
7. 所有正式事项必须有目标、过程、结果和审计证据链。
8. 审核抓真问题,不吹毛求疵,不层层加码。
目录导读.md
@@ -16,6 +16,7 @@
| `project A/` | 项目 A 工作目录 |
| `project B/` | 项目 B 工作目录 |
| `project C/` | 项目 C 工作目录 |
| `project-wuji/` | wuji 项目目录,已注册 MB-X,启用项目体系、开发根体系和案例分析体系 |
## 根目录文件
管理系统说明.md
@@ -40,10 +40,9 @@
3. 实验员:绑定路径/exp-doc /exp-data
4. 案例分析员:绑定路径/ana-doc /ana-data
5. 项目管理员:绑定路径项目根目录/
6. 审核员:审核员必须是对应上面的角色之一的审核员,不绑定任何目录,只能写对应的审核体系的审核报告.md。比如说需求审计员那只能写 /pro-doc/需求审计报告.md ,比如需求开发审核员只能写
/dev-doc/pro-doc/开发审计报告.md
6. 审核员:审核员必须是对应上面的角色之一的审核员,不绑定业务执行目录,主写对应审核体系的审核 / 审计报告;可维护自己审核职责对应的本地审核 / 审计规范,但不得默认修改被审体系执行规范、事项计划、执行日志、结果包或主产物。比如需求审计员主写 `/pro-doc/需求审计报告.md` 并可维护 `/pro-doc/需求审核规范.md`;需求开发审核员主写对应开发审计报告,并可维护对应开发审计规范。
7. 管理管理员:绑定路径管理根目录和 manage-doc/,负责创建项目、启用体系、创建角色、创建会话、更新 MB-X、同步技能和修复框架问题;必须写入管理事项、管理执行日志和管理变更记录。
8. 管理观察员:管理管理员的审核员,只能写 manage-doc/管理审计报告.md、manage-doc/管理问题记录.md 和自己的 AI 工作空间;不得直接修改被审计的管理配置、执行日志和变更记录。
8. 管理观察员:管理管理员的审核员,主写 `manage-doc/管理审计报告.md`,可在 `manage-doc/管理问题记录.md` 写审计问题索引或观察员反馈,可维护管理体系中的审计口径;不得直接修改被审计的管理配置、执行日志和变更记录。
#### AI工作空间管理
@@ -277,7 +276,7 @@
下面所有的技能都不得违反全局项目规范.md的要求 和 本地项目规范.md的要求
3. AI工作空间创建 以及 AI角色分配技能; 参考 章节体系管理员必须具备的能力(属于common\ai-workplace\AI工作空间创建指南.md)
4. 实验技能(包括实验设计,到实验执行); (属于common\exp-doc\实验规范.md 以及 项目本地 exp-doc\实验规范.md 两个共同作用的技能 )
5. 实验审核技能(包括实验设计审核,以及实验全流程审核);(属于common\exp-doc\实验审核规范.md 以及 项目本地 exp-doc\实验审核规范.md 两个共同作用的技能 )
5. 实验审核技能(包括实验设计审核,以及实验全流程审核);(属于common\exp-doc\实验审核规范.md 以及 项目本地 exp-doc\实验审计规范.md 两个共同作用的技能 )
6. 需求文档编写技能(包括需求方案文档,以及需求文档修改和书写);(属于common\pro-doc\需求规范.md 以及 项目本地 pro-doc\需求规范.md 两个共同作用的技能 )
7. 需求审核技能(包括需求方案文档以及需求文档修的审核);(属于common\pro-doc\需求审核规范.md 以及 项目本地 pro-doc\需求审核规范.md 两个共同作用的技能 )
8. 写代码技能(包括编码方案设计,到代码书写);(属于common\dev-doc\编码规范.md 以及 项目本地 dev-doc\编码规范.md 两个共同作用的技能 )