# Agent-Native 项目事实 工作规则见 [AGENTS.md](AGENTS.md)。此文件维护本项目事实,不复制通用规范。 ## 仓库与操作 - 目标/产品边界:独立的 Agent 执行基础库。提供执行契约(contract)、执行端口(exec)、自研运行时(runtime)、外部适配器(adapters)与行为验收(conformance)。不实现小队编排,不依赖 Core 或 Squad。 - 源码、资产、文档、机器契约位置:Go 源码在仓库根包目录;模块路径 `agent-native`;人类文档在根 `README.md`、`docs/`、`policy/`;过程记录在 `docs/records/`;机器契约以 `contract` 包类型为准。 - 权威远端、集成基线、受保护分支:`ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-Native.git`,集成基线 `main`。 - 并行共同基线记录位置、合入通知/主动检查方式:任务主记录在 Gitea Issue/PR;合入前在本仓 `main` 上 `git fetch` 并确认 HEAD。 - 发布线与批准版本/实际制品查询入口:当前无独立制品仓库。可构建性以本仓 `main` 的 `go test` 为准;依赖子模块版本以 gitlink 为准,不把工作区未提交文件当发布组合。 - 提交/审核/合并/发布身份与权限:仓库所有者 weichen。本机提交不代替远端合并。 - 任务唯一来源:Gitea `weichen/Agent-Native` 的 Issue 与 Pull Request。 - 规范性文档目录:`policy/`。 - 过程文档仓/目录:`docs/records/`(项目内豁免,理由见 [采纳记录](policy/guidelines-adoption.md))。 - 交接记录位置:随任务主记录;需要落盘的交接放入 `docs/records/`。 - 凭证查找入口及所需字段:模型与 Runner 凭证由调用方注入,不入库。本仓不保存密钥字段的值。 ## 依赖组合 | 逻辑 ID | 路径 | 角色 | |---|---|---| | development-guidelines | `deps/development-guidelines` | development-only,规范文本 | | error-code-system | `deps/error-code-system` | build-required,规范码目录 | | logging-system | `deps/logging-system` | build-required,可选日志器 | | agent-intent | `deps/agent-intent` | build-required,可选意图闸门装饰器(`adapters/intentgate`) | 克隆: ```bash git clone --recurse-submodules ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-Native.git # 已克隆时:git submodule update --init --recursive ``` 构建、审核和发布固定父仓 gitlink,不执行 `submodule update --remote`。 ## 验证命令 | 影响 | 工作目录与真实命令/CI | 前提与不覆盖范围 | |---|---|---| | 文档 | 人工核对 `AGENTS.md`、`PROJECT.md`、`policy/` 相对链接 | 不证明运行时行为 | | 模块/接口 | 仓库根:`go vet ./... && go test -count=1 ./...` | 需要 Go 1.27;不覆盖真实模型端点 | | 数据/权限/恢复 | 不适用独立数据库。契约测试覆盖副作用分类与取消传播 | 不证明调用方产品库的持久化 | | UI/执行后端 | `go test ./adapters/... ./runtime/... ./conformance/...` | 默认 fake/stub;真实模型需调用方提供端点,本命令不覆盖 | ## 环境与数据 | 环境/实例 ID | 只读查询入口 | 授权写入入口 | DB/存储归属 | 恢复入口 | |---|---|---|---|---| | 本地开发 | 本机工作区与 `go test` | 本机 git 提交 | 无共享数据库;会话文件由调用方 Workspace 决定 | 重新 clone 父仓并 `submodule update --init --recursive` | 共享项及 ACL:无。部署、迁移、发布的审批依据与负责角色:当前库不独立部署;合并进 `main` 由仓库所有者批准。 实际制品/配置/schema 的查询方法:阅读当前 `main` 的 `contract` 包与 `go.mod`,不以历史 README 快照代替。