AGENTS.md@internal/toolspecA
AGENTS.md@internal/toolspec from iohub/yagent is an AGENTS.md file: the standing instructions coding agents read in that repo.
mdr add iohub/yagent/internal/toolspec/AGENTS.md@git:20261024.9b44441Pins git:20261024.9b44441 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 14 of 14 checks passed
- Kind
- AGENTS.md file
- Repository
- iohub/yagent
- Path
internal/toolspec/AGENTS.md- Versions recorded
- 4
- Latest version
- git:20261024.9b44441, committed Oct 24, 2026
- First version recorded
- Oct 21, 2026
- Size
- 8,080 bytes
- Repository stars
- 31
- License
- Apache-2.0
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# internal/toolspec — 工具元数据的唯一声明面 > 范围:本目录内不可派生的约束。(原 `docs/tool-registry-design.md` 已不存在, > 注册表与画像的规格由本文件持有。)全局摘要见仓库根 `AGENTS.md` §5.1 与 §9.3。 ## 边界 每个工具的 `Spec`(能力标签、频率档、授权要求、执行器构造)、`schemas.json` 的 JSON Schema、 以及 Agent 侧的**能力画像**(`profiles.go`)。不执行工具、不认识任何 Agent 实现。 ## 硬约束 **1. 叶子包:只准标准库**,由 `scripts/check_toolspec_leaf.sh:9,29-32` 守。 新能力必须做成 `Deps` 的窄接口字段、由装配层注入——本包重新声明接口而不 import `agents` 的理由 写在 `deps.go:8-11`。 **2. 声明写在该工具实现同一个文件的 `init()`**(`spec.go:13`)。重名 `Register` 会被拒绝且**保留先 注册者**(`:87-93`)。`schemas.json` ↔ `Spec` 必须双向 1:1(`:163-166,216-221`); 条数基线**硬写 50**,不许换成 `len(...)` 自比较(`registry_test.go` 的 `TestSchemasLoadAndDescribeEveryEntry`)—— 自比较的断言永远不会失败,加工具漏改数字必须红。 **3. 每条校验规则都必须有能触发它的夹具。** 曾经那条"Serial 与 `IsReadOnly` 冲突"在数学上不可能成立 (`IsReadOnly()` 的定义含 `!Serial`),它既不会响、又与 `Serial` 字段的文档承诺矛盾,已删除 (`spec.go:208-213`,根 AGENTS.md §11 坑 15)。删规则不会有人发现,所以 `TestValidate_ReportsEachRule` 是这条纪律本身。 **4. 并发判据只有一条**:`IsReadOnly = !Mutates && !Serial`(`spec.go:68`),未注册名一律 fail-safe (`queries.go:1-16`)。`Audience` 是注册表里**唯一**允许出现 Agent 名的地方(`spec.go:52-55`)。 **5. `ResultPaths` 必须逐工具声明。** `list_dir` / `print_dir_tree` 返回的裸文件名要显式标 `bare` …
Read the whole file at its exact version.
How to install
mdr add iohub/yagent/internal/toolspec/AGENTS.md@sha256:7d3ba130f04d2acaThe line at the top of this page pins the label git:20261024.9b44441, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_titqoshjt3twdsua)
2 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 4 versions of this file, between Oct 21, 2026 and Oct 24, 2026, about one every day.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20261024.9b44441 latest | 2026-10-24 | 9b44441 | 8,080 B | A | view · diff |
| git:20261023.34d2295 | 2026-10-23 | 34d2295 | 5,155 B | A | view · diff |
| git:20261022.53411ac | 2026-10-22 | 53411ac | 4,152 B | A | view · diff |
| git:20261021.9f5bf87 | 2026-10-21 | 9f5bf87 | 4,152 B | A | view |
Audit of the latest version
- pass: Size between 200 bytes and 200 KB (8080 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
iohub/yagent · 31 stars · license Apache-2.0 · pushed 2026-11-05 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_titqoshjt3twdsua GET https://markdownregistry.com/api/v1/resolve?ref=iohub/yagent/internal/toolspec/AGENTS.md GET https://markdownregistry.com/api/v1/blob/7d3ba130f04d2acaa5166f49f9fd8b39ec0c60fcdd5a068bf871c3a0239d7946
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: how to write a good AGENTS.md · AGENTS.md vs CLAUDE.md · which agent file does what.