本文件只记录可公开传播的 HFS 运行合同;不记录 .env / .env.local 明文、token、私有 endpoint 或本机路径。
- Pattern A: HFS Port Repository
- HFS v2 registry:
hfs-dev.toml(standard = "2.0") - Delivery lane:
artifactregistry with a hybrid implementation - Space root: repo root
- Public port:
7860 - Canonical health endpoint:
/_ops/healthz
仓库根目录同时是 GitHub 维护根和 Hugging Face Space root。reviewable wrapper 包含 Dockerfile、hfs/、docs 和 local gates;Space build context 不包含产品源码、.env*、local/、cache、generated data 或 credentials。
hfs-dev.toml 只登记 HFS v2 的项目关系、车道和 Setting 键名。上游 ref、镜像 digest、checksum、bootstrap 和 runtime invariants 的事实源仍是 Dockerfile、hfs/bin/bootstrap_runtime.py 与构建 workflow;不要把它们复制到 manifest 形成第二份 pin 表。
Coze server 与 web 是不可变 runtime artifacts。启动时 bootstrap_runtime.py:
- 只读取一次
COZE_RUNTIME_MANIFEST_URI指向的 Hugging Face HTTPSmanifest.json;URL 不允许 query、fragment 或嵌入凭据。仅允许huggingface.co同域中间跳转和*.xethub.hf.co下载跳转;Bearer 只在同域保留,进入 Xet 域前移除。 - 只接受
schema_version=1、完整 40 位 Git commit、按该 commit 命名的BUILD_SOURCE-<commit>.jsonchecksum,以及恰好一份 server 和 web artifact。 - 从 manifest 同目录下载按 commit 命名的
BUILD_SOURCE-<commit>.json、server 和 web;分别校验 SHA-256、size、完整 component provenance、tar path/link/device/privileged-mode safety、解包上限与必需入口文件。两个 payload 先共同完成 staging 与动态库验证,再安装;任一替换失败会恢复两个先前目录。 - 仅将成功校验的 payload 原子安装至
/app/runtime与/opt/coze-web。server staging 与目标均位于 HF 的/appfilesystem,避免跨设备 rename;下载文件仍只在/tmp,不会写入/data/coze。 - 任一 manifest、网络、checksum、size、archive、动态库或安装错误都会非零退出;不会扫描目录、使用
latest、旧/app、本地缓存或备用 URI。
COZE_RUNTIME_DOWNLOAD_TOKEN 是可选 Space Secret,仅以 Authorization header 发送,不进入 URL、日志或 provenance。私有 hfs-dist 的实际直连 URL / access model 必须在发布前由 owner 验证;不能以非空 token 或网页可见性代替 readback。
/_ops/version(受 OPS_TOKEN 保护)仅返回 bootstrap 写入的 source commit、manifest checksum、artifact name/checksum/size。不会返回 manifest URL、下载 token 或其他 Secret。
.github/workflows/build-pinned-coze.yml 只支持手动触发:
build:以显式 40 位upstream_ref构建并验证成对 server/web bundle;不写远端。publish-edge:必须confirmed=true,先上传 commit-named artifact 和BUILD_SOURCE-<commit>.json、逐项 readback,再最后写edge/manifest.json并 readback。release:必须confirmed=true与release_tag,将已验证运行时集合存为 GitHub Release 历史归档并 readback。promote-release:必须confirmed=true,从 GitHub Release 重新下载并验证后,按 artifact-first / readback / manifest-last 写入release/。
槽位约定为 hfs-dist/coze-all-in-one-hfs/{edge,release}。artifact 文件名包含完整 source commit;manifest.json 是唯一选择器。观察期和明确 owner gate 之后才可删除不再引用的槽位对象;本轮不执行上传、promote、Space 更新或清理。
Elasticsearch、etcd 和 Milvus 仍通过 digest-pinned image input 提供,因为其 rootfs、动态库、启动和持久化耦合尚未完成逐组件 extraction/cold-start proof。这是记录在 hfs-dev.toml 的限期 hybrid deviation,而不是 artifact 车道已完成的声明。解除前必须由 owner 批准并完成动态库、license、health、cold-start、持久化和隔离恢复验证。
MariaDB、Redis、NATS、MinIO、etcd、Milvus、Elasticsearch 的服务、路径、端口、auth、Nginx routing、/_ops/* 只读边界和 default-off /_admin/* 语义不因 artifact bootstrap 改变。/data/coze 继续是持久化根;/run/coze、Nginx temporary files、ES 和 Milvus local runtime state 继续留在容器本地。
./scripts/validate-hfs-contract.sh
./scripts/check-syntax.sh
python3 -m unittest discover -s hfs/tests -p 'test_*.py'
./scripts/static-check.sh
python3 /Users/sky/Github/SKY-Prompt/hfs-dev/scripts/check_hfs_alignment.py .
git diff --checkDocker build/run、artifact build/publish/promote、Space Settings sync、remote smoke、login/business flow、backup 和隔离 restore 都是单独的 owner/runtime gates;本地静态检查不能替代它们。