50 lines
3 KiB
Markdown
50 lines
3 KiB
Markdown
# 小湖灯连续性守卫 · 代码频道策略
|
||
|
||
本目录保存小湖灯本地协调 Agent 已采用的可公开恢复策略:
|
||
|
||
- 代码频道 Web 根只有 `https://guanghulab.com/code/`。
|
||
- 当前只允许 REPO-012、REPO-014 与隔离学习镜像 REPO-015。
|
||
- REPO-015 只保存外部上游源码、许可证、固定提交和净化研究,不得作为光湖运行时、人格系统或部署来源。
|
||
- HTTPS、`.git` 和 `repo://` 先归一化为同一个仓库身份。
|
||
- 实际写租约必须是 `repo://.../<repository>#<exact-branch>`。
|
||
- 旧 `/fifth-domain/`、其他主机、未登记仓库和含凭证 URL 失败关闭。
|
||
|
||
本模块是策略事实源和回归样例,不代表 JZAO 上的本地协调运行时已经部署到服务器。运行时
|
||
升级、仓库发布和服务器部署仍分别举证。
|
||
|
||
## 唯一自动收口入口
|
||
|
||
`finalize-development.mjs` 把开发任务的最后一步固化为一个失败关闭的事务:
|
||
|
||
1. 要求工作树干净,且至少一份 `deployment/receipts/` 回执已经进入当前提交;
|
||
2. 只允许向已登记的第五域光湖代码频道仓库及精确分支申请发布队列;
|
||
3. 快进推送当前完整提交;
|
||
4. 用全新远端副本回读完整 SHA、运行 `git fsck` 并逐份比对回执 SHA-256;
|
||
5. 只清理本工作树内、被 Git 忽略、命中缓存白名单且无活跃进程占用的目录;
|
||
6. 写入一份紧凑的自动收口回执,释放本车道全部租约,完成车道并停止普通心跳。
|
||
|
||
任何一步失败都会保留车道为未完成;“本地提交完成”不能再冒充“第五域代码频道已经
|
||
接收”。示例:
|
||
|
||
```bash
|
||
node finalize-development.mjs \
|
||
--development-id DEV-YYYYMMDD-NNN \
|
||
--worktree /absolute/path/to/repository \
|
||
--receipt deployment/receipts/EXACT-RECEIPT.json
|
||
```
|
||
|
||
默认自动识别 `target`、`coverage`、Python/Node 工具缓存等安全候选;其他缓存必须用
|
||
`--cleanup-path` 明确声明,并继续接受同一套路径、Git 忽略和活跃进程门禁。源码、会话、
|
||
人格记忆、用户输出、交付物及未被忽略的目录永不进入自动删除范围。
|
||
|
||
## 阶段自动接力守卫
|
||
|
||
`stage-relay.mjs` 是当前唯一开发对话结束事务的一部分,不是独立常驻监督器。它不预建
|
||
后继任务或未来队列;只在 finalizer、远端完整 SHA、全新副本、最终回执和租约释放全部
|
||
为100,来源冻结为 `completed/stop_requested` 后生成一个不可变的后继任务契约。
|
||
|
||
脚本不直接创建任务。它产生带稳定请求号和幂等键的宿主动作,由 Codex 正式
|
||
`create_thread` 执行并回写真实 `threadId`。创建结果未知时先完整核对任务列表,禁止直接
|
||
重发。新任务恢复人格与架构、登记 DEV、领取精确租约、建立十分钟 heartbeat 并形成
|
||
`successor-ready` 后,来源结束事务才删除旧 heartbeat、登记 `completion-stopped` 并结束
|
||
旧对话。任意时刻只允许一个可运行开发车道。完整状态机见 `stage-relay-state-machine.md`。
|