New src/mail.rs, run by iris check after the access policy.
Fails (the run stops, as for any structural error):
a {placeholder} in a case mail that no form recording into the bucket collects and portal does not fill (email site chain bucket state) - portal would send it blank;
a {site}/path link to a page the site does not have;
a state that grants a group on a site with no mail.from - the account is made and its sign-in link reaches nobody;
mail.invite without {link}, or with a key the invite does not fill.
Warns:
a placeholder only some of the bucket's forms collect (blank for the others);
a dialogue that does not close: the person is mailed on the way in and not told when their case ends;
a mail telling a person their case is where they may act on it (a self_transition from that state) with no {chain} link.
Run over every live content repo: no FAIL anywhere, so this cannot break a site's CI when it ships. tomtervel gets two warnings, both real (hjelpebehov never tells the person it was not solved; husstander never tells a member they were unsubscribed). 14 tests.
New `src/mail.rs`, run by `iris check` after the access policy.
**Fails** (the run stops, as for any structural error):
- a `{placeholder}` in a case mail that no form recording into the bucket collects and portal does not fill (`email site chain bucket state`) - portal would send it blank;
- a `{site}/path` link to a page the site does not have;
- a state that `grants` a group on a site with no `mail.from` - the account is made and its sign-in link reaches nobody;
- `mail.invite` without `{link}`, or with a key the invite does not fill.
**Warns**:
- a placeholder only some of the bucket's forms collect (blank for the others);
- a dialogue that does not close: the person is mailed on the way in and not told when their case ends;
- a mail telling a person their case is where they may act on it (a `self_transition` from that state) with no `{chain}` link.
Run over every live content repo: no FAIL anywhere, so this cannot break a site's CI when it ships. tomtervel gets two warnings, both real (`hjelpebehov` never tells the person it was not solved; `husstander` never tells a member they were unsubscribed). 14 tests.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
A mail is read alone, by a person who cannot ask what a blank means,
and portal renders an unknown {key} as nothing and sends a dead link as
readily as a live one. iris check now fails on a placeholder no form in
the bucket collects and portal does not fill, on a {site}/path link to
a page the site does not have, on a state that grants a group on a site
with no mail sender (the sign-in link would reach nobody), and on an
invite mail without {link} or with a key the invite cannot fill. It
warns on a placeholder only some forms collect, on a dialogue that does
not close (mailed on the way in, not told how it ended), and on a mail
that tells a person they may now act on their case without their link.
No FAIL on any live content repo (uhhm, redoal, westra, klingenbergbygg,
tomtervel); tomtervel gets two warnings, both real.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Found by the trainer's first mail rewording: 'We'll take on {project}'
puts the whole brief in the inbox list.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Found the same way: 'your brief for {organization}, {org_contact}' with
the contact optional reads ', .' for most people.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
New
src/mail.rs, run byiris checkafter the access policy.Fails (the run stops, as for any structural error):
{placeholder}in a case mail that no form recording into the bucket collects and portal does not fill (email site chain bucket state) - portal would send it blank;{site}/pathlink to a page the site does not have;grantsa group on a site with nomail.from- the account is made and its sign-in link reaches nobody;mail.invitewithout{link}, or with a key the invite does not fill.Warns:
self_transitionfrom that state) with no{chain}link.Run over every live content repo: no FAIL anywhere, so this cannot break a site's CI when it ships. tomtervel gets two warnings, both real (
hjelpebehovnever tells the person it was not solved;husstandernever tells a member they were unsubscribed). 14 tests.🤖 Generated with Claude Code
A mail is read alone, by a person who cannot ask what a blank means, and portal renders an unknown {key} as nothing and sends a dead link as readily as a live one. iris check now fails on a placeholder no form in the bucket collects and portal does not fill, on a {site}/path link to a page the site does not have, on a state that grants a group on a site with no mail sender (the sign-in link would reach nobody), and on an invite mail without {link} or with a key the invite cannot fill. It warns on a placeholder only some forms collect, on a dialogue that does not close (mailed on the way in, not told how it ended), and on a mail that tells a person they may now act on their case without their link. No FAIL on any live content repo (uhhm, redoal, westra, klingenbergbygg, tomtervel); tomtervel gets two warnings, both real. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Found by the trainer's first mail rewording: 'We'll take on {project}' puts the whole brief in the inbox list. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>Found the same way: 'your brief for {organization}, {org_contact}' with the contact optional reads ', .' for most people. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.