Files
Agent-System/.doc/test-reports/2026-09-22-redline-evidence-fav-test-report.md
T

4.3 KiB
Raw Blame History

红线证据:FAV subscriber audit + shadow reconcile(无 live)

一、 测试背景 (Background)

W6 shadow 已合 dev。本轮只做 subscriber 审计 + shadow 复验 + 观察窗启动前置登记。禁止整支 merge feature/final-artifact-vault;不启用 live Register(fav);不翻转 FAV_DEGRADED_READ。

二、 测试目标 (Test Objectives)

  • ObserveShadow:WouldStage / WouldPublish / DegradedReadUsed 恒 false
  • HandleLease 默认 disabled;Enabled=true 仍 fail-closed 至 cutover 审批
  • Registry.Register(fav) / AssertLiveConsumers / claim 路径硬拒 fav
  • compose 默认 FAV_DEGRADED_READ=false、FAV_PUBLISHER_ENABLED=false
  • 登记观察窗启动前置;本轮不开始计时

三、 测试方案与环境 (Test Plan & Environment)

项 值
OS Darwin 25.6.0 arm64
Go go1.27.1
分支 feature/redline-evidence-2026-09-22
被测 SHA 364ed7f1a3f0393ef77ec4623a9518116ed2cb87
实测时间 2026-09-22T13:25:12Z
证据 .doc/test-reports/assets/2026-09-22-redline-evidence/

四、 预期结果 (Expected Results)

  • shadow 可观测且无写回执
  • Register(fav) / live consumers 仍拒绝
  • vault status:consumer_mode=off / live 未放量
  • 观察窗前置已登记但未起算

五、 实际测试结果与判定 (Actual Results & Evaluation)

5.1 Subscriber shadow 单测

  • 测试输入 (Input):go test -count=1 -short ./internal/app/fav/ ./internal/events/ -run 'Fav|Register|ObserveShadow|Cutover|Disabled|Vault' -v
  • 实际输出 (Actual Output):
    • TestFavSubscriberDefaultsDisabled PASS
    • TestFavSubscriberStillDisabledWhenFlagOnWithoutRegistryApproval PASS
    • TestFavSubscriberShadowComputesIntendedOutcomeWithoutWrites PASS
    • cutover / claim disabled / manifest 含 disabled FAV PASS
    • 见 fav-shadow.txt
  • 评价判定 (Evaluation / Verdict):PASS
  • 性能与耗时 (Duration & Latency):~0.3s

5.2 Registry / vault 硬门

  • 测试输入 (Input):go test -count=1 -short ./internal/events/ -run 'Register|AssertLive|LiveConsumers|Manifest' -v;go test -count=1 -short ./internal/server/ -run 'VaultDefaults|VaultStatus' -v
  • 实际输出 (Actual Output):AssertLiveConsumersRejectsFAV / LiveConsumersOmitsFAV / VaultDefaultsStayDisabled / VaultStatusReportsOff PASS。见 fav-register-gate.txt / fav-vault-status.txt
  • 评价判定 (Evaluation / Verdict):PASS(未启用 live Register)
  • 性能与耗时 (Duration & Latency):~0.7s

5.3 Compose 默认(静态)

  • 测试输入 (Input):rg FAV_DEGRADED_READ|FAV_PUBLISHER_ENABLED docker-compose.{dev,test,main}.yml
  • 实际输出 (Actual Output):dev/test ${...:-false};main 硬编码 "false"。见 fav-compose-defaults.txt
  • 评价判定 (Evaluation / Verdict):PASS(默认 false;本轮未改 compose)
  • 性能与耗时 (Duration & Latency):N/A

5.4 观察窗启动前置(登记,未计时)

须同时满足后才可起算(任一缺失不得起算):

  1. 用户显式授权 fav durable consumer cutover(非整支 merge)
  2. 解除 events 硬门(Register(fav) / SetMode / claim)——本批禁止改
  3. 顺序:staging → artifact → publication;每级 shadow → drain → live
  4. 每级 ≥7 天或 ≥N 终态样本(取更严);崩溃/重启幂等证据
  5. FAV_DEGRADED_READ 全程 false
  6. 三环境 compose 与 sysadmin 目录一致;无旁路注册
  7. mutex events + CURRENT 集成槽位已认领
  8. 回滚预案:失败立即回 shadow/off
  • 评价判定 (Evaluation / Verdict):PASS(前置已登记);观察窗 未开始

六、 自动化测试套件汇总 (Test Suite Execution)

ok  internal/app/fav     FavSubscriber* PASS
ok  internal/events      AssertLive/LiveConsumers/Manifest/Cutover PASS
ok  internal/server      VaultDefaults/VaultStatus PASS
compose defaults         FAV_* = false
live Register(fav)       NOT ENABLED
observation window       NOT STARTED

七、 测试结论与后续优化建议 (Conclusion & Next Steps)

Shadow 复验 PASS;硬门仍 fail-closed。FEATURE-MATRIX FAV 保持 partial。下一步仅在用户授权 cutover 后按固定顺序开观察窗,且全程保持 FAV_DEGRADED_READ=false。