Personal AI 运维复查
适用范围
用于已经完成建设、进入 OPERATIONS MODE 的 Personal AI Infrastructure。目标是回答“系统现在是否正常、哪些问题需要人处理、哪些只是已知外部阻塞”。
优先复用现有 Control Plane、Governance、Durability、Memory、Model/Trace、Harness Adapter 与 Personalization Calibration 的真实输出;不要重新实现底层检查。
不适用
- 不用于设计新的 Architecture Phase、重构 Control Plane、替换 MemoryProvider 或新增基础设施。
- 不用于直接批准 model admission、修改 routing/default model/preference、删除 provider/plugin/memory、清 Git 历史或处理其他 canonical mutation。
- 不把
BLOCKED/DEGRADED自动视为系统失败;先判断它是否是治理系统正确暴露的真实约束。 - 用户明确要求实施某个 change 时,先转入既有
Need → Impact → Proposal → Implementation → Verification → Regression流程,不在本 Skill 内静默执行。 - 不在普通任务中自动执行完整巡检。
核心契约:Evidence Freshness & Cause-aware Classification
1. Evidence Freshness 契约
每个运维域必须同时输出:
status:HEALTHY/DEGRADED/BLOCKED/UNKNOWNevidence_state:CURRENT/LAST_KNOWN/UNAVAILABLE
语义:
- CURRENT:本轮成功执行真实检查。
- LAST_KNOWN:本轮实时检查不可用/失败,只能读取历史 verified evidence / baseline report。
- UNAVAILABLE:既无当前证据,也没有足够可信的历史证据。
- 严禁:
LAST_KNOWN冒充CURRENT;严禁在只有历史快照时宣称“与基线持平”。
2. 检查失败与沙箱限制处理
- 检查脚本遇到 not found / permission denied / sandbox denied / timeout / path inaccessible 时:
- 属于
OBSERVABILITY_EVIDENCE_LIMITATION,不直接判为DEGRADED。 - 若存在历史 verified 证据:
status = <last known status>,evidence_state = LAST_KNOWN。 - 若无历史证据:
status = UNKNOWN,evidence_state = UNAVAILABLE。
- 属于
- 仅当真实规则/能力检查器本身执行并检出违规(如 capability drift > 0 或 static boundary violation)时,才标
DEGRADED。
3. Durability 契约(Backup Age 与 Repo Durability 分离)
- 明确区分 backup age 数据集(sessions, broker, configs)与 repos 数据集:
- BACKUP_RPO_AGE_BREACH:仅指 sessions/broker/configs 等备份年龄超出 RPO 目标。
- KNOWN_PRIVACY_BLOCKER / REPO_BLOCKED_PRIVACY:因包含未脱敏信息拦截推送(如 novel-main),不得被描述为“备份年龄超期”。
- REPO_UNPUSHED:存在未推送提交。
- REMOTE_UNAVAILABLE:远程仓库不可达。
- 当且仅当 sessions/broker/configs 等存在真实超期(
BACKUP_RPO_AGE_BREACH)时,才触发ACTION REQUIRED。
4. Overall Action Resolver
- ACTION REQUIRED:只有存在当前证据确认的新真实运行故障(actual Harness drift、actual backup age RPO breach、scope leakage、secret exposure、governance check failed、未预期 unpushed repo)。
- REVIEW:任一域证据不可用(
UNAVAILABLE/LAST_KNOWN)、非关键指标恶化(over-personalization)、待裁决高危提案。 - EXTERNAL BLOCKER:仅存在已知外部 blocker(
BACKUP_KEY_CUSTODY,NOVEL_REPO_DURABILITY等),且无其他新异常。 - NO ACTION:全部健康且为当前证据,无 blocker。
工作流程
定位真实入口
- 找到
agent-tools仓库根目录和当前分支/commit。 - 优先读取
docs/personal-ai-operations.md、当前 Architecture/operations handoff 与仓库已有脚本说明。 - 命令或路径不存在时标
UNKNOWN,先搜索仓库实际入口;不要凭旧报告猜路径。
- 找到
读取 Human-facing status
运行入口:
python scripts/governance/personal_status.py记录每个域的
status、evidence_state及cause/reason。
验证 Control Plane 与 Harness drift
- 运行已有
aic validate。 - 对当前已登记 Harness 逐个执行
aic diff <target>;覆盖 dsh/codex/claude/gemini/switchboard。 - 正常目标应为
VALID / NO DRIFT。发现 drift 时只报告 expected/actual/owner,不自动 apply。
- 运行已有
检查 Durability
- 运行
python scripts/durability/rpo_check.py --json。 - 区分 backup-age 与 repo privacy blocker;获取 per-dataset cause。
- 运行
检查 Governance / Proposals
- 检查
capability_gov.py与static_gov.py。 - 检查 inbox open proposals,统计数量与高危项。
- 检查
检查 Personalization(行为监控域)
- 运行
python skills/personal-ai-operations-review/scripts/personalization_status.py --json。 - 缺实时数据时诚实输出
LAST_KNOWN或UNAVAILABLE,不伪造精度。
- 运行
输出 Human-facing 报告
Personal AI Status
Infrastructure HEALTHY
CURRENT — aic VALID, 5 targets NO DRIFT
Personalization HEALTHY / UNKNOWN
CURRENT / LAST_KNOWN — 证据说明
Durability HEALTHY / DEGRADED
CURRENT — novel-main remains known BLOCKED_PRIVACY; backup-age datasets healthy
Governance HEALTHY / UNKNOWN
CURRENT — capability_drift=0; static boundary clean
Proposals HEALTHY
CURRENT — 4 open, no new high severity
External Blockers BLOCKED
CURRENT — known, unchanged
Overall: NO ACTION / REVIEW / ACTION REQUIRED / EXTERNAL BLOCKER
安全边界
- 默认只读;不调用
aic apply、不写 canonical、不 push、不 admit model、不改 preference/memory、不删除 config。 - 不输出 secret、token、decrypt key 或完整凭据。
- 不通过自动修复把真实异常变成绿色。
- 不新增 daemon、数据库、Harness 或外部通知服务。