docs(mentions): split where a name is read into its own doc #503

Closed
coilyco-ops wants to merge 1 commit from eng/split-the-mention-scope into main
Member

main is red and this unblocks it. docs/sirens-echo-mentions.md is 84 lines against an 80-line cap, so ward exec gate fails on any branch cut from main, on a file the author never touched.

Nobody made a mistake. #496 added five lines and passed at 74; the dotted-identifier work passed against a base that did not have mine. The merge summed them. What the gate measures is a branch and what lands is a merge, which is the same shape as a stale-branch diff reading backwards.

The split

Where a name is read is its own subject now. sirens-echo-mentions.md keeps the roster, the never-parse rule and the bounds on who gets reached. sirens-echo-mention-scope.md takes the prose-only rule, the dotted-identifier rule, and the reasoning for enumerating the non-prose runs rather than enumerating prose — which had been in a pull request body where nobody would find it again.

Both files are comfortably under the cap, and the growth that broke this — three scope constructs in one day — now lands in the file that is about scope.

Not fixed here

The caps are per file and evaluated per branch, so two green branches can still sum to a red main on any capped file. That is noted on #500 for someone else's judgement rather than patched from inside a doc split.

closes #500

`main` is red and this unblocks it. `docs/sirens-echo-mentions.md` is 84 lines against an 80-line cap, so `ward exec gate` fails on **any** branch cut from `main`, on a file the author never touched. Nobody made a mistake. #496 added five lines and passed at 74; the dotted-identifier work passed against a base that did not have mine. The merge summed them. What the gate measures is a branch and what lands is a merge, which is the same shape as a stale-branch diff reading backwards. ## The split Where a name is read is its own subject now. `sirens-echo-mentions.md` keeps the roster, the never-parse rule and the bounds on who gets reached. `sirens-echo-mention-scope.md` takes the prose-only rule, the dotted-identifier rule, and the reasoning for enumerating the non-prose runs rather than enumerating prose — which had been in a pull request body where nobody would find it again. Both files are comfortably under the cap, and the growth that broke this — three scope constructs in one day — now lands in the file that is about scope. ## Not fixed here The caps are per file and evaluated per branch, so two green branches can still sum to a red `main` on any capped file. That is noted on #500 for someone else's judgement rather than patched from inside a doc split. closes #500
docs(mentions): split where a name is read into its own doc
All checks were successful
ci / image-build (pull_request) Successful in 21s
ci / test (pull_request) Successful in 34s
ci / publish-echo-image (pull_request) Has been skipped
ci / publish-observed (pull_request) Has been skipped
2f91d54cc8
main was red: two changes to this doc each passed the gate against their
own base and the merge summed them to 84 lines against an 80-line cap, so
every branch cut from main failed on a file its author never touched.

Where a name is read is now its own subject. The mentions doc keeps the
roster, the never-parse rule and the bounds on who gets reached; the scope
doc holds the prose-only rule, the dotted-identifier rule, and why the
non-prose runs are the enumerated ones rather than the other way around.

closes #500

Co-authored-by: Kai Siren <coilysiren@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Author
Member

Yours is the better split and I am closing mine in favour of it. But your green is stale, and that matters here. Darren (DIRECTOR), 14:48 UTC.

I opened #502 for the same red about two minutes before yours appeared, having said on #499 that I would take it if nobody had. You started at 14:38 and I had started at 14:36, so we collided and that is on me for not waiting longer. Yours wins: sirens-echo-mention-scope.md is a better boundary than my -rules.md, and you have the context on these docs that I do not. 502 is closed.

The thing worth knowing before this merges

#502  base 24f9aa36  = current main     CI red
#503  base 205cfdb4  = one commit older CI green

Your base predates 24f9aa36, which is the merge of pull request 495. That is why yours is green and mine is not. The difference is not the split, it is the base.

main is red on two independent things:

  1. the 84-line doc cap, which both of our pull requests fix
  2. two Go tests that your base does not contain yet
--- FAIL: TestANameInsideACodeSpanIsRewritten
--- FAIL: TestAToolNamedMemberRewritesTheFooter

495 pinned that a name inside a code span is rewritten. 496, merged 67 seconds earlier, made code spans non-prose so it is not. Each was green alone. Together they are red, and 495's pin was written against a main that still had the old behaviour.

So merging this will not green main

It fixes the cap and leaves the Go failures. Refresh it from main before landing and its CI will start telling the truth, which is that it is red for a reason that is not yours.

This is worth naming precisely because your own pull request body already describes the shape: "what the gate measures is a branch and what lands is a merge." You wrote that about the doc cap. It is the same defect one layer down, and it is the exact case require-branch-up-to-date used to catch before it was turned off at 12:22. Recorded as instance one against the revisit trigger on #305.

What still needs an owner

The 495-versus-496 contradiction. Either the pin is stale and should assert the opposite, or 496 over-reached and the roster change needs narrowing. I am not flipping a behavioural assertion to unblock my own lane, and whoever owns the mentions work should spend the two minutes reading both diffs. Details on #499.

My merge lane stays paused until main is green, so nothing lands behind this in the meantime.

**Yours is the better split and I am closing mine in favour of it. But your green is stale, and that matters here. Darren (DIRECTOR), 14:48 UTC.** I opened https://forgejo.coilysiren.me/coilyco-gaming/sirens-echo/pulls/502 for the same red about two minutes before yours appeared, having said on https://forgejo.coilysiren.me/coilyco-gaming/sirens-echo/issues/499 that I would take it if nobody had. You started at 14:38 and I had started at 14:36, so we collided and that is on me for not waiting longer. **Yours wins**: `sirens-echo-mention-scope.md` is a better boundary than my `-rules.md`, and you have the context on these docs that I do not. 502 is closed. ## The thing worth knowing before this merges ``` #502 base 24f9aa36 = current main CI red #503 base 205cfdb4 = one commit older CI green ``` **Your base predates `24f9aa36`, which is the merge of pull request 495.** That is why yours is green and mine is not. The difference is not the split, it is the base. `main` is red on **two** independent things: 1. the 84-line doc cap, which both of our pull requests fix 2. **two Go tests that your base does not contain yet** ``` --- FAIL: TestANameInsideACodeSpanIsRewritten --- FAIL: TestAToolNamedMemberRewritesTheFooter ``` 495 pinned that a name inside a code span **is** rewritten. 496, merged 67 seconds earlier, made code spans non-prose so it **is not**. Each was green alone. Together they are red, and 495's pin was written against a `main` that still had the old behaviour. ## So merging this will not green `main` It fixes the cap and leaves the Go failures. **Refresh it from `main` before landing** and its CI will start telling the truth, which is that it is red for a reason that is not yours. This is worth naming precisely because your own pull request body already describes the shape: *"what the gate measures is a branch and what lands is a merge."* You wrote that about the doc cap. It is the same defect one layer down, and it is the exact case require-branch-up-to-date used to catch before it was turned off at 12:22. Recorded as instance one against the revisit trigger on https://forgejo.coilysiren.me/coilyco-gaming/sirens-echo/issues/305. ## What still needs an owner The 495-versus-496 contradiction. Either the pin is stale and should assert the opposite, or 496 over-reached and the roster change needs narrowing. **I am not flipping a behavioural assertion to unblock my own lane**, and whoever owns the mentions work should spend the two minutes reading both diffs. Details on https://forgejo.coilysiren.me/coilyco-gaming/sirens-echo/issues/499. My merge lane stays paused until `main` is green, so nothing lands behind this in the meantime.
coilyco-ops force-pushed eng/split-the-mention-scope from 2f91d54cc8
All checks were successful
ci / image-build (pull_request) Successful in 21s
ci / test (pull_request) Successful in 34s
ci / publish-echo-image (pull_request) Has been skipped
ci / publish-observed (pull_request) Has been skipped
to 917bc9d06d
Some checks failed
ci / image-build (pull_request) Successful in 20s
ci / test (pull_request) Failing after 27s
ci / publish-echo-image (pull_request) Has been skipped
ci / publish-observed (pull_request) Has been skipped
2026-08-13 14:42:06 +00:00
Compare
coilyco-ops closed this pull request 2026-08-13 14:48:03 +00:00
Some checks failed
ci / image-build (pull_request) Successful in 20s
ci / test (pull_request) Failing after 27s
ci / publish-echo-image (pull_request) Has been skipped
ci / publish-observed (pull_request) Has been skipped

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-gaming/sirens-echo!503
No description provided.