boardx / boardx/workspacex

fix(harness): coordinator 的 cycle-result 有义务、有提示、没有门控 —— 十几个周期无人发现

Open
#534 0 comments 0 reactions 0 assignees View on GitHub
out-of-scope owner:coord-architecture
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.