Project Snapshot
Design specification

通用 AI Agent 项目快照编译器

通过一次性重扫描,把当前代码仓库编译成可复现、可查询、可交接的项目结构图和治理基线。CLI 与 MCP 提供通用入口,Codex、Claude Code、Cursor、Windsurf、Cline、OpenCode 只作为集成层。

01. Overview

核心定位

本项目是一个通用 AI Agent 项目快照编译器。它不做长期记忆,不做项目管理,不直接执行开发任务,而是把当前代码状态转换为结构化、可查询、可交接的项目基线。

1x 一次性重扫描,生成不可变基线
9 派生视图,限制 Agent 上下文
6 MCP 工具,支持通用编辑器接入

核心职责:扫描当前代码仓库,生成统一项目图、分层目录索引、图关系索引、治理基线、本地 SQLite 查询缓存,并通过 handoff package 交给项目承接体系。

它是 它不是
项目事实基线生成器 项目管理工具
通用 CLI / MCP runtime Codex 专用 Skill
一次性快照编译器 长期记忆系统
结构化查询和交接层 人类报告生成器或代码开发执行器
02. Lifecycle

生命周期

生命周期是快照型,不维护后续状态。每次生成都基于当前 worktree、配置和 Adapter 版本重新构建。

启动
→ 读取项目配置
→ 发现项目形态
→ 调度 Adapter
→ 提取代码事实
→ 构建 Canonical Graph
→ 生成治理基线
→ 写入 SQLite 本地缓存
→ 生成 checksum
→ 运行 Quality Gate
→ 生成 Handoff Package
→ 交给项目承接体系
→ 生命周期结束

单仓库 / monorepo

在仓库根目录启动,一个仓库生成一个 snapshot.sqlite,通过 subsystem 节点区分 apps、services、packages、mobile、workers。

多仓库分布式系统

每个仓库各自生成快照,通过 federation manifest 在 contract / IO boundary 层连接。第一版预留 federation,不强做完整聚合。

03. Repository

仓库与缓存策略

SQLite 是当前工作区的本地查询缓存,不提交仓库。跨开发节点的一致性依赖确定性重建,而不是共享数据库。

提交到仓库

  • .agent/project-intake.config.yml
  • schema version
  • Adapter 配置
  • 忽略规则与安全脱敏规则

不提交到仓库

  • SQLite 数据库
  • 全量图快照
  • 机器路径和扫描中间产物
  • 本地缓存
.agent/cache/
.agent/snapshots/
*.snapshot.sqlite
04. Architecture

总体架构

核心是平台无关 runtime。Codex、Claude Code、Cursor、Windsurf、Cline、OpenCode 都只是集成层,MCP 是推荐通用入口。

project-snapshot/
├── core/           平台无关核心能力
├── cli/            通用命令行入口
├── mcp/            通用 Agent 工具入口
├── contracts/      跨平台协议
├── integrations/   Codex / Claude Code / Cursor / Windsurf / Cline / OpenCode
├── templates/      配置模板
├── fixtures/       多技术栈测试项目
├── tests/          自动化测试
└── docs/           面向开发者文档

core

Discovery、Adapter、Graph、Storage、Query、Validation、Governance、Handoff、Determinism。

cli

所有 Agent 工具都能调用,默认输出 JSON,不输出平台专属格式。

mcp

对主流 Agent 编辑器暴露统一工具,不绕过 query protocol。

05. Canonical Graph

统一项目图模型

不同语言、框架、前端、后端、移动端和分布式项目都必须映射到同一套模型,框架差异进入 Facet

Node Edge Locator Contract Evidence Fingerprint GovernanceItem Facet

Node

表示项目抽象对象。普通文件、函数、类默认不建 Node,只建 Locator;入口、契约、实体、核心流程、业务能力、治理目标才提升为 Node。

workspace | system | subsystem | package | boundary | surface
capability | flow | entity | state | integration | test

Edge

表示项目关系。关键 Edge 必须有 Evidence。

contains | exposes | triggers | calls | reads | writes
produces | consumes | depends_on | guards | validates
affects | verified_by | located_at

Locator、Contract、Evidence、Facet

Locator

repo-relative path、symbol、route、component、config key、schema、test name。所有路径必须 repo-relative。

Contract

HTTP、RPC、MQ、Webhook、file、UI、DB、third-party。对外 Contract 默认是 restricted zone。

Evidence

ast_symbol、route、import、call_chain、config、test、comment、doc。文档只能作为弱证据。

Facet

React props、Spring annotation、Nest decorator、Django URL pattern、UniApp 页面配置、Android Manifest。

06. Indexes

分层目录索引与图关系索引

目录索引用于看全貌,图关系索引用于查影响面。全貌查询只返回高层摘要,细节必须按 node id 二次展开。

workspace
  system
    subsystem
      boundary
        surface
          capability
            flow
              locator
capability.order.cancel
  writes      -> entity.order.status
  calls       -> capability.inventory.release
  produces    -> contract.event.order-cancelled
  verified_by -> test.order.cancel
  affected_by -> governance_item.order.status-risk
07. Storage

SQLite Schema

采用核心表 + metadata_json / facets 扩展。表结构不跟框架走,框架差异由 Facet 承接。

用途
snapshots快照身份、schema、scanner、git、scan status。
adapter_status每个 Adapter 的版本、状态和能力矩阵。
nodes / edges统一项目图与关系。
locators / evidence代码定位和判断证据。
contracts输入输出契约与 IO 边界。
governance_items治理基线初始事实,不存长期状态。
facets框架和语言特有信息。
fingerprints / checksumsstale 判断与确定性重建。

治理项进入 SQLite,但只存 initial_statussuggested_severitybypass_policyevidence。当前状态、用户决策、优先级和历史由项目承接 Skill 维护。

08. Views

派生视图

Agent 默认只能查询派生视图,不能直接 dump 全量 nodes/edges。视图是插件面向 Agent 的产品接口。

root_index_view

项目全貌、子系统、治理摘要、Adapter 状态。

subsystem_index_view

某个子系统的边界、能力、契约和健康状态。

capability_view

业务能力的入口、流程、实体、契约、风险和测试。

io_boundary_view

HTTP、RPC、MQ、Webhook、文件、第三方服务和共享数据。

impact_scope_view

输入 node/path/symbol,返回影响面和推荐验证。

governance_summary_view

治理摘要、硬阻断、高风险、medium 决策项和 low review 数量。

governance_item_view

展开单个治理项的证据、影响节点和复核方式。

stale_check_view

根据 changed files 判断哪些节点和 contract 过期。

adapter_health_view

扫描完整性、partial / failed 区域和影响。

budget:
  max_nodes: 20
  max_edges: 40
  max_locators: 20
  max_evidence: 10
  max_depth: 2
  include_code_body: false
09. Query Protocol

查询协议

Agent 不直接写 SQL,只通过语义查询访问派生视图。工具内部返回 JSON,聊天展示可以转 YAML。

root()
subsystem(id)
capability(id)
io_boundary(filter?)
impact(target, depth=2)
governance(filter?)
governance_item(id)
stale(changed_files)
adapter_health()
expand(id, depth=1)
evidence(id)
locate(id)
search(query)

第一版不做分页。超预算时返回 truncated: truenext_queries,避免 Agent 机械翻页撑爆上下文。

10. Governance

治理基线

治理基线识别当前代码中的治理事实和候选项,但不维护长期任务状态、用户决策历史或正式优先级。

置信度进入位置规则
high主治理线直接代码证据 + 可定位路径 + 可解释影响。
medium主治理线有明确代码证据,但影响范围或业务含义不完整,需要决策或复核。
lowreview_queue弱代码线索,不作为事实,不影响实施边界。
unsupported丢弃没有代码证据或纯猜测。

治理状态与不可绕过项

open | needs_user_decision | accepted | dismissed_by_user
deferred_by_user | fixed | blocked

高风险项不可人为绕过,只能通过复核降级。高风险包括安全漏洞、数据破坏、权限绕过、资金/订单/核心流程正确性风险、系统无法启动或部署风险。

Severity

快照插件生成 suggested_severity: critical | high | medium | low

Priority

项目承接 Skill 维护 priority: P0 | P1 | P2 | P3

11. Adapters

Adapter Registry

Adapter 由注册表驱动,声明检测规则、依赖、能力、输出、证据策略、checksum 策略和失败策略。

name:
display_name:
type: language | framework | platform | structure | contract | governance
version:
maturity: experimental | stable | verified | deprecated
priority:
deterministic:
detect:
requires:
conflicts_with:
file_scope:
ignore_scope:
capabilities:
outputs:
evidence_policy:
checksum_policy:
failure_policy:
覆盖层MVP 能力
JS/TS、React、Next、Express、Nest、Monorepo、Governance-basic做深,优先 verified。
Java/Spring、Python/FastAPI/Django/Flask、Go、Vue可用 partial,向 stable 演进。
UniApp、Android、MQ/RPC、File IO识别 + 基础索引,experimental。
12. Quality Gate

质量门禁

快照不是生成成功就可信,必须通过结构、证据、查询、确定性、安全和治理校验。

passed

可正式交接。

warning

可交接,但项目承接 Skill 必须记录限制。

failed

拒绝交接,必须修复配置、Adapter 或 schema 后重建。

校验维度

Schema Graph integrity Evidence coverage Query views Determinism Adapter health Governance Redaction Size budget
13. Handoff

项目承接交接契约

Handoff 不交全量内容,只交入口、规则、质量状态和治理摘要。

handoff_package:
  package_version:
  handoff_id:
  snapshot:
  storage:
  query:
  quality:
  governance:
  stale_policy:
  ownership:
  warnings:
  next_actions:

职责转移:快照插件拥有不可变 baseline;项目承接 Skill 接管任务状态、治理当前状态、用户决策、delta 和历史。

14. Interfaces

CLI 与 MCP

CLI 是所有平台的底座,MCP 是推荐的通用 Agent 工具入口。MCP 是 CLI/runtime 的薄封装,不重新实现扫描逻辑。

CLI

project-snapshot init-config
project-snapshot discover
project-snapshot rebuild
project-snapshot validate
project-snapshot query
project-snapshot handoff
project-snapshot status
project-snapshot clean-cache

MCP Tools

rebuild_snapshot
validate_snapshot
query_snapshot
handoff_snapshot
snapshot_status
clean_cache

统一错误响应

{
  "code": "",
  "message": "",
  "severity": "info | warning | blocking | fatal",
  "retryable": true,
  "blocks_handoff": true,
  "suggested_action": "",
  "details": {}
}
15. Config

项目配置

仓库提交 .agent/project-intake.config.yml,只描述扫描规则、Adapter 策略、治理策略、脱敏策略、确定性规则和质量门禁。

version:
project:
scan:
adapters:
contracts:
governance:
redaction:
determinism:
quality_gate:
cache:
16. Security

安全与脱敏

快照中禁止保存 secret value、.env 值、token、password、private key、本机绝对路径和真实机器信息。

允许保存

  • key name
  • repo-relative locator
  • risk signal
  • redacted marker

硬失败

secret_leak_detected 是 fatal,必须阻止 handoff。

17. Tests

测试策略

第一版最重要的不是覆盖率数字,而是四个硬保证:可复现、可查询、不泄密、可交接。

测试层

  • Schema Tests
  • Determinism Tests
  • Adapter Tests
  • Query View Tests
  • Governance Baseline Tests
  • Security / Redaction Tests
  • Handoff Tests
  • CLI / MCP Contract Tests

Fixtures

  • react-app、nextjs-app
  • node-express-api、nestjs-api
  • spring-boot-api、python-fastapi、go-service
  • uniapp、android-native、monorepo、distributed-mini
18. MVP

MVP 范围

MVP 目标是能对真实老项目执行一次全量重建,生成本地 SQLite 项目图快照,支持基础查询、治理基线、质量校验和 handoff。

必须做

  • CLI 全套命令与 MCP 六个工具
  • SQLite schema、派生视图、查询协议
  • Adapter Registry 与基础 Adapter
  • 治理基线、Quality Gate、Handoff Contract
  • 核心测试框架

不做

  • incremental scan、分页、全量图 dump
  • 真正图数据库、提交 SQLite
  • 完整多仓库 federation、复杂全语言 call graph
  • 外部漏洞库强接入、任务状态维护

未来扩展

Project Graph Contract Superpowers Execution Contract Federation manifest External vulnerability scanners Deep call graph Remote MCP