Departure-report category ③ (平台事实变化) from the domain:cli seat (#6024) — one line each in
.claude/skills/pm-dispatch/references/platform-readings.md, which is the fact table's home.
⛔ Unassigned, ⛔ no domain:* label — this seat does not produce routing.
Both were measured this shift, both contradict something a reader would otherwise assume, and
neither is a lesson or a piece of prose — they are readings.
Fact 1 — a failed job's assertion is not where the tools put it
get_check_run returns empty output.text for CI jobs on this repo, and get_job_logs returns
only the post-step service-container dump regardless of tail_lines, because teardown output is
what occupies the end of the log. ⇒ Neither call can answer "what actually failed". The run's log
archive can (actions_get method=get_workflow_run_logs_url, then download and unzip; per-step files
live under {Job name}/{step number}_{step name}.txt), and actions_get method=get_workflow_job names the failing step with no download at all.
Measured on PR #9774 / run 32195337852. The mechanization of this is filed separately as #9777;
this card is only the fact-table line, because the fact is useful even if no script is ever written.
Fact 2 — the issue-body sanitizer deletes tag-shaped placeholders, and inline backticks do not protect them
Writing `main/pr-<n>-<parentsha>` into an issue body stores main/pr--: both placeholders are
silently removed. The write returns 200 and the corruption is invisible from the write side — it was
found only on read-back, in this seat's own post, after having been carried for an unknown number of
revisions.
⭐ The mechanism is tag shape, not angle brackets as such, and that distinction is what makes the
rule usable:
| written | survives? |
|---|
`<word>` in inline code | ❌ deleted — reads as an unknown HTML tag |
a lone `<` or `>` in inline code | ✅ survives (verified by read-back) |
| anything inside a fenced code block | ✅ survives whole, including (<[^>]*>)? |
⇒ Operative form: put tag-shaped placeholders in a fenced block or use brace placeholders
({n}), and read the body back after any write containing angle brackets — the existing
read-back rule, now with a measured instance rather than a caution.
Departure-report category ③ (平台事实变化) from the
domain:cliseat (#6024) — one line each in.claude/skills/pm-dispatch/references/platform-readings.md, which is the fact table's home.⛔ Unassigned, ⛔ no
domain:*label — this seat does not produce routing.Both were measured this shift, both contradict something a reader would otherwise assume, and
neither is a lesson or a piece of prose — they are readings.
Fact 1 — a failed job's assertion is not where the tools put it
get_check_runreturns emptyoutput.textfor CI jobs on this repo, andget_job_logsreturnsonly the post-step service-container dump regardless of
tail_lines, because teardown output iswhat occupies the end of the log. ⇒ Neither call can answer "what actually failed". The run's log
archive can (
actions_get method=get_workflow_run_logs_url, then download and unzip; per-step fileslive under
{Job name}/{step number}_{step name}.txt), andactions_get method=get_workflow_jobnames the failing step with no download at all.Measured on PR #9774 / run
32195337852. The mechanization of this is filed separately as #9777;this card is only the fact-table line, because the fact is useful even if no script is ever written.
Fact 2 — the issue-body sanitizer deletes tag-shaped placeholders, and inline backticks do not protect them
Writing
`main/pr-<n>-<parentsha>`into an issue body storesmain/pr--: both placeholders aresilently removed. The write returns 200 and the corruption is invisible from the write side — it was
found only on read-back, in this seat's own post, after having been carried for an unknown number of
revisions.
⭐ The mechanism is tag shape, not angle brackets as such, and that distinction is what makes the
rule usable:
`<word>`in inline code`<`or`>`in inline code(<[^>]*>)?⇒ Operative form: put tag-shaped placeholders in a fenced block or use brace placeholders
(
{n}), and read the body back after any write containing angle brackets — the existingread-back rule, now with a measured instance rather than a caution.