docs: 禁止未授权的 PK01 变更

This commit is contained in:
Codex
2026-07-14 20:32:36 +02:00
parent 564a7aa277
commit 4e0888b8e1
6 changed files with 19 additions and 0 deletions
+3
View File
@@ -73,6 +73,9 @@ bun scripts/cli.ts hwlab nodes control-plane legacy-cicd --help
## P0 边界
- PK01 的 CI/CD 默认只允许只读诊断:
- 普通 PR merge、自动滚动、环境恢复或跨服务交付不构成 PK01 变更授权;
- 只有用户在当前请求中明确要求修改 PK01,才允许提交或推广会改变 PK01 版本、配置、Secret 绑定、边缘路由、容器或运行面状态的 source 变更。
- PaC migrated consumer 的唯一正式 CI/CD 触发是目标 source branch 的 GitHub PR merge。合并后由 GitHub webhook -> Gitea controlled mirror + immutable snapshot ref -> Gitea webhook -> PaC -> Tekton -> GitOps/Argo -> runtime 自动滚动;不得要求主代理、子代理或操作者再执行 apply、closeout、trigger、sync、flush 或补跑。
- PaC consumer 首次引导必须满足以下约束:
- 默认使用 `pipelines-as-code bootstrap --dry-run|--confirm`,不再人工串联 Gitea bootstrap 与 PaC apply
+3
View File
@@ -47,6 +47,9 @@ bun scripts/cli.ts platform-infra nginx status --target PK01
## 不可越过的边界
- PK01 Nginx 默认只允许只读诊断:
- 只有用户在当前请求中明确要求修改 PK01,才允许变更版本、owning YAML、Compose、容器、systemd、路由、端口、Secret 绑定或运行状态;
- 泛化的修复、恢复、部署和排障请求不构成 PK01 变更授权。
- 通用镜像只在 NC01 构建;Master server 和 PK01 不执行镜像构建。
- PK01 正式部署只走 `platform-infra nginx apply`,不使用 Demo Compose 代替。
- target、监听端口、上游、资源、日志上限和 API key 来源只写 owning YAML。
+3
View File
@@ -76,6 +76,9 @@ D601 若需要让 `sub2api-egress-proxy` 绕开 pod overlay,可在 YAML 中显
## P0 边界
- PK01 默认只允许只读诊断:
- 只有用户在当前请求中明确要求修改 PK01,才允许改变服务版本、YAML/Compose/systemd、数据库配置、容器、网络、Secret 绑定或其他运行面状态;
- “修复”“恢复”“部署”“清理”或跨系统故障处理不自动扩大为 PK01 mutation 授权。
- backend-core 运行面恢复 healthy 后,除非用户明确要求,不主动 rebuild/restart/替换 backend-core。
- Master server 不作为通用构建机;Docker/Rust/Go/前端高 CPU 构建必须走批准的 CI/运行面。
- GC 默认 plan 只读,真实删除必须显式 `run --confirm` 并遵循 allowlist/retention。
+4
View File
@@ -26,6 +26,10 @@ bun scripts/cli.ts platform-infra sub2api image-prepull --target PK01 --confirm
## 边界
- PK01 默认只允许只读诊断:
- 只有用户在当前请求中明确要求修改 PK01,才允许变更镜像版本、YAML、Compose、容器、环境变量、Caddy/FRP、账号池、Secret 绑定或其他配置/运行面状态;
- “修复”“恢复”“部署”或排查 Sub2API/Artificer 不自动构成 PK01 变更授权;
- 发现根因位于 PK01 时,先保留只读证据并请求明确授权。
- YAML 是 source of truthtarget、public exposure、Secret sourceRef、Codex pool 和 sentinel 配置都从 YAML 进入 CLI。
- Secret 只输出对象名、key 名、presence、fingerprint 或 redacted prefix;禁止打印完整 token/key。
- 默认 active target 以 YAML `defaults.targetId` 和 target role 为准;当前 `api.pikapython.com` 对应 PK01 host-Docker target。
+3
View File
@@ -9,6 +9,9 @@ description: UniDesk 主代理调度子代理的必读技能。用户提到子
## 高频规则
- 涉及 PK01 的派单默认只允许只读调查:
- 只有用户在当前请求中明确要求修改 PK01,子 issue、MDTODO 或代理 prompt 才能授权修改其版本、配置、Secret 绑定、边缘路由、容器或运行面;
- 泛化的修复、恢复、部署和排障目标不构成 PK01 变更授权。
- 主代理与子代理必须按用户明确目标控制实现范围:
- 未经用户明确要求,禁止新增或扩展通用合同、租约、安全机制、围栏及其配套门禁;
- 既有权限、Secret 脱敏、不可逆操作和损害预防边界继续生效,本规则不授权绕过既有安全底线;
+3
View File
@@ -22,6 +22,9 @@ description: UniDesk YAML-first 运维正规化技能。用户提到 ymal-first/
## Guardrails
- PK01 配置默认只允许只读盘点:
- 只有用户在当前请求中明确要求修改 PK01,才允许通过 YAML-first 正规化、故障恢复或跨服务配置收敛改变其版本、owning YAML、public exposure、Secret 绑定、Compose/容器/systemd 或运行面状态;
- 只读盘点不构成 PK01 变更授权。
- 先执行 `git status --short --branch``git pull --ff-only origin master`;保留并绕开无关并行修改。
- 源码、配置、部署类正规化默认在独立 `.worktree/<task>` 中做;轻量 skill/docs/reference 收敛可按项目规则直接在主 worktree 做。
- YAML 是 source of truth。不得新增隐藏代码默认值、schema 数值硬限制、合同测试或测试硬编码策略。