SOURCE LEDGER × PHASED DECISION

同一个状态,
谁有权撤销?

先用来源账本解释“状态为什么仍然存在”,再把普通激活、预输入窗口和外部强制打断分成三条决策轨道。

MENTAL MODEL

先分清两个问题

标签回答“现在是什么状态”,仲裁回答“新的请求怎样与当前运行冲突”。

01 / SOURCE

来源账本

固定集合与临时来源集合共同决定有效标签。一个来源退出,不代表同名状态失效。

effective = fixed || sources.size > 0
02 / QUERY

层级查询

叶子标签可以满足父级查询,但账本仍保存精确标签与精确来源。

动作.施法 → satisfies("动作")
03 / DECISION

阶段仲裁

普通激活比较活动能力;窗口看阶段;外部强制打断按过滤条件选择目标。

route + phase + reason
STEP 011 / 6
A来源账本固定 + 临时来源
B普通激活活动能力比较
C预输入窗口阶段优先
D外部强制打断区间 + 强度

CURRENT DECISION

SOURCE / ADD

固定状态进入账本

固定标签表示长期状态,不依赖临时运行实例。

本步改变

fixed:空 → 可行动

为什么

先保留原始来源,聚合查询才不会丢失所有权。

代价 / 边界

写入 O(1);查询还要考虑标签层级。

RESULT账本已建立

LIVE STATE

来源、队列与决策快照

教学标签:动作 / 动作.施法
QUERY TAG 动作 有效

固定来源

    临时来源

      轨道
      来源账本
      阶段
      当前能力
      输入
      排队
      决策
      记录来源
      EVENT / REASON TRACE
        标准速度,每 2.5 秒推进一步

        键盘:← / → 单步,空格暂停或继续,R 重置。焦点位于输入控件时不会拦截。

        BOUNDARIES

        两项不能写成保证

        UNRESOLVED 01

        临时 Add 通知

        账本写入后直接查询能够看到状态,但事件订阅者是否一定收到聚合 Add 通知,需要由具体通知路径验证。

        UNRESOLVED 02

        层级提升清理

        若“是否存在”使用层级匹配,而“删除”只按精确标签,临时提升为固定状态时可能留下来源记录。

        SEPARATE ROUTE

        外部强制打断

        它按目标区间与强度提交取消,不代表一个新技能通过了普通激活,更不创建接管实例。

        PHASE MATRIX

        预输入窗口不等于优先级绕过

        阶段更高输入同级输入更低输入
        InWindow请求取消首个缓存首个缓存
        PostWindow取消并排队取消并排队取消并排队
        AwaitingRelease替换队列拒绝替换拒绝替换