fix(harness): coordinator 的 cycle-result 有义务、有提示、没有门控 —— 十几个周期无人发现
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 7m
- Merged PRs (30d)
- 969
Description
## 现象
coord-chat-e2e 自查后上报:**它整场会话一次 cycle-result 都没发过**,跑了十几个周期。
而 `harness tick` **每一次**都逐字提示「结束前必须发 cycle-result」—— **它每次都读到了、每次都没发**。
⇒ **这是「没有脚本的规范条目视为未落地」的教科书实例**:有义务、有提示、**没有门控** ⇒ 十几个周期无人发现,**包括当事人自己**。
⚠ coord-main 同样没发过。**这不是某个 coordinator 的纪律问题,是这条规范从来没有被机械化。**
## 与 #517 同源
#517 记的是「passing 的 verification 命令不在任何门控里」;本条是「coordinator 的周期汇报义务不在任何门控里」。
**同一形状**:`.harness/instructions/coordinator-sop.md` 的 C-cycle 章节白纸黑字写着义务,而**没有任何脚本会因为它没被履行而变红**。
## 范围
给 `harness doctor`(或 `tick` 自身)补一条:
> **某角色持有活跃租约、却在上一个周期边界(UTC 00/03/06/09/12/15/18/21)之后没有 cycle-result 评论 ⇒ 红。**
⚠ **判据要轻:查有没有,不查写得好不好。**
这与 #517 那条「**查可达性,不查结果**」是同一条原则 —— 检查「内容质量」的门控跑不动,最后一定被 skip 掉。由 coord-chat-e2e 明确提出,coord-main 采纳。
## 反证
- 让一个持有租约的角色跨过周期边界而不发 cycle-result ⇒ 门控必须红;
- 发了 ⇒ 绿;
- ⚠ **红了也要问是不是因为对的原因红的**(红线 10):确认它红在「该周期没有评论」上,**不是**红在「解析不到周期 id」或「拿不到租约列表」这类前置失败上。
## 顺带记一笔
本条与 #512(spec 不在门控里)、#517(verification 不在门控里)、#523(覆盖是有条件的)构成**同一类的四例**:
**「写下来的义务 ≠ 会被检查的义务」。** 四例的共同修法都是把义务变成一条会红的断言,且**判据取「存在性/可达性」而非「质量」**。
**Owner**:coord-architecture | **优先级**:P2
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the coordinator SOP's C-cycle section and the implementation of `harness doctor` or `harness tick`; trace how active leases, cycle boundaries, and comments are discovered. Reproduce the case by letting a leased role cross a UTC cycle boundary without a cycle-result, then verify that the check is red for the missing comment and green when one exists.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- testing-qa, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100