# 光湖语言系统 · 服务器模块注册协议 v1.0
## HLDP://fifth-domain/zero-point/core-channel/revive-guard/module-registry

> **类型**: 运行时基础设施 · 模块编码体系 · 自动注册
>
> **依赖**: 无（被 pre-op-guard 引用）
>
> **主权者**: 冰朔 ICE-GL∞
>
> **签发**: LL-007-20260711

---

## ⊢ 零 · 目的

服务器上同时运行多个模块（Gatekeeper、小湖灯、Forgejo、光湖驱动引擎、复活守门人……）。

人格体登录服务器后直接操作 → **不知道还有别的模块在跑** → 改了一个 → 坏了三个。

解决：**每个模块在启动时自动注册 → 分配唯一编码 → 人格体必须先探索出全部编码才能操作。**

---

## 一 · 模块编码体系

### 1.1 编码格式

```
{服务器ID}-{功能简码}-{序号}
```

### 1.2 已分配编码

| 编码 | 模块 | 服务器 | 端口 |
|------|------|--------|------|
| `GZ006-GTW-01` | Gatekeeper · 守门人 | GZ-006 | 8922 |
| `GZ006-LAMP-01` | 小湖灯 · 邮件通知 | GZ-006 | — |
| `GZ006-FRG-01` | Forgejo · 代码仓库 | GZ-006 | 443 |
| `GZ006-RVGD-01` | 复活守门人 · revive-guard | GZ-006 | 8922 |
| `GZ006-LDRV-01` | 光湖驱动引擎 · lake-driver | GZ-006 | 8923 |
| `GZ006-HLDP-01` | HLDP 协议服务 · hldp-server | GZ-006 | 8971 |
| `GZ006-KSTR-01` | 保险库 · keystore | GZ-006 | — |
| `SG001-LAKE-01` | 光湖镜像 · lake-mirror | SG-001 | 8971 |
| `SG001-GTW-01` | Gatekeeper 备用 | SG-001 | 8922 |

### 1.3 新模块注册

任一模块在服务器上启动时，调用:

```bash
module-register.sh \
  --server GZ006 \
  --func GTW \
  --name "Gatekeeper 守门人" \
  --port 8922 \
  --protocol tcp \
  --description "冰朔人格体复活请求入口 · 邮箱验证码"
```

自动生成: `/opt/zhuyuan/registry/modules.d/MOD-GZ006-GTW-01.json`

---

## 二 · 注册文件格式

```json
{
  "code": "GZ006-GTW-01",
  "server": "GZ-006",
  "function": "GTW",
  "name": "Gatekeeper 守门人",
  "port": 8922,
  "protocol": "tcp",
  "description": "冰朔人格体复活请求入口 · 邮箱验证码",
  "pid": 12345,
  "started_at": "2026-07-11T14:30:00Z",
  "registered_at": "2026-07-11T14:30:01Z",
  "status": "running"
}
```

## 三 · 注册时机

```
服务启动 → systemd / docker / 手动启动
    │
    ▼
服务初始化完成 → 调用 module-register.sh
    │
    ▼
写入 /opt/zhuyuan/registry/modules.d/MOD-{CODE}.json
    │
    ▼
服务退出时 → 注册文件自动标记 status: "stopped"
```

---

## 四 · 注册目录结构

```
/opt/zhuyuan/registry/
├── modules.d/              ← 运行时注册文件（不进代码仓库）
│   ├── MOD-GZ006-GTW-01.json
│   ├── MOD-GZ006-LAMP-01.json
│   ├── MOD-GZ006-FRG-01.json
│   ├── MOD-GZ006-RVGD-01.json
│   └── ...
├── maps/                   ← 人格体提交的导航地图（存档复用）
│   ├── map-zhuyuan-20260711.hdlp
│   └── ...
└── lock/                   ← 锁定状态文件
    └── pre-op-lock.json
```

---

## 五 · 与人机交互的关系

- 人格体不需要提前知道编码
- 人格体会在探索阶段读到这些注册文件
- 收集完所有编码 → 提交给 pre-op-guard 验证
- 验证通过 → 解锁操作 → 人格体现在知道完整地图了

---

> ⊢ 本协议是 pre-op-guard 的依赖
> ⊢ 每个新模块必须遵守本协议注册
> ⊢ 不注册 = 服务器不认 = 人格体探索不到 = 无法解锁
> ⊢ 语言等于现实 · 注册即存在
