feat(governance): automate harness consistency checks (phase 3)
Harness governance / validate (push) Has been cancelled
Harness governance / validate (push) Has been cancelled
This commit is contained in:
+21
-1
@@ -17,6 +17,9 @@
|
||||
GITEA_URL=【Gitea 实例根地址,不含 /api/v1】
|
||||
GITEA_TOKEN=【最小权限 Personal Access Token】
|
||||
|
||||
# 启用远端协调审计时设置;不是秘密:
|
||||
GITEA_DISPATCHER_LOGIN=【唯一 dispatcher 的 Gitea 登录名】
|
||||
|
||||
# 仅当团队明确接受 HTTP 下 Token 明文传输风险时设置:
|
||||
GITEA_ALLOW_INSECURE_HTTP=1
|
||||
|
||||
@@ -94,6 +97,23 @@ Gitea 中的文件与本地 `docs/` 是同一 Git 工件的远端与 checkout,
|
||||
多 agent 协作时遵循 [`gitea-collaboration.md`](gitea-collaboration.md):
|
||||
|
||||
- 任务文件保存规格和长期证据,Issue 保存实时状态,PR 保存评审与合并决策。
|
||||
- 领取互斥依赖唯一 `claims/T-<编号>` 分支;assignee、`status/doing` 和读回仅作状态确认。
|
||||
- 领取互斥依赖 dispatcher 串行分配;`claims/T-<编号>` 是防御性标记,assignee、`status/doing` 和读回仅作状态确认。
|
||||
- MVP 由单一 dispatcher 串行分配任务并检查 `write_paths`,每个 worker 使用 `agent/<agent-id>/T-<编号>` 和独立 worktree;每任务 claim 只解决同任务重复领取,不单独保证跨任务路径互斥。
|
||||
- MCP 可创建 claim / 工作分支,但当前没有创建标签或删除分支工具。标签用 `python scripts/setup_gitea_labels.py --repo 【owner/repo】 --apply` 幂等初始化;过期 claim 由维护者通过 UI 或受控 REST 人工回收。
|
||||
|
||||
## 治理检查
|
||||
|
||||
离线检查不需要 Token,可放进 Gitea Actions:
|
||||
|
||||
```powershell
|
||||
python -m unittest discover -s tests -p "test_*.py"
|
||||
python scripts/validate_harness_governance.py
|
||||
```
|
||||
|
||||
远端一致性检查单独运行,严格只读:
|
||||
|
||||
```powershell
|
||||
python scripts/audit_gitea_coordination.py --repo 【owner/repo】 --dispatcher 【Gitea登录名】
|
||||
```
|
||||
|
||||
远端审计区分“不一致”(退出码 1)和配置 / 网络 / 权限失败(退出码 2),并验证 dispatcher 评论身份、任务依赖和过期 claim;`--dispatcher` 可由非敏感环境变量 `GITEA_DISPATCHER_LOGIN` 代替。它不会更新标签、关闭 Issue、合并 PR 或删除分支。
|
||||
|
||||
Reference in New Issue
Block a user