关于 perimeter
perimeter 是供开发者审查代码库架构边界的技能。它依据现有内部规范和实际绕行调用,并按具体故障风险筛选问题。
主要功能
- 01审计绕过封装的原始 API 调用
- 02追踪分层与依赖方向
- 03检查资源与沙箱规范
- 04按证据和风险筛选发现
- 05生成带代码位置的报告
适用场景
- 01查找绕过规范封装的调用
- 02发现跨层导入
- 03审查文件系统与资源处理
- 04确定架构边界风险优先级
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ venhdev/ zenforge --skill perimeter安装后在 Claude Code 中输入/perimeter确认已加载。
附带文件references/fitness-functions.md
详细介绍
perimeter — 架构边界与绕过检测引擎
领域准则
1. 边界审计维度
- 已批准的基本构件与原始绕过(横向):识别管理 I/O、网络客户端、资源或生命周期的内部封装;标记绕过这些封装、直接调用原始运行时 API 的调用点。
- 层级与依赖方向(纵向):追踪跨越架构层(Domain、App、Infra、UI)的导入图;标记方向反转或跨边界导入。
- 资源与沙箱卫生:审计存储路径、并发池和内存缓冲区;标记未锚定的文件系统访问或未限流的资源。
- 微型示例:
Banned: fetch("https://api.domain/orders") // Raw runtime bypass Required: appHttpClient.get("/orders") // Sanctioned primitive with auth & telemetry
2. 承重约束资格门槛
严格按照以下 3 个条件筛选候选约束:
- 已存在的批准基本构件:代码库定义了用于处理该边界的内部封装、基类或规范路径。
- 有实证的绕过行为:至少有一个活跃调用点违反边界,直接调用原始 API。
- 可量化的失败风险:绕过会导致架构漂移、资源泄漏、内存耗尽或安全风险。
- 边界之外:约束严格限定于已有内部基本构件支撑的承重架构边界;绝不审查表面风格、标准实用方法(
Math.*、集合)或缺乏活跃封装的推测性规则。
规范输出约定
# Perimeter Report: <Target Subsystem / Scope>
## 1. Executive Verdict
- **Target Inspected**: `<directory_or_package>`
- **Verdict**: <HARDENED | PARTIAL | UNPROTECTED> (<N> active boundaries)
- **Primary Risk**: <Single-sentence technical judgment on highest boundary exposure>
## 2. Qualified Boundary Declarations
*(If HARDENED: 'All architectural boundaries are enforced by active test suites; zero raw bypasses detected.')*
### Boundary: <Constraint Name, e.g., Direct Network Client Bypass>
- **Offending Evidence**: [<file>#L<N>](file:///path/to/file#L<N>) ── <Bypass snippet or call site>
- **Failure Risk**: <Concrete risk: memory leak / auth bypass / architectural drift>
- **Rule**: Required: `<Sanctioned Primitive>` ── Banned: `<Forbidden Raw API>`
- **Enforcement**: Tier: `<Arch Unit Test | AST Linter | Script Guard>` | Whitelist: `<Exempt files | 'None'>`
## 3. Disqualified Invariants (Pruned) *(omit if no candidate patterns pruned)*
- **[PRUNED] <Candidate Pattern>**: <Reason for rejection, e.g., No existing codebase primitive / Trivial style issue>
路由
- 符合条件的边界需要具体实施计划 →(通过 /changeset)。
- 边界测试已有基于证据的 changeset,且执行范围已获授权 →(通过 /forge)。
- 边界归属、白名单例外或架构权衡需要人工审议 →(通过 /clarify)。
执行协议
阶段 1:宏观锚点奠基
- 接收目标目录或子系统。
- 查找架构锚点(内部封装、批准的客户端、解析器、基础接口),以此奠定边界基准。
阶段 2:自适应规模的边界审计
- 当前轮次内执行(少于 10 个文件或局部模块):在当前轮次中,直接根据已发现的锚点审计调用点。
- 子 Agent 扇出(大型代码库或跨层范围):根据划分的切片或调用方声明的预算,动态扩展并发
research子 Agent(角色:Perimeter Reviewer (<Slice>)),并为其提供目标切片目录、已发现的架构锚点、承重约束资格门槛、references/fitness-functions.md的路径,以及要求提供问题代码定位信息(file:///...#L<N>)的规范子报告约定。
阶段 3:规范化与轮次终止门槛(汇总)
- 将调查结果整理为规范输出约定;将缺乏依据的规则移至第 3 节(已剔除;如果没有则省略第 3 节)。
- 如果边界归属或白名单豁免存在尚未解决的权衡:停止并进行审议(通过
/clarify)。 - 将报告输出到对话流中,并立即结束当前轮次。
评论
支持 Markdown