docs(acm2-75): 规范全面对齐新需求口径
specification.md 按新需求重写: - 扫描模型反转:水位/ID 区间 → 处理标记为谓词(C-30 取代 C-1/C-2/C-13;INV-2b 替代 INV-2/4/5) - Redis 回归为查询投影:处理完成门(INV-23)、投影治理与同源读取(INV-24),INV-11b 扩充非权威清单 - 日计划快照语义反转:缺席航班删除、未携带字段清除(INV-15b),增量报文语义另立(INV-14b) - 终态记录归档 → 到期删除(INV-25),G-PROC-HST/G-HST-RETENTION/G-REPLAY-CHANNEL/G-FLOP-DIRECTION 关闭并清扫全仓引用 - 重放移出交付范围:R_keep 公式收窄、CLM-3 重定义为重处理幂等、Q6 删除 - 新增 INV-23~28:Redis 完成门、投影治理、清理谓词、参考数据逐类保存/门控、历史先行红线 - C-25/C-26 定案(原子级联不回发 EROR;快照未携带字段清除),Q13/Q14 关闭,Q6/Q12 删除,新增 C-30/C-31 联动:implementation.md 收报/回填/快照/生命周期/FLOP 方向各章按新口径重写;architecture.md D1/D4 改删除语义;reference.md 退役 archive-after;requirements.md OPS 表改为注册表定义 语法;AGENTS.md 状态边界随新口径更新;check-docs.py OPS 注册表节名同步。 scripts/check-docs.sh 全部通过。
This commit is contained in:
@@ -40,8 +40,7 @@ class PipelineProps {
|
||||
* 超期补写期限 R:一条消息到达终态后,过了这么久处理标记仍未写回信箱
|
||||
* (比如回填一直失败),扫描谓词的超期分支成立,无视退避强制补写(只会提前、从不推迟打标)。
|
||||
*
|
||||
* 唯一约束是 R ≤ R_keep,**不保护重放窗口**(打标时刻与 R 解耦,完整论证见
|
||||
* design「回填」)。取值待 Q6 定案,确认之前不要为提速下调。
|
||||
* 唯一约束是 R ≤ R_keep(完整论证见 implementation.md「回填」)。确认之前不要为提速下调。
|
||||
*/
|
||||
var overdueBackfill: Duration = Duration.ofDays(30)
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ msgx:
|
||||
backoff-ms: [1000, 2000, 4000, 8000] # 指数退避;档位数必须 = max-attempts - 1(启动自检)
|
||||
backoff-cap-ms: 60000
|
||||
max-commit-delay: 5m # 空洞老化:W+1 空洞超过该时延判定为永久(Q2 最大提交时延)
|
||||
overdue-backfill: 30d # 超期补写期限 R(Q6):仅须 R ≤ R_keep,不保护重放窗口;判据比较本地 ENQUEUED_AT(implementation.md「回填」)
|
||||
overdue-backfill: 30d # 超期补写期限 R:仅须 R ≤ R_keep;判据比较本地 ENQUEUED_AT(implementation.md「回填」)
|
||||
backfill-batch: 100 # 回填扫描单批条数
|
||||
backfill-max-attempts: 100 # 单行重试的告警阈值;放弃判据是 R 超期,不是次数(implementation.md「回填」)
|
||||
# 一次性切流播种:默认(注释掉)不播种。min=读现存全部 | zero=从 0 按空洞规则 | max=跳过可见存量 | <id>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
-- · 决策层:FLIGHT_SCHD + 8 张资源明细表 + FLIGHT_ROUTE_POINT —— 权威当前态(INV-11);
|
||||
-- · 管道层:PIPELINE_LOCK / INBOX_CURSOR / PROC_STATE / MSG_EVENT / REQ_TRACK;
|
||||
-- · 留痕层:SCHD_SNAP_LOG —— 只追加、可重建、不参与决策;
|
||||
-- · 证据层:报文原文归档 —— 冷路径,尚未交付(ARCHIVE_KEY 仅留引用位,G-REPLAY-CHANNEL)。
|
||||
-- · 证据层:报文原文归档 —— 冷路径,尚未交付(ARCHIVE_KEY 仅留引用位)。
|
||||
-- 类型口径:TIMESTAMP(6) WITH TIME ZONE 统一 UTC 语义;BIGSERIAL 为 PostgreSQL 方言
|
||||
-- (Oracle 11g 等价 DDL 见同目录 oracle11g/README.md)。
|
||||
-- =====================================================================
|
||||
@@ -41,7 +41,7 @@ INSERT INTO PIPELINE_LOCK (LOCK_ID, UPDATED_AT) VALUES (1, now());
|
||||
-- 状态不可逆:已提交的 SUCCEEDED 不因回填或投递失败回改(INV-6)。
|
||||
CREATE TABLE PROC_STATE (
|
||||
MSG_ID BIGINT NOT NULL PRIMARY KEY,
|
||||
STATE VARCHAR(16) NOT NULL, -- PENDING/FAILED/SUCCEEDED/SKIPPED/DEAD(ARCHIVED 属未建归档能力 G-PROC-HST)
|
||||
STATE VARCHAR(16) NOT NULL, -- PENDING/FAILED/SUCCEEDED/SKIPPED/DEAD
|
||||
IDENTITY_KEY VARCHAR(200), -- SNDR|TYPE|STYP|SEQN,解码后首次绑定
|
||||
ATTEMPTS INT NOT NULL DEFAULT 0,
|
||||
NEXT_ATTEMPT_AT TIMESTAMP(6) WITH TIME ZONE, -- 退避到期时刻;未到期不得被后续消息越过(INV-3)
|
||||
|
||||
Reference in New Issue
Block a user