decay

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Evidence Freshness Management

证据时效性管理

Manages evidence freshness by identifying stale decisions and providing governance actions. Implements FPF B.3.4 (Evidence Decay).
Key principle: Evidence is perishable. Decisions built on expired evidence carry hidden risk.

通过识别过时决策并提供治理操作来管理证据时效性。实现了FPF B.3.4(Evidence Decay)标准。
核心原则:证据具有时效性。基于过期证据做出的决策存在潜在风险。

Quick Concepts

快速概念

What is "stale" evidence?

什么是“过时”证据?

Every piece of evidence has a
valid_until
date. A benchmark from 6 months ago may no longer reflect current system performance. A security audit from before a major dependency update doesn't account for new vulnerabilities.
When evidence expires, the decision it supports becomes questionable - not necessarily wrong, just unverified.
每一份证据都有一个
valid_until
日期。6个月前的基准测试结果可能无法反映当前系统性能。重大依赖更新前的安全审计无法覆盖新出现的漏洞。
当证据过期时,它所支持的决策就会变得存疑——不一定是错误的,只是未经验证。

What is "waiving"?

什么是“豁免”?

Waiving = "I know this evidence is stale, I accept the risk temporarily."
Use it when:
  • You're about to launch and don't have time to re-run all tests
  • The evidence is only slightly expired and probably still valid
  • You have a scheduled date to refresh it properly
A waiver is NOT ignoring the problem - it's explicitly documenting that you know about the risk and accept it until a specific date.
豁免 = “我知道这份证据已过时,我暂时接受相关风险。”
适用于以下场景:
  • 即将发布,没有时间重新运行所有测试
  • 证据仅略微过期,很可能仍然有效
  • 已安排好日期将对其进行正式更新
豁免并非无视问题——它是明确记录你知晓风险并在特定日期前接受该风险。

The Three Actions

三种操作

SituationActionWhat it does
Evidence is old but decision is still goodRefreshRe-run the test, get fresh evidence
Decision is obsolete, needs rethinkingDeprecateDowngrade hypothesis, restart evaluation
Accept risk temporarilyWaiveRecord the risk acceptance with deadline

场景操作作用
证据已过时但决策仍然有效更新重新运行测试,获取新证据
决策已过时,需要重新考量弃用降级假设,重启评估流程
暂时接受风险豁免记录风险接受情况及截止日期

Action (Run-Time)

运行时操作

Step 1: Generate Freshness Report

步骤1:生成时效性报告

  1. List all evidence files in
    .fpf/evidence/
  2. For each evidence file:
    • Read
      valid_until
      from frontmatter
    • Compare with current date
    • Classify as FRESH, STALE, or EXPIRED
  1. 列出
    .fpf/evidence/
    目录下的所有证据文件
  2. 针对每个证据文件:
    • 从文件头读取
      valid_until
      字段
    • 与当前日期对比
    • 分类为FRESH(有效)、STALE(即将过期)或EXPIRED(已过期)

Step 2: Present Report

步骤2:展示报告

markdown
undefined
markdown
undefined

Evidence Freshness Report

证据时效性报告

EXPIRED (Requires Action)

已过期(需处理)

EvidenceHypothesisExpiredDays Overdue
ev-benchmark-2024-06-15redis-caching2024-12-1545
ev-security-2024-07-01auth-module2025-01-0114
证据假设过期日期逾期天数
ev-benchmark-2024-06-15redis-caching2024-12-1545
ev-security-2024-07-01auth-module2025-01-0114

STALE (Warning)

即将过期(警告)

EvidenceHypothesisExpiresDays Left
ev-loadtest-2024-10-01api-gateway2025-01-205
证据假设过期日期剩余天数
ev-loadtest-2024-10-01api-gateway2025-01-205

FRESH

有效

EvidenceHypothesisExpires
ev-unittest-2025-01-10validation-lib2025-07-10
证据假设过期日期
ev-unittest-2025-01-10validation-lib2025-07-10

WAIVED

已豁免

EvidenceWaived UntilRationale
ev-perf-old2025-02-01Migration pending
undefined
证据豁免截止日期理由
ev-perf-old2025-02-01迁移待完成
undefined

Step 3: Handle User Actions

步骤3:响应用户操作

Based on user response, perform one of:
根据用户反馈,执行以下操作之一:

Refresh

更新

User: "Refresh the redis caching evidence"
  1. Navigate to the hypothesis in
    .fpf/knowledge/L2/
  2. Re-run validation to create fresh evidence
用户:“更新redis缓存的证据”
  1. 导航至
    .fpf/knowledge/L2/
    目录下的对应假设文件
  2. 重新运行验证流程以生成新证据

Deprecate

弃用

User: "Deprecate the auth module decision"
  1. Move hypothesis from L2 to L1 (or L1 to L0)
  2. Create deprecation record:
markdown
undefined
用户:“弃用认证模块的决策”
  1. 将假设文件从L2层级移动至L1层级(或从L1移至L0)
  2. 创建弃用记录:
markdown
undefined

In .fpf/evidence/deprecate-auth-module-2025-01-15.md

In .fpf/evidence/deprecate-auth-module-2025-01-15.md


id: deprecate-auth-module-2025-01-15 hypothesis_id: auth-module action: deprecate from_layer: L2 to_layer: L1 created: 2025-01-15T10:00:00Z


id: deprecate-auth-module-2025-01-15 hypothesis_id: auth-module action: deprecate from_layer: L2 to_layer: L1 created: 2025-01-15T10:00:00Z

Deprecation: auth-module

弃用:auth-module

Reason: Evidence expired, technology landscape changed
Next Steps: Run
/fpf:propose-hypotheses
to explore alternatives

3. Move the hypothesis file:
```bash
mv .fpf/knowledge/L2/auth-module.md .fpf/knowledge/L1/auth-module.md
原因:证据已过期,技术环境发生变化
下一步:运行
/fpf:propose-hypotheses
命令探索替代方案

3. 移动假设文件:
```bash
mv .fpf/knowledge/L2/auth-module.md .fpf/knowledge/L1/auth-module.md

Waive

豁免

User: "Waive the benchmark until February"
  1. Create waiver record:
markdown
undefined
用户:“将基准测试的豁免期限延长至2月”
  1. 创建豁免记录:
markdown
undefined

In .fpf/evidence/waiver-benchmark-2025-01-15.md

In .fpf/evidence/waiver-benchmark-2025-01-15.md


id: waiver-benchmark-2025-01-15 evidence_id: ev-benchmark-2024-06-15 waived_until: 2025-02-01 created: 2025-01-15T10:00:00Z


id: waiver-benchmark-2025-01-15 evidence_id: ev-benchmark-2024-06-15 waived_until: 2025-02-01 created: 2025-01-15T10:00:00Z

Waiver: ev-benchmark-2024-06-15

豁免:ev-benchmark-2024-06-15

Evidence: ev-benchmark-2024-06-15 Hypothesis: redis-caching Waived Until: 2025-02-01 Rationale: Migration pending, will re-run after completion
Accepted By: User Created: 2025-01-15
WARNING: This evidence returns to EXPIRED status after 2025-02-01.

---
证据:ev-benchmark-2024-06-15 假设:redis-caching 豁免截止日期:2025-02-01 理由:迁移待完成,完成后将重新运行测试
批准人:用户 创建时间:2025-01-15
警告:该证据将在2025-02-01后恢复为已过期状态。

---

Natural Language Usage

自然语言使用方式

You don't need to memorize evidence IDs. Just describe what you want.
无需记忆证据ID,只需描述你的需求即可。

Example Workflow

示例流程

User: /fpf:decay

Agent shows report with stale evidence

User: Waive the benchmark until February, we'll re-run it after the migration.

Agent: Creating waiver for ev-benchmark-2024-06-15 until 2025-02-01.
       Rationale: "Re-run after migration"

       [Creates .fpf/evidence/waiver-benchmark-2025-01-15.md]

User: The vendor API is being discontinued. Deprecate that decision.

Agent: Deprecating hypothesis-vendor-api from L2 to L1.
       [Moves file, creates deprecation record]

       Next step: Run /fpf:propose-hypotheses to explore alternatives.

用户:/fpf:decay

Agent展示包含过时证据的报告

用户:将基准测试豁免至2月,我们会在迁移完成后重新运行。

Agent:正在为ev-benchmark-2024-06-15创建截止至2025-02-01的豁免。
       理由:“迁移完成后重新运行”

       [创建文件.fpf/evidence/waiver-benchmark-2025-01-15.md]

用户:供应商API即将停用。弃用该决策。

Agent:正在将hypothesis-vendor-api从L2层级降级至L1层级。
       [移动文件,创建弃用记录]

       下一步:运行/fpf:propose-hypotheses命令探索替代方案。

WLNK Principle

WLNK原则

A hypothesis is STALE if any of its evidence is expired (and not waived).
This is the Weakest Link (WLNK) principle: reliability = min(all evidence). One stale piece makes the whole decision questionable.

如果假设的任意一份证据已过期(且未被豁免),则该假设即为过时
这就是最弱环节(WLNK)原则:可靠性 = 所有证据中的最小值。一份过时的证据会让整个决策变得存疑。

Audit Trail

审计追踪

All actions are logged:
ActionWhat's Recorded
Deprecatefrom_layer, to_layer, reason, date
Waiveevidence_id, until_date, rationale, date
Files created in
.fpf/evidence/
:
  • deprecate-{hypothesis}-{date}.md
  • waiver-{evidence}-{date}.md

所有操作都会被记录:
操作记录内容
弃用原层级、目标层级、原因、日期
豁免证据ID、截止日期、理由、日期
.fpf/evidence/
目录下创建的文件:
  • deprecate-{hypothesis}-{date}.md
  • waiver-{evidence}-{date}.md

Common Workflows

常见流程

Weekly Maintenance

每周维护

/fpf:decay                    # See what's stale
/fpf:decay                    # 查看哪些内容已过时

For each stale item: refresh, deprecate, or waive

针对每个过时项:更新、弃用或豁免

undefined
undefined

Pre-Release

发布前检查

/fpf:decay                    # Check for stale decisions
/fpf:decay                    # 检查是否存在过时决策

Either refresh evidence or explicitly waive with documented rationale

要么更新证据,要么明确豁免并记录理由

Waiver rationales become part of release documentation

豁免理由将成为发布文档的一部分

undefined
undefined

After Major Change

重大变更后

undefined
undefined

Dependency update, API change, security advisory...

依赖更新、API变更、安全公告等...

/fpf:decay # See what's affected
/fpf:decay # 查看受影响的内容

Deprecate obsolete decisions

弃用过时决策

Start new hypothesis cycle for replacements

启动新的假设周期以寻找替代方案

undefined
undefined