Files
Error-Code-System/PROJECT.md
T

69 lines
3.2 KiB
Markdown

# Error-Code-System 项目事实
工作规则见 [AGENTS.md](AGENTS.md)。此文件维护本项目事实,不复制通用规范。
## 仓库与操作
- 目标/产品边界:跨系统错误码目录、进程内错误类型,以及可独立运行的查询服务。不依赖 Agent-Native、Agent-Squad 或日志库。
- 源码、资产、文档、机器契约位置:模块路径 `error-code-system`。包为 `errcode`、`domains`、`httpx`、`server`、`cli`、`conformance`。映射文档在 `docs/`。种子码以 Go 注册为权威,`domains/*.json` 为导出快照。
- 权威远端、集成基线、受保护分支:`ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Error-Code-System.git`,基线 `main`。
- 并行共同基线记录位置、合入通知/主动检查方式:Gitea Issue/PR。消费方父仓 gitlink 才是它们使用的版本。
- 发布线与批准版本/实际制品查询入口:无独立制品库。`go build -o bin/errcode .` 从当前提交构建。
- 提交/审核/合并/发布身份与权限:仓库所有者 weichen。
- 任务唯一来源:Gitea `weichen/Error-Code-System` 的 Issue 与 Pull Request。
- 规范性文档目录:`policy/`。
- 过程文档仓/目录:`docs/records/`(项目内豁免)。
- 交接记录位置:随任务主记录;需要落盘的交接放入 `docs/records/`。
- 凭证查找入口及所需字段:本库不保存凭证。
## 依赖组合
| 逻辑 ID | 路径 | 角色 |
|---|---|---|
| development-guidelines | `deps/development-guidelines` | development-only |
本库没有 Go 模块依赖。被消费时由父仓以 submodule 固定提交,例如 `deps/error-code-system`,并在父仓 `go.mod` 写:
```
require error-code-system v0.0.0
replace error-code-system => ./deps/error-code-system
```
克隆:
```bash
git clone --recurse-submodules ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Error-Code-System.git
```
## 验证命令
| 影响 | 工作目录与真实命令/CI | 前提与不覆盖范围 |
|---|---|---|
| 文档 | 核对 `docs/` 映射与码常量一致 | 不代替 `domains` 测试 |
| 模块/接口 | `go vet ./... && go test -count=1 ./...` | 不启动长期服务 |
| 数据/权限/恢复 | 不适用数据库。注册表 `LoadJSON` 失败回滚由测试覆盖 | 无 |
| UI/执行后端 | 不适用图形界面。`go test ./server/... ./httpx/...` 覆盖 HTTP | 不覆盖消费方仓库 |
改种子码后重写导出快照:
```bash
WRITE_CATALOG=1 go test ./domains -run TestWriteCatalog -count=1
```
治理与 Agent 执行配置校验(CI 的 `governance` 工作流同样执行):
```bash
scripts/agent-exec validate --repo .
scripts/dm governance check --repo .
```
## 环境与数据
| 环境/实例 ID | 只读查询入口 | 授权写入入口 | DB/存储归属 | 恢复入口 |
|---|---|---|---|---|
| 本地查询服务 | `GET /v1/codes` | 无远程写入 API;码表变更走本仓提交 | 无数据库,码在进程内注册表 | 重启进程 |
共享项及 ACL:无。部署、迁移、发布的审批依据与负责角色:合并进 `main` 由仓库所有者批准。消费方升级必须单独提交父仓 gitlink。
实际制品/配置/schema 的查询方法:`./bin/errcode export` 或 `GET /v1/export`,以当前进程加载的注册表为准。