目录文档-技术白皮书51-管线卡 Template v1.0

第7章 状态、幂等与容错(事务/重试/回放)


I. 目的与范围(Purpose & Scope)


II. 前置条件与输入(Prerequisites & Inputs)


III. 状态机(State Machine)

  1. 状态集合:state ∈ {pending, running, succeeded, failed, rolled_back}。
  2. 基本转移
    • pending → running:依赖阶段 succeeded 且通过 G1–G3。
    • running → succeeded:阶段 G1–G8 全部通过。
    • running → failed:触发 S1–S5 任一(量纲失败/新鲜度失效/路径缺失/协方差失配/引用不合规)。
    • failed → rolled_back:存在检查点或补偿策略且审计完备。
  3. 不可变式:转移不得破坏上游工件一致性;回滚需与检查点一致并可重放。

IV. 事务边界与错误语义(Transactions & Errors)

  1. 事务边界:输入读取→计算→输出写入为一次原子提交;外部副作用需可补偿。
  2. 错误分类
    • E_INPUT(契约/类型/窗口错误)
    • E_DIM(量纲失败)
    • E_GATE(质量门未过)
    • E_SYNC(失锁/偏置超阈)
    • E_UQ(协方差非 PD/覆盖不一致)
    • E_INTERNAL(实现内部异常)
  3. 处置策略:可补偿错误优先回滚并重试;不可补偿错误标注 failed 并进入人工复核。

V. 幂等(Idempotency)


VI. 重试(Retry Strategy)


VII. 回放与检查点(Replay & Checkpoint)


VIII. 路径阶段的专属约束(Path-Aware Requirements)


IX. 质量门与停止(Gates & Stops)


X. 机读配置(Machine-Readable Configs)
A. state_machine.yaml(增补)

version: "1.0.0"

states: [pending, running, succeeded, failed, rolled_back]

transitions:

- { from: pending, to: running, when: "deps_succeeded && G1..G3" }

- { from: running, to: succeeded, when: "G1..G8 && !S1..S5" }

- { from: running, to: failed, when: "any(S1..S5)" }

- { from: failed, to: rolled_back, when: "has_checkpoint && do_compensate" }

retry_policy: { max_retries: 3, backoff: "exp+jitter", deadline: "10m" }

idempotency_key: "run_id+partition+window"

B. replay_plan.yaml

version: "1.0.0"

replay:

enabled: true

order: "reverse_topology"

require_checkpoint: true

compensate_before_replay: true

verify:

hash: true

primary_keys: true

alerts:

on_divergence: ["page_ops","open_ticket"]


C. 审计事件 audit.jsonl(示例行)

JSON json
{
  "ts": "2025-09-24T16:10:00Z",
  "stage_id": "stage-30-arrival",
  "event": "retry",
  "idempotency_key": "run42+p010+win001",
  "attempt": 2,
  "backoff_ms": 800,
  "input_hashes": [ "sha256:..." ],
  "state": "running",
  "user": "scheduler",
  "checksum": "sha256:..."
}

XI. 校验与监控(Validation & Monitoring)


XII. 反例与修正(Anti-Patterns & Fixes)


XIII. 发布与目录结构(Release & Layout)

PTN_EXPORT/

configs/

state_machine.yaml

replay_plan.yaml

reports/

check_dim_report.json

validate_report.json

audit.jsonl

figs/

state_transitions.svg

retry_replay_timeline.pdf

report_manifest.yaml

SIGNATURE.asc


XIV. 交叉引用(Cross-References)


XV. 执行勾选清单(Checklist)


版权与许可(CC BY 4.0)

版权声明:除另有说明外,《能量丝理论》(含文本、图表、插图、符号与公式)的著作权由作者(“屠广林”先生)享有。
许可方式:本作品采用 Creative Commons 署名 4.0 国际许可协议(CC BY 4.0)进行许可;在注明作者与来源的前提下,允许为商业或非商业目的进行复制、转载、节选、改编与再分发。
署名格式(建议):作者:“屠广林”;作品:《能量丝理论》;来源:energyfilament.org;许可证:CC BY 4.0。

首次发布: 2025-11-11|当前版本:v5.1
协议链接:https://creativecommons.org/licenses/by/4.0/