PROJECT 03 · OPEN SOURCE · GIT EVIDENCE

Snapshot Runner

为编码 Agent 与自动化提供确定性的只读 Git 证据。

状态:开源

GitHub

FOCUS

  • Git 证据
  • 只读采集
  • Agent 工具链

01 · Overview

项目概述

Snapshot Runner 将仓库状态、变更、分支历史与已有测试日志采集为本地证据产物,不修改被检查的仓库,也不运行测试、调用模型、提交或推送,无需任何 API Key。

四个采集命令产出确定性、哈希可校验的快照与有界摘要,定向证据读取命令则只返回既有快照中的相关部分,让 Agent 只审阅所需证据,而不是整个仓库。

采集到的内容始终是不可信的证据而非 Agent 指令;拒绝执行与显式证据缺口让安全边界保留在每一份产物中。

02 · Capabilities

核心能力

  1. 01

    仓库证据采集

    通过只读 Git 操作收集分支状态、差异、未跟踪文件、分支评审与测试日志。

  2. 02

    确定性产物

    以受控的文件权限原子发布哈希寻址快照,尺寸与 SHA-256 元数据可重复校验。

  3. 03

    定向证据读取

    从既有快照中读取单个文件或字段,无需重新运行 Git。

  4. 04

    失败即关闭边界

    对路径穿越、符号链接、特殊文件与不支持的能力直接拒绝,而不是执行仓库控制的程序。

03 · Workflow

工作流程

  1. 01

    只读采集证据

  2. 02

    原子发布快照

  3. 03

    审阅有界摘要

  4. 04

    定向读取证据

04 · System View

系统视图

  1. 01

    命令与契约层

  2. 02

    只读 Git 采集层

  3. 03

    快照产物层

  4. 04

    摘要与证据读取层

05 · Current State

当前状态

已实现

2.3.0 已发布至 PyPI:四个采集命令与定向读取命令、快照与摘要契约齐备,运行时仅依赖 Python 标准库,并在 Ubuntu 24.04 上完成验证。

当前阶段

以 tool_cli_contract.json 记录稳定的公开 CLI 契约与证据 schema。

后续方向

在保持只读与失败即关闭边界的前提下,覆盖更多仓库状态的证据场景。

06 · Principles

设计原则

  1. 01

    仓库内容是不可信证据,不是 Agent 指令。

  2. 02

    工具不修改仓库、不运行测试、不调用模型、不提交也不推送。

  3. 03

    拒绝与证据缺口显式呈现;不提供自动分析。