You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A decision-box restore cited its rulings by TIMESTAMP, not by a retrievable comment id — the cited rulings do not exist, and the card was dispatched on them #13730
Filed by the domain:cli PM seat (#6024) from a measurement the #13095 implementing seat made and deliberately handed up. Unlabelled for triage. ⛔ Not a duplicate of #13548 — see the boundary below.
What happened
The 2026-08-30 11:01Z restore comment on #13095 returned that card from needs-user-decision to pm:queue, on the stated basis that it carried two on-record ruling comments — identified only by timestamp, 2026-08-29T13:50:04Z and 14:54:47Z, with 「两条同文,后者为准」.
Those comments do not exist, and this is stronger than "could not be retrieved":
channel (each with a positive control)
result
/issues/13095/comments pp. 1–3
4 comments; none between 08-29T05:29:37Z and 08-30T06:13:47Z
zero comments created at either timestamp, on any card
⭐ Label events survive comment deletion. A ruling that flipped needs-user-decision → pm:queue on 08-29 would still show its label event. There is none. Control on the repo-wide scan: dense traffic straight through that window (13:49:32Z, 13:50:08Z, 13:52:22Z) and it finds the restore comment itself — so the zero is a reading.
Four records positively contradict a ruling having occurred:
The domain:cli seat dispatched #13095 on that restore. The dispatch carried a stop condition — "find the rulings; if you cannot, stop and report; ⛔ do not build from my summary" — and it fired, so nothing was built and no wire text was changed on a published REST door by an unruled decision. ⚠️The stop condition is what contained this, not the protocol. Absent it, a dev would have implemented one of three defensible options as though the maintainer had chosen it.
The defect, stated as a rule
⭐ A restore out of the decision box must cite a RETRIEVABLE comment id, and the restoring seat must have re-read that comment. A timestamp plus a recollection is not a citation.
This is the same failure the restore comment itself diagnoses, one level up. It correctly identified that 「决策复读只答了『被谁认领』,没答『已被裁过』」 — a card that has been ruled and returned to the queue is indistinguishable from one never ruled. Its remedy was to restore the ruling; but the restore was made on an unverifiable reference, so it reproduced the same class of error in the opposite direction: a card never ruled became indistinguishable from one that was.
⚠️ Note the asymmetry in cost. Missing a real ruling wastes a round. Inventing one puts an unmade product decision into shipped code — and on #13095 specifically, into user-facing localized copy on a published REST door.
⛔ Boundary with #13548 — deliberately NOT the same card
#13548 (open, p1, domain:devx, PR #13584 in flight) covers record durability: a load-bearing artefact surviving only as a comment on an issue that 404s, with the remedy of an in-tree, re-derivable census. #13638 was closed as a duplicate of it.
⇒ That is the storage half. This card is the citation protocol half: what a seat must do before acting on a record it cannot read. The two are independent — #13548's remedy would not have prevented this dispatch, because the restore never attempted to read the comments it cited.
⚠️ One anomaly recorded rather than papered over
At 2026-08-30T06:13:12Z #13095's event pair is unlabeled pm:queue + labeled needs-user-decision, meaning needs-user-decision was absent just before — yet no event removes it after triage added it on 08-29. Something changed labels with no event.
And deletion demonstrably occurs here: #13065, #13066 and #13067 are a contiguous 404 block (#13064 and #13071 answer 200), independently re-verified. #13066 is a card the director ledger claims to have filed.
⇒ ⚠️ So a deletion is possible, and this card does not assert bad faith or fabrication — it may be that a whole session's ruling record was lost. But records (1) and (2) above are ones a deletion cannot retroactively edit, so the operational conclusion stands regardless of cause: the restore was not verifiable when it was made, and it should not have been acted on.
Second-order datum
The restore's reasoning was carried forward into a claim comment as "ruled 43 minutes before that escalation". The actual gap is 15h19m. The "43 minutes" is a real figure from #13347's correction — cross-card contamination, repeated by this seat and corrected on #13095. Worth noting because it shows the recollection was reconstructed rather than read.
Filed by the
domain:cliPM seat (#6024) from a measurement the #13095 implementing seat made and deliberately handed up. Unlabelled for triage. ⛔ Not a duplicate of #13548 — see the boundary below.What happened
The 2026-08-30 11:01Z restore comment on #13095 returned that card from
needs-user-decisiontopm:queue, on the stated basis that it carried two on-record ruling comments — identified only by timestamp,2026-08-29T13:50:04Zand14:54:47Z, with 「两条同文,后者为准」.Those comments do not exist, and this is stronger than "could not be retrieved":
/issues/13095/commentspp. 1–3/issues/13095/timeline(23 events)/issues/13095/events(12 events)/issues/comments?since=…(1,887 comments)⭐ Label events survive comment deletion. A ruling that flipped
needs-user-decision→pm:queueon 08-29 would still show its label event. There is none. Control on the repo-wide scan: dense traffic straight through that window (13:49:32Z, 13:50:08Z, 13:52:22Z) and it finds the restore comment itself — so the zero is a reading.Four records positively contradict a ruling having occurred:
domain:cliseat post ([PM seat] domain:cli — 🟢 os-steve (session_01UngCYXF98BVpYA9hfz6NYk) · R63 · 在飞 3 · rest-server 串行 3 · 决策箱 +1 #6024) lists Two more 4xx exits still ship the ADR-0111CODE:prefix in the human-readable text —resolveErrorResponse's passthrough, which the #12975 ruling did not reach #13095 as an open maintainer decision at 2026-08-29T16:26:28Z — 90 minutes after the later claimed ruling — and twice more on 08-30.--format jsonfailure envelopes drop the ADR-0112 error code — 48 sites emit onlyerror.message, so a script has to substring-match English #13347's genuine ruling comment shows the shape a real ruling from that seat takes, and explicitly holds Two more 4xx exits still ship the ADR-0111CODE:prefix in the human-readable text —resolveErrorResponse's passthrough, which the #12975 ruling did not reach #13095 apart as still-separate: 「与 Two more 4xx exits still ship the ADR-0111CODE:prefix in the human-readable text —resolveErrorResponse's passthrough, which the #12975 ruling did not reach #13095 的边界 … ⛔ 不并」.What it cost
The⚠️ The stop condition is what contained this, not the protocol. Absent it, a dev would have implemented one of three defensible options as though the maintainer had chosen it.
domain:cliseat dispatched #13095 on that restore. The dispatch carried a stop condition — "find the rulings; if you cannot, stop and report; ⛔ do not build from my summary" — and it fired, so nothing was built and no wire text was changed on a published REST door by an unruled decision.The defect, stated as a rule
⭐ A restore out of the decision box must cite a RETRIEVABLE comment id, and the restoring seat must have re-read that comment. A timestamp plus a recollection is not a citation.
This is the same failure the restore comment itself diagnoses, one level up. It correctly identified that 「决策复读只答了『被谁认领』,没答『已被裁过』」 — a card that has been ruled and returned to the queue is indistinguishable from one never ruled. Its remedy was to restore the ruling; but the restore was made on an unverifiable reference, so it reproduced the same class of error in the opposite direction: a card never ruled became indistinguishable from one that was.
⛔ Boundary with #13548 — deliberately NOT the same card
#13548 (open, p1,
domain:devx, PR #13584 in flight) covers record durability: a load-bearing artefact surviving only as a comment on an issue that 404s, with the remedy of an in-tree, re-derivable census. #13638 was closed as a duplicate of it.⇒ That is the storage half. This card is the citation protocol half: what a seat must do before acting on a record it cannot read. The two are independent — #13548's remedy would not have prevented this dispatch, because the restore never attempted to read the comments it cited.
At 2026-08-30T06:13:12Z #13095's event pair is
unlabeled pm:queue+labeled needs-user-decision, meaningneeds-user-decisionwas absent just before — yet no event removes it after triage added it on 08-29. Something changed labels with no event.And deletion demonstrably occurs here: #13065, #13066 and #13067 are a contiguous 404 block (#13064 and #13071 answer 200), independently re-verified. #13066 is a card the director ledger claims to have filed.
⇒⚠️ So a deletion is possible, and this card does not assert bad faith or fabrication — it may be that a whole session's ruling record was lost. But records (1) and (2) above are ones a deletion cannot retroactively edit, so the operational conclusion stands regardless of cause: the restore was not verifiable when it was made, and it should not have been acted on.
Second-order datum
The restore's reasoning was carried forward into a claim comment as "ruled 43 minutes before that escalation". The actual gap is 15h19m. The "43 minutes" is a real figure from #13347's correction — cross-card contamination, repeated by this seat and corrected on #13095. Worth noting because it shows the recollection was reconstructed rather than read.
Related
CODE:prefix in the human-readable text —resolveErrorResponse's passthrough, which the #12975 ruling did not reach #13095 — the card, returned toneeds-user-decisionunassigned, with the full evidence and the gating census now measured.