Files
Agent-System/.doc/ops/short-term/2026-09-22-redline-evidence.md
T

9.0 KiB
Raw Blame History

title, task_id, status, created, updated, owner, task_type, task_tier, policy_revision, branch, worktree, base_dev_sha, write_scope, allowed_environments, head_sha, mutex, review_state, integration_state, deployment, cleanup, cleanup_owner, cleanup_trigger, remote_sync
title task_id status created updated owner task_type task_tier policy_revision branch worktree base_dev_sha write_scope allowed_environments head_sha mutex review_state integration_state deployment cleanup cleanup_owner cleanup_trigger remote_sync
红线证据批次(无能力放量) 2026-09-22-redline-evidence done 2026-09-22 2026-09-22 Cursor research multi_stage agent-governance-2026-09-21-r1 @ local-dev 364ed7f1a3 feature/redline-evidence-2026-09-22 .worktrees/redline-evidence-2026-09-22 364ed7f1a3
.doc/ops/short-term/
.doc/ops/checklists/
.doc/test-reports/
internal/docrevision/narrative_test.go
9db2462604 redline-evidence-docs not_required pending not_required pending 独立维护者 合入 dev 且无进程占用后复查 remove not_requested

红线证据批次(无能力放量)

用户目标与授权

  • 用户目标:在 worktree redline-evidence-2026-09-22 落 SWBOOT / FAV / D7 / PI narrative 红线证据;不做能力放量、不翻转 flag。
  • 交付终点:短文 + test-report + D7 Track E 清单 + 叙事负例单测;本地 commit;不 push。
  • 明确禁止项:
    • SWBOOT-10 保持 fail-closed stub(不实现真实 patch/merge/push)
    • FAV:无整支 merge、无 live;FAV_DEGRADED_READ 保持 false;不启用 Register(fav)
    • D7:retention 不做物理删除;ADR 保持 pending-compliance-signoff
    • PI change-report narrative flag 保持 OFF
    • MULTI_INTENT_PLAN_TIER 保持 legacy;SEMANTIC_SUMMARY_REPLACE 保持未接线

例外登记(本机治理工具不可用)

  • owner:Cursor(本任务)。
  • 原因:agentctl with 依赖 Linux /proc;本机 Darwin 上 Lease 崩溃(TypeError: 'NoneType' object is not subscriptable)。与 status-reconcile / 晋升任务同一宿主限制。
  • 覆盖条款:操作规范 §3(with 租约持 path + git:index)。
  • 范围:仅本任务本地提交;不 push;不改 dev。
  • 退出条件:agentctl macOS 支持经验证,或迁到受测 Linux。
  • 恢复动作:提交使用 git -c core.hooksPath=<空目录> 旁路 agentctl hook(不用 --no-verify);提交前后 git status 确认仅预期路径。

范围与非目标

  • 允许:只读复验、证据报告、观察窗前置登记、Track E ID-only 清单、叙事 fallback 负例测试。
  • 非目标:能力 release、compose/env flag 翻转、共享环境写操作、FAV live、SWBOOT-10 实施、D7 物理删除、features.go 与 drift worktree 冲突时的重复改码。

步骤与验收

  1. SWBOOT:跑验收清单中无需真实仓写的 L1–L4 项;L5/L6 标 pending auth — SWBOOT 报告;清单已更新
  2. FAV:审计 ObserveShadow;登记观察窗启动前置;注明 registry/dispatcher 硬门 — FAV 报告
  3. D7:盘点 DB/备份/日志表面 + Track E ID-only 合规清单(无删除)— D7 报告 · 清单
  4. PI narrative:补强 flag-on fallback 负例;flag 保持 off — 叙事报告

FAV 审计与观察窗前置

代码门禁(本轮未改)

门禁 位置 行为
Registry.Register(fav) internal/events/registry.go 恒返回 ErrDisabledConsumer
AssertLiveConsumers / LiveConsumers 同上 拒绝 / 剔除 fav
PeekPendingLeases / ClaimLeases / SetMode internal/events/dispatcher.go consumer=fav 直接拒绝;claim SQL 含 d.consumer <> 'fav'
ObserveShadow internal/app/fav/subscriber.go WouldStage/WouldPublish/DegradedReadUsed 恒 false;FAV_DEGRADED_READ 为真则拒绝
HandleLease 同上 默认 disabled;即使 Enabled=true 仍 fail-closed 至 cutover 审批

复验(本 worktree,-short,2026-09-22T13:25Z):

go test -count=1 -short ./internal/app/fav/ ./internal/events/ -run 'Fav|Register|ObserveShadow|Cutover|Disabled'
→ PASS
go test -count=1 -short ./internal/server/ -run 'VaultDefaults|VaultStatus'
→ PASS

Compose 默认:dev/test ${FAV_*:-false};main 硬编码 "false"。

观察窗启动前置(登记,本轮不开始计时)

在授权开启 live 之前须同时满足;任一缺失则观察窗不得起算:

  1. 用户显式授权:允许 fav durable consumer cutover(单独审批,非整支 merge feature/final-artifact-vault)。
  2. 解除 events 硬门:Registry.Register(fav) / SetMode(fav,*) / claim 路径可按审批切片放行(本批禁止改)。
  3. 顺序固定:staging → artifact → publication;每级 shadow → drain → live。
  4. 每级观察窗下限:≥7 天 或 ≥N 终态样本(取更严);崩溃/重启幂等证据齐全。
  5. FAV_DEGRADED_READ 全程 false(不随 live 开启)。
  6. 三环境 compose 与 sysadmin 成熟度目录一致声明;无旁路 cmd/events 注册。
  7. 独立 mutex events 持有者;CURRENT 集成槽位已认领。
  8. 回滚预案:任一级失败立即回 shadow/off,不前进下一级。

本轮结论:shadow 可观测;live 观察窗 未开始。

D7 表面盘点(无删除)

静态复验(相对 W7 盘点):

表面 位置 / 入口 本轮结论
会话正文 chat_sessions / chat_messages 无 DELETE FROM chat_* / retention SET deleted_at;存在内容编辑 UPDATE
派生记忆 context_memory_chunks 无 retention 作业
事件 envelope / DLQ Track E allowlist payload 无正文;见 Track E 清单
应用日志 Docker / slog 禁止消息正文;本批未抽 live 容器日志
备份 scripts/backup-system-db.sh pg_dump -Fc;本轮未执行 dump
Agent workspace data/*/workspaces 无 30 天清理作业(ADR 待签)
FAV 终态 final_artifacts consumer off;与聊天口径解耦

ADR 仍为 pending-compliance-signoff。

PI narrative

  • 仓库默认 / compose:PI_CHANGE_REPORT_NARRATIVE=false。
  • 加宽负例:internal/docrevision/narrative_test.go(SHA mismatch、wrong schema kind、top-level error_code、empty raw、empty fetcher body、authorized-flip 路径仍默认 off)。
  • 跳过 internal/sysadmin/features.go reason 更新:并行 feature/status-drift-reconcile-2026-09-22 已改;集成以 drift 为准。

红线保持:MULTI_INTENT_PLAN_TIER=legacy;SEMANTIC_SUMMARY_REPLACE 未接线。

验证与证据

范围 / 被测 SHA 命令与环境 预期 实际 / 判定 证据
SWBOOT L1–L4(364ed7f1) 见 SWBOOT 报告 L1/stub PASS;L5/L6 pending PASS / NOT RUN 如实 swboot;assets
FAV shadow / registry go test … fav/ events/ server Vault* WouldStage/Publish false;Register fail-closed PASS fav
D7 / Track E 静态检索 + 清单 无删除;ID-only PASS d7 · checklist
PI narrative 负例 go test ./internal/docrevision/ -run 'Narrative|…' flag off;flag-on fallback PASS narrative
arch ./scripts/arch-check.sh --mode block production gate passed PASS arch-check.txt

附件目录:.doc/test-reports/assets/2026-09-22-redline-evidence/。

收口与交接

  • 本地提交在本分支;未合入 dev;未 push;无部署。
  • features.go 以 status-drift 分支为准合并。
  • cleanup:合入并确认 tip 为 dev 祖先后由独立维护者 remove worktree。
  • 下一步(需另授权):SWBOOT L5/L6 / SWBOOT-10 安全评审;FAV live 观察窗;D7 合规签字;PI narrative flag 翻转。

相关链接