Skip to content

Two app-source comments quote a DESIGN.md §09 that no longer says any of it — the stale-pointer pattern, pointing the other way #71

Description

@zhuangjianguo

The defect

This repository has spent several cards fixing documents that described code wrongly. These two are the mirror: code quoting a document, where the document has since moved and the quote has not.

Neither is a runtime defect. Both are comments, invisible to every gate and to the product. They are filed because this repo's standing position — src/data/keys.ts, #26, #46, #52, #54 — is that a comment carrying more authority than its evidence is worse than no comment, and both of these carry the authority of a §-reference.

1. src/dashboards/legal.dashboard.ts:3–5 — stale three ways

The file header quotes §09's 法务工作台 list to identify which dashboard it implements:

 * 法务工作台 — DESIGN.md §09's first dashboard: 待受理数 · 审查中 · 超 SLA ·
 * 谈判停滞 · 平均周转(本月 vs 上月)· 各阶段合同数漏斗.

Every one of the three italicised items has since changed in §09:

the header quotes §09 says now changed by
超 SLA 审查超 30 天(固定阈值,写进砖的标题) PR #40 (296fab8)
平均周转(本月 vs 上月) 审批吞吐(本月 vs 上月,用平台 compareTo PR #40 (296fab8)
各阶段合同数漏斗 各阶段合同数(横向条形图,按合同数从多到少排;只画在办的六个阶段) PR #70 (#63)

⚠️ The dev on #63 reported two of these; the third (超 SLA) is the PM seat's own reading. The quote is a snapshot of a §09 that has not existed since PR #40 landed — and it is the first thing a reader of that file sees.

Worse than merely stale: it names 平均周转 and 超 SLA, which §09 now explicitly declines to deliver (maintainer ruling 2026-09-09, tracked upstream at objectstack-ai/objectstack#16737). A reader who trusts the header concludes the dashboard is supposed to ship two metrics the design authority has ruled out.

2. src/datasets/cycle-time.dataset.ts:42–45

 * Those five are deliberately NOT read as a monotone funnel: `signed_at` (72)
 * exceeds `submitted_at` (60) because the demo's in-force book was backfilled
 * with signature dates and no intake. The status funnel on the legal workbench
 * is the honest funnel; these are per-stage coverage counts.

The contrast this paragraph is built on — that is a funnel, this is not — stopped holding at PR #57 (#48), which made the status widget a horizontal-bar precisely because the book does not decline monotonically. So the sentence now points at a funnel that does not exist, to explain why these numbers are not one.

The underlying observation is still correct and worth keeping: signed_at (72) exceeding submitted_at (60) is real, and the reason (backfilled in-force book, no intake) is right. Only the comparison needs rewriting — ⛔ do not delete the paragraph.

What to change

Two comments. ⛔ No behaviour, no metadata, no DESIGN.md.

  1. legal.dashboard.ts's header — bring the quoted list into line with §09 as merged, or stop quoting the list. Prefer the second. A quoted list is a copy that has now drifted three times in two days; a pointer (「DESIGN.md §09 的第一个看板」) cannot drift at all. Say which you chose and why.
  2. cycle-time.dataset.ts — rewrite the comparison so it no longer asserts a funnel exists on the legal workbench. Keep the measurement and its explanation.

Constraints

Acceptance

Provenance

Found by the dev on #63 while grepping for other descriptions of the stage widget, correctly left untouched (the card and its dispatch both said ⛔ do not touch the app) and named rather than silently dropped, with a suggestion of one card covering both. The third staleness in item 1, and both readings, confirmed by the PM seat on 9b7538a.

Related

#63 / PR #70 (§09's own fix, where this was found) · #48 / PR #57 · #59 / PR #62 (the widget) · PR #40 (296fab8, which changed the other two items) · #26 · #54 (why a stale annotation is filed rather than tolerated)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions