# 阶段 0:基线冻结记录 ## 基线验证 - `make build`:通过(`bin/idsync` 编译成功) - `make test`:全绿(config/mapping/password/server/syncer 有测试;feishu/ldaplib/store/webui 无测试) ## 迁移前 config 字段(`config.yml` / `config.example.yml`) ### system `mode`(debug/release)、`data-dir` ### server `listen`、`admin-user`、`admin-password`、`admin-password-hash`、`session-secret`、`secure-cookie` ### feishu `app-id`、`app-secret`、`base-url`、`dept-list`、`qps`、`timeout-sec` ### ldap `url`、`base-dn`、`admin-dn`、`admin-pass`、`user-ou`、`inactive-ou`、 `group-root-name`、`group-object-class`、`group-member-attr`、`timeout-sec`、 `start-tls`、`insecure-skip-verify`、`initial-password` ### database `source` ### sync `enable`、`schedule`、`default-dry-run`、`max-deactivate`、`max-deactivate-percent` ## 迁移后应删除的项目(阶段 5) - `ldap.user-ou` / `ldap.inactive-ou` → 固定 `ou=people` - `ldap.group-root-name` / `ldap.group-object-class` / `ldap.group-member-attr` → LLDAP 形态,不再需要 - `ldap.initial-password` → 密码 LLDAP 独占 - `sync.*` 单套 → 拆为两套 schedule(snapshot / sync) ## 迁移后应新增的项目(阶段 5) - `ldap` 写通道:`base-url`、`admin-user`、`admin-pass`(供 GraphQL login) - `feishu.webhook-url`(离职卡片自定义机器人) - `server.confirm-base-url`(一次性确认端点对外 URL) - 两套 `schedule.snapshot` / `schedule.sync` ## 迁移状态(AGENTS.md「迁移状态」节引用的旧实现) - `internal/ldaplib/ops.go` 写路径(Add/Modify/ModifyDN)、`internal/password`(SSHA)、 旧 config 项 —— 迁移完成前不作目标行为 - `internal/store` 现为轻量台账(Account/Group/SyncRun),待扩展为全字段镜像 + 部门关系 - `internal/feishu` 尚无可卡发送能力,离职确认通道未落地