fix(mentions): a person is named in prose, so narrow what may precede a name #498
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!498
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/a-person-is-named-in-prose"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
closes #494
Three patches in three hours for one defect — #465 (links), #479 (markup), #481 (dotted identifiers). All correct. All one layer above the cause.
The cause
[^\w<@]admits any non-word character. A dot, slash, colon, hyphen. So a name matched inside anything that is not prose, and every structure containing name-shaped text needed its own exception.The rule
A person is named in prose, and in prose a name follows whitespace, an opening bracket, or the start of the reply.
Two tests assert this against the lead directly rather than through the resolver, so they show the narrowing is doing the work rather than the exceptions catching it afterwards.
The exceptions stay
They are tested, they carry corpora worth keeping, and they are now defence in depth rather than the defence. All three corpora pass unmodified — they are the regression suite for this change.
Disclosure
I wrote one of the three exceptions. I filed this rather than claiming it, then took it when it had sat uncommented while the class kept producing defects. The merge gate is the second opinion I wanted.
ward exec gategreen: build, policy-check, vet, test, test-skips, pre-commit.36d46a169e174319dc51213f9380da7b8291d2517b8291d251f6cde4516a