@ atlasent/ 守护者- 操纵
现有定型预测 权威保障软件包
(单位:千美元)contract/safeguard-pack/进入 设计/预期的事实 消费者需求
使控制台 保护地图 - 每个受保护的行动:所有人、当局、,
预期的证据来源和预期的大门.
这究竟是什么(而不是什么)
- 统计: 预期/设计真相。 每一个保障是 设计为要求。 。 。 .
- 没有: 运行时间观测状态 。 它携带 没有 执行模式 影响、核查状况、覆盖范围或观察到的差距。 住在这里 运行时间和消费者加入.
显示器存在,所以控制台从没有手持可以保存的语义副本 漂从 Canon / 包。 这是唯一权威的饲料.
三个州,它使
消费者用现场直播的 事实来证明 三个不同状态的和解观点:
| 状态 | 来源 |
|---|---|
| 预期 | 此显示( 版本保护套件) |
| 配置 | 运行时间 — 当前配置( 执行模式, 捆绑) |
| 证明 | 运行时间——执行+核查证据(核查 活动,覆盖范围) |
一个保障措施是 不是"覆盖" 仅仅因为它在包件中(预计)或 按运行时间(配置)配置——覆盖需要观察运行时间+接受 证据(经证明)。 如果预期和配置/证明有异议,消费者 将差异显示为 a 差额它不能调和或重新解释它.
重生决定主义( D)
JSON 的生成来源于 scripts/generate-safeguard-manifest.py (在回购中)
root)来自权威的YAML. 没错 决定性 - 相同的投入产出
字节相同的输出, 因此 CI 在任何出乎意料的再生 diff 上失败 :
python3 scripts/generate-safeguard-manifest.py # regenerate
python3 scripts/generate-safeguard-manifest.py --check # CI: fail if stale
不要手动编辑 safeguard-manifest.json。 。 。 . 更改权威
contract/safeguard-pack/* YAML并再生.
证明
provenance.source_files[]记录每个权威投入中的SHA-256—— 确定确切输入(无挥发性SHA/时间戳) 在文物,所以--check保持稳定).- 释放/承诺来源受约束 发布时间 通过 npm
--provenance(Sigstore无密钥,与AtlaSent发布的其他套件相同).
分布针( P)
通过现有的软件包释放路径发布( )v1_1-release.yml 包装+
每个非私人签名 packages/* 在版本标签上). 消费者
明确 manifest_version / 软件包版本 永远不要沉默地消耗"最"
并证实一切迹象 safeguard-manifest.schema.json
(单位:千美元)schema_version +出处)使用前.
使用量
import {
safeguardManifest,
getSafeguardAction,
SAFEGUARD_MANIFEST_VERSION,
} from "@atlasent/safeguard-manifest";
const deploy = getSafeguardAction("production.deploy");
deploy?.owner_role; // expected owner (design)
deploy?.expected_evidence_sources; // expected evidence sources (design)